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