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