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 12class GICv2InterruptController : public InterruptController { 13public: 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(); 18private: 19 volatile uint32_t *fGicdRegs; 20 volatile uint32_t *fGiccRegs; 21}; 22 23#endif /* ARCH_ARM_GICV2_H */ 24