xref: /linux/include/linux/irqchip/arm-gic-common.h (revision 502d6df11ae394301470703fa6e485a0dc133401)
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