1 #include <aros/ppc/asm.h>
2 #include <aros/config.h>
6 .globl AROS_SLIB_ENTRY(StackSwap, Exec, 122)
7 .type AROS_SLIB_ENTRY(StackSwap, Exec, 122), @function
12 AROS_SLIB_ENTRY(StackSwap, Exec, 122):
26 lwz %r11,Disable(SysBase)
31 lwz %r3,ThisTask(SysBase)
33 lwz %r4,tc_SPLower(%r3)
34 lwz %r5,stk_Lower(SSS)
35 stw %r4,stk_Lower(SSS)
36 stw %r5,tc_SPLower(%r3)
38 lwz %r4,tc_SPUpper(%r3)
39 lwz %r5,stk_Upper(SSS)
40 stw %r4,stk_Upper(SSS)
41 stw %r5,tc_SPUpper(%r3)
43 lwz %r4,stk_Pointer(SSS)
45 stw %r11,stk_Pointer(SSS)
48 lwz %r11,Enable(SysBase)
53 lwz %r3,stk_Pointer(SSS)