2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
5 Desc: Add interrupt client to chain of interrupt servers
8 #include <aros/config.h>
9 #include <exec/execbase.h>
10 #include <exec/interrupts.h>
12 #if (AROS_FLAVOUR & AROS_FLAVOUR_BINCOMPAT) && defined(mc68000)
13 #include <hardware/custom.h>
14 #include <hardware/intbits.h>
17 #include <proto/exec.h>
18 #include <aros/libcall.h>
20 /*****************************************************************************
24 AROS_LH2(void, AddIntServer
,
27 AROS_LHA(ULONG
, intNumber
, D0
),
28 AROS_LHA(struct Interrupt
*, interrupt
, A1
),
31 struct ExecBase
*, SysBase
, 28, Exec
)
40 This function also enables the corresponding chipset interrupt if
41 run on a native Amiga.
51 ******************************************************************************/
54 #if (AROS_FLAVOUR & AROS_FLAVOUR_BINCOMPAT) && defined(mc68000)
55 struct Custom
*custom
= (struct Custom
*)(void **)0xdff000;
60 Enqueue((struct List
*)SysBase
->IntVects
[intNumber
].iv_Data
, (struct Node
*)interrupt
);
62 #if (AROS_FLAVOUR & AROS_FLAVOUR_BINCOMPAT) && defined(mc68000)
64 Enable the chipset interrupt if run on a native Amiga.
66 custom
->intena
= (UWORD
)(INTF_SETCLR
|(1L<<intNumber
));