xref: /haiku/src/system/kernel/arch/arm/arch_int_gicv2.h (revision 9f3bdf3d039430b5172c424def20ce5d9f7367d4)
1 /*
2  * Copyright 2021 Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef ARCH_ARM_GICV2_H
6 #define ARCH_ARM_GICV2_H
7 
8 #include <SupportDefs.h>
9 
10 #include "soc.h"
11 
12 class GICv2InterruptController : public InterruptController {
13 public:
14 	GICv2InterruptController(uint32_t gicd_regs = 0, uint32_t gicc_regs = 0);
15 	void EnableInterrupt(int32 irq);
16 	void DisableInterrupt(int32 irq);
17 	void HandleInterrupt();
18 private:
19 	volatile uint32_t *fGicdRegs;
20 	volatile uint32_t *fGiccRegs;
21 };
22 
23 #endif /* ARCH_ARM_GICV2_H */
24