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 enum gic_type {
17 	GIC_V2,
18 	GIC_V3,
19 };
20 
21 struct gic_kvm_info {
22 	/* GIC type */
23 	enum gic_type	type;
24 	/* Virtual CPU interface */
25 	struct resource vcpu;
26 	/* Interrupt number */
27 	unsigned int	maint_irq;
28 	/* Virtual control interface */
29 	struct resource vctrl;
30 	/* vlpi support */
31 	bool		has_v4;
32 };
33 
34 const struct gic_kvm_info *gic_get_kvm_info(void);
35 
36 #endif /* __LINUX_IRQCHIP_ARM_GIC_COMMON_H */
37