2 #include <exec/libraries.h>
3 #include <aros/asmcall.h>
5 #include <hardware/cia.h>
7 #include "cia_intern.h"
9 AROS_INTH1(Cia_Handler
, struct CIABase
*, CiaBase
)
15 CiaBase
->active_mask
|= CiaBase
->hw
->ciaicr
& 0x1f;
16 mask
= CiaBase
->enable_mask
& CiaBase
->active_mask
;
20 CiaBase
->executing_mask
= mask
;
21 CiaBase
->active_mask
&= ~mask
;
22 for (i
= 0; i
< VECTORS_NUM
; i
++) {
23 if (mask
& (1 << i
)) {
24 struct Interrupt
*ciaint
= CiaBase
->Vectors
[i
];
26 AROS_INTC1(ciaint
->is_Code
, ciaint
->is_Data
);
30 CiaBase
->executing_mask
= 0;