Test initialisation of MUIA_List_AdjustWidth and MUIA_List_AdjustHeight, and
[AROS.git] / arch / .unmaintained / arm-all / exec / superstate.S
blobf7f80814f0b3c7c5d124afef964422d35eaa343a
1 /*
2     Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3     $Id$
4 */
6 /*****************************************************************************
7  
8     NAME
9  
10         AROS_LH0(ULONG, SuperState,
12     LOCATION
13         struct ExecBase *, SysBase, 25, Exec)
15     FUNCTION
16         Enter supervisor mode (like Supervisor()), but return on the user
17         stack. This will mean that the user stack variables are still there.
18         A call to UserState() will end this mode.
20     INPUTS
21         None.
23     RESULT
24         The old supervisor stack. This must be passed to UserState(). If the
25         processor was already in supervisor mode, then this function will
26         return NULL. In that case do NOT call UserState().
28     NOTES
29         This is not a good function to use, it has limited scope, and will
30         probably be even less useful in the future.
32     EXAMPLE
34     BUGS
35         You can easily cause your system to cease operating normally.
37     SEE ALSO
38         Supervisor(), UserState()
40     INTERNALS
41         For extra details see Supervisor().
43     HISTORY
45 ******************************************************************************/
47         .align 4
48         .globl Exec_SuperState
49 Exec_SuperState:
50         mov     ip, sp
51         stmfd   sp!, {r4, fp, ip, lr, pc}
52         sub     fp, ip, #4
54         mov     r4, r0
56         mov     r0, #0          // 1st param
57         mov     r1, r0          // 2nd param
58         move    r2, r4          // SysBase
59         mov     lr, pc
60         ldr     pc, [r4, #-96]  // call SetSR
62         // check whether I am already in superstate?
64         // I am already in superstate!
65         ldmea   fp, {r4, fp, sp, pc}
67 goon:   
69         .align 4
70         .globl _sys_SuperState
71 _sys_SuperState: