2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
5 Desc: SuperState() - Switch the processor into a higher plane.
9 /*****************************************************************************
12 #include <proto/exec.h>
13 #include <asm/amcc440.h>
15 AROS_LH0(APTR
, SuperState
,
18 struct ExecBase
*, SysBase
, 25, Exec
)
21 Enter supervisor mode (like Supervisor()), but return on the user
22 stack. This will mean that the user stack variables are still there.
23 A call to UserState() will end this mode.
29 The old supervisor stack. This must be passed to UserState(). If the
30 processor was already in supervisor mode, then this function will
31 return NULL. In that case do NOT call UserState().
34 This is not a good function to use, it has limited scope, and will
35 probably be even less useful in the future.
40 You can easily cause your system to cease operating normally.
43 Supervisor(), UserState()
46 For extra details see Supervisor().
48 ******************************************************************************/
52 asm volatile("li %%r3,%0; sc"::"i"(6 /*SC_SUPERSTATE*/):"memory","r3");
54 /* We have to return something. NULL is an invalid address for a
55 stack, so it could be used to say that this function does