treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
[sfrench/cifs-2.6.git] / include / linux / irqchip / arm-gic-common.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * include/linux/irqchip/arm-gic-common.h
4  *
5  * Copyright (C) 2016 ARM Limited, All Rights Reserved.
6  */
7 #ifndef __LINUX_IRQCHIP_ARM_GIC_COMMON_H
8 #define __LINUX_IRQCHIP_ARM_GIC_COMMON_H
9
10 #include <linux/types.h>
11 #include <linux/ioport.h>
12
13 #define GICD_INT_DEF_PRI                0xa0
14 #define GICD_INT_DEF_PRI_X4             ((GICD_INT_DEF_PRI << 24) |\
15                                         (GICD_INT_DEF_PRI << 16) |\
16                                         (GICD_INT_DEF_PRI << 8) |\
17                                         GICD_INT_DEF_PRI)
18
19 enum gic_type {
20         GIC_V2,
21         GIC_V3,
22 };
23
24 struct gic_kvm_info {
25         /* GIC type */
26         enum gic_type   type;
27         /* Virtual CPU interface */
28         struct resource vcpu;
29         /* Interrupt number */
30         unsigned int    maint_irq;
31         /* Virtual control interface */
32         struct resource vctrl;
33         /* vlpi support */
34         bool            has_v4;
35 };
36
37 const struct gic_kvm_info *gic_get_kvm_info(void);
38
39 #endif /* __LINUX_IRQCHIP_ARM_GIC_COMMON_H */