2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 /*****************************************************************************
10 AROS_LH0(void, Enable,
13 struct ExecBase *, SysBase, 21, Exec)
16 This function reenables the delivery of interrupts after a call to
24 This function preserves all registers.
26 This function may be used from interrupts.
33 Forbid(), Permit(), Disable()
39 ******************************************************************************/
49 .globl AROS_SLIB_ENTRY(Enable,Exec)
50 .type AROS_SLIB_ENTRY(Enable,Exec),@function
51 AROS_SLIB_ENTRY
(Enable
,Exec
):
52 /* decrement nesting count and return if there are Disable()s left */
56 lbz scr
,IDNestCnt
(base
)
58 stw scr
,IDNestCnt
(base
)
62 jsrlvo Supervisor
,base
63 /* we should come back here from _disab */
64 /* enable Amiga chipset interrupts */
68 /* return if there are no delayed switches pending. */
69 lwz scr
,AttnResched+
1(base
)
73 /* if TDNestCnt is not -1 taskswitches are still forbidden */
74 lwz scr
,TDNestCnt
(base
)
78 /* Unset delayed switch bit and do the delayed switch */