2 Copyright © 2012, The AROS Development Team. All rights reserved.
8 These routines are the core of the m68k scheduling system
11 #include "aros/m68k/asm.h"
15 .globl AROS_SLIB_ENTRY(ExitIntr,Exec,6)
17 .func AROS_SLIB_ENTRY(ExitIntr,Exec,6)
18 AROS_SLIB_ENTRY(ExitIntr,Exec,6):
19 /* At this point, %d0-%d1/%a0-%a1/%a5-%a6 are on
20 * the stack, followed by SR, PC, and an exception frame
23 /* If we are returning to supervisor mode, just do it.
24 * %sp@(4*6) is the SR from the RTE.
25 * We want to test bit 12 (0x2000) of the SR.
26 * But BTST only tests a byte. Therefore, we
27 * only need to test bit 5 (0x20) of the upper
28 * byte of SR, which is at %sp@(4*6)
34 * Determine whether we need to call the Scheduler
41 movem.l %sp@+,%d0-%d1/%a0-%a1/%a5-%a6