1*502d6df1SJulien Grall /* 2*502d6df1SJulien Grall * include/linux/irqchip/arm-gic-common.h 3*502d6df1SJulien Grall * 4*502d6df1SJulien Grall * Copyright (C) 2016 ARM Limited, All Rights Reserved. 5*502d6df1SJulien Grall * 6*502d6df1SJulien Grall * This program is free software; you can redistribute it and/or modify 7*502d6df1SJulien Grall * it under the terms of the GNU General Public License version 2 as 8*502d6df1SJulien Grall * published by the Free Software Foundation. 9*502d6df1SJulien Grall */ 10*502d6df1SJulien Grall #ifndef __LINUX_IRQCHIP_ARM_GIC_COMMON_H 11*502d6df1SJulien Grall #define __LINUX_IRQCHIP_ARM_GIC_COMMON_H 12*502d6df1SJulien Grall 13*502d6df1SJulien Grall #include <linux/types.h> 14*502d6df1SJulien Grall #include <linux/ioport.h> 15*502d6df1SJulien Grall 16*502d6df1SJulien Grall enum gic_type { 17*502d6df1SJulien Grall GIC_V2, 18*502d6df1SJulien Grall }; 19*502d6df1SJulien Grall 20*502d6df1SJulien Grall struct gic_kvm_info { 21*502d6df1SJulien Grall /* GIC type */ 22*502d6df1SJulien Grall enum gic_type type; 23*502d6df1SJulien Grall /* Virtual CPU interface */ 24*502d6df1SJulien Grall struct resource vcpu; 25*502d6df1SJulien Grall /* Interrupt number */ 26*502d6df1SJulien Grall unsigned int maint_irq; 27*502d6df1SJulien Grall /* Virtual control interface */ 28*502d6df1SJulien Grall struct resource vctrl; 29*502d6df1SJulien Grall }; 30*502d6df1SJulien Grall 31*502d6df1SJulien Grall const struct gic_kvm_info *gic_get_kvm_info(void); 32*502d6df1SJulien Grall 33*502d6df1SJulien Grall #endif /* __LINUX_IRQCHIP_ARM_GIC_COMMON_H */ 34