xref: /qemu/include/hw/intc/arm_gicv3.h (revision f4ef8c9cc10b3bee829b9775879d4ff9f77c2442)
156992670SShlomo Pongratz /*
256992670SShlomo Pongratz  * ARM Generic Interrupt Controller v3
356992670SShlomo Pongratz  *
456992670SShlomo Pongratz  * Copyright (c) 2015 Huawei.
556992670SShlomo Pongratz  * Copyright (c) 2016 Linaro Limited
656992670SShlomo Pongratz  * Written by Shlomo Pongratz, Peter Maydell
756992670SShlomo Pongratz  *
856992670SShlomo Pongratz  * This code is licensed under the GPL, version 2 or (at your option)
956992670SShlomo Pongratz  * any later version.
1056992670SShlomo Pongratz  */
1156992670SShlomo Pongratz 
1256992670SShlomo Pongratz #ifndef HW_ARM_GICV3_H
1356992670SShlomo Pongratz #define HW_ARM_GICV3_H
1456992670SShlomo Pongratz 
1556992670SShlomo Pongratz #include "arm_gicv3_common.h"
16db1015e9SEduardo Habkost #include "qom/object.h"
1756992670SShlomo Pongratz 
1856992670SShlomo Pongratz #define TYPE_ARM_GICV3 "arm-gicv3"
19db1015e9SEduardo Habkost typedef struct ARMGICv3Class ARMGICv3Class;
20*fa34a3c5SEduardo Habkost /* This is reusing the GICState typedef from TYPE_ARM_GICV3_COMMON */
21*fa34a3c5SEduardo Habkost DECLARE_OBJ_CHECKERS(GICv3State, ARMGICv3Class,
22*fa34a3c5SEduardo Habkost                      ARM_GICV3, TYPE_ARM_GICV3)
2356992670SShlomo Pongratz 
24db1015e9SEduardo Habkost struct ARMGICv3Class {
2556992670SShlomo Pongratz     /*< private >*/
2656992670SShlomo Pongratz     ARMGICv3CommonClass parent_class;
2756992670SShlomo Pongratz     /*< public >*/
2856992670SShlomo Pongratz 
2956992670SShlomo Pongratz     DeviceRealize parent_realize;
30db1015e9SEduardo Habkost };
3156992670SShlomo Pongratz 
3256992670SShlomo Pongratz #endif
33