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(int irq); 16 void DisableInterrupt(int 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