xref: /qemu/include/hw/intc/arm_gicv3.h (revision 56992670a45aa14637dafc145e9f9b68172efb13)
1*56992670SShlomo Pongratz /*
2*56992670SShlomo Pongratz  * ARM Generic Interrupt Controller v3
3*56992670SShlomo Pongratz  *
4*56992670SShlomo Pongratz  * Copyright (c) 2015 Huawei.
5*56992670SShlomo Pongratz  * Copyright (c) 2016 Linaro Limited
6*56992670SShlomo Pongratz  * Written by Shlomo Pongratz, Peter Maydell
7*56992670SShlomo Pongratz  *
8*56992670SShlomo Pongratz  * This code is licensed under the GPL, version 2 or (at your option)
9*56992670SShlomo Pongratz  * any later version.
10*56992670SShlomo Pongratz  */
11*56992670SShlomo Pongratz 
12*56992670SShlomo Pongratz #ifndef HW_ARM_GICV3_H
13*56992670SShlomo Pongratz #define HW_ARM_GICV3_H
14*56992670SShlomo Pongratz 
15*56992670SShlomo Pongratz #include "arm_gicv3_common.h"
16*56992670SShlomo Pongratz 
17*56992670SShlomo Pongratz #define TYPE_ARM_GICV3 "arm-gicv3"
18*56992670SShlomo Pongratz #define ARM_GICV3(obj) OBJECT_CHECK(GICv3State, (obj), TYPE_ARM_GICV3)
19*56992670SShlomo Pongratz #define ARM_GICV3_CLASS(klass) \
20*56992670SShlomo Pongratz      OBJECT_CLASS_CHECK(ARMGICv3Class, (klass), TYPE_ARM_GICV3)
21*56992670SShlomo Pongratz #define ARM_GICV3_GET_CLASS(obj) \
22*56992670SShlomo Pongratz      OBJECT_GET_CLASS(ARMGICv3Class, (obj), TYPE_ARM_GICV3)
23*56992670SShlomo Pongratz 
24*56992670SShlomo Pongratz typedef struct ARMGICv3Class {
25*56992670SShlomo Pongratz     /*< private >*/
26*56992670SShlomo Pongratz     ARMGICv3CommonClass parent_class;
27*56992670SShlomo Pongratz     /*< public >*/
28*56992670SShlomo Pongratz 
29*56992670SShlomo Pongratz     DeviceRealize parent_realize;
30*56992670SShlomo Pongratz } ARMGICv3Class;
31*56992670SShlomo Pongratz 
32*56992670SShlomo Pongratz #endif
33