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 */
53 subq.
b #1,IDNestCnt(a6)
56 /* reenable interrupts */
57 move.w
#INTEN+SET,INTENA
59 /* return if there are no delayed switches pending. */
60 tst.
b AttnResched+
1(a6
)
63 /* if TDNestCnt is not -1 taskswitches are still forbidden */
67 /* Unset delayed switch bit and do the delayed switch */