1*83728796SAndreas Färber /* 2*83728796SAndreas Färber * ARM GIC support 3*83728796SAndreas Färber * 4*83728796SAndreas Färber * Copyright (c) 2012 Linaro Limited 5*83728796SAndreas Färber * Written by Peter Maydell 6*83728796SAndreas Färber * 7*83728796SAndreas Färber * This program is free software; you can redistribute it and/or modify 8*83728796SAndreas Färber * it under the terms of the GNU General Public License as published by 9*83728796SAndreas Färber * the Free Software Foundation, either version 2 of the License, or 10*83728796SAndreas Färber * (at your option) any later version. 11*83728796SAndreas Färber * 12*83728796SAndreas Färber * This program is distributed in the hope that it will be useful, 13*83728796SAndreas Färber * but WITHOUT ANY WARRANTY; without even the implied warranty of 14*83728796SAndreas Färber * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*83728796SAndreas Färber * GNU General Public License for more details. 16*83728796SAndreas Färber * 17*83728796SAndreas Färber * You should have received a copy of the GNU General Public License along 18*83728796SAndreas Färber * with this program; if not, see <http://www.gnu.org/licenses/>. 19*83728796SAndreas Färber */ 20*83728796SAndreas Färber 21*83728796SAndreas Färber #ifndef HW_ARM_GIC_H 22*83728796SAndreas Färber #define HW_ARM_GIC_H 23*83728796SAndreas Färber 24*83728796SAndreas Färber #include "arm_gic_common.h" 25*83728796SAndreas Färber 26*83728796SAndreas Färber #define TYPE_ARM_GIC "arm_gic" 27*83728796SAndreas Färber #define ARM_GIC(obj) \ 28*83728796SAndreas Färber OBJECT_CHECK(GICState, (obj), TYPE_ARM_GIC) 29*83728796SAndreas Färber #define ARM_GIC_CLASS(klass) \ 30*83728796SAndreas Färber OBJECT_CLASS_CHECK(ARMGICClass, (klass), TYPE_ARM_GIC) 31*83728796SAndreas Färber #define ARM_GIC_GET_CLASS(obj) \ 32*83728796SAndreas Färber OBJECT_GET_CLASS(ARMGICClass, (obj), TYPE_ARM_GIC) 33*83728796SAndreas Färber 34*83728796SAndreas Färber typedef struct ARMGICClass { 35*83728796SAndreas Färber /*< private >*/ 36*83728796SAndreas Färber ARMGICCommonClass parent_class; 37*83728796SAndreas Färber /*< public >*/ 38*83728796SAndreas Färber 39*83728796SAndreas Färber DeviceRealize parent_realize; 40*83728796SAndreas Färber } ARMGICClass; 41*83728796SAndreas Färber 42*83728796SAndreas Färber #endif 43