2 Copyright © 1995-2014, The AROS Development Team. All rights reserved.
6 #include <exec/libraries.h>
7 #include <aros/asmcall.h>
9 #include <hardware/cia.h>
11 #include "cia_intern.h"
13 AROS_INTH1(Cia_Handler
, struct CIABase
*, CiaBase
)
19 CiaBase
->active_mask
|= CiaBase
->hw
->ciaicr
& 0x1f;
20 mask
= CiaBase
->enable_mask
& CiaBase
->active_mask
;
24 CiaBase
->executing_mask
= mask
;
25 CiaBase
->active_mask
&= ~mask
;
26 for (i
= 0; i
< VECTORS_NUM
; i
++) {
27 if (mask
& (1 << i
)) {
28 struct Interrupt
*ciaint
= CiaBase
->Vectors
[i
];
30 AROS_INTC1(ciaint
->is_Code
, ciaint
->is_Data
);
34 CiaBase
->executing_mask
= 0;