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