diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2013-01-21 19:36:11 -0500 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2013-02-11 18:58:23 +0000 |
commit | fdf77a72ec110572ac033d499c8be8b389c05740 (patch) | |
tree | 4271bc4d97c5f1aa4fc67abe9e9c889c893b5190 | |
parent | 7c7945a8f971e0b9cbdd7684ee106de768a0e474 (diff) | |
download | linux-fdf77a72ec110572ac033d499c8be8b389c05740.tar.gz linux-fdf77a72ec110572ac033d499c8be8b389c05740.tar.bz2 linux-fdf77a72ec110572ac033d499c8be8b389c05740.zip |
ARM: gic: define GICH offsets for VGIC support
The GICH_* constants are defined by the GIC HW spec, and even though
they only be used by KVM to begin with, define them generically in gic.h.
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
-rw-r--r-- | include/linux/irqchip/arm-gic.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/linux/irqchip/arm-gic.h b/include/linux/irqchip/arm-gic.h index 9509e8785cad..ef61d80946be 100644 --- a/include/linux/irqchip/arm-gic.h +++ b/include/linux/irqchip/arm-gic.h @@ -32,6 +32,31 @@ #define GIC_DIST_CONFIG 0xc00 #define GIC_DIST_SOFTINT 0xf00 +#define GICH_HCR 0x0 +#define GICH_VTR 0x4 +#define GICH_VMCR 0x8 +#define GICH_MISR 0x10 +#define GICH_EISR0 0x20 +#define GICH_EISR1 0x24 +#define GICH_ELRSR0 0x30 +#define GICH_ELRSR1 0x34 +#define GICH_APR 0xf0 +#define GICH_LR0 0x100 + +#define GICH_HCR_EN (1 << 0) +#define GICH_HCR_UIE (1 << 1) + +#define GICH_LR_VIRTUALID (0x3ff << 0) +#define GICH_LR_PHYSID_CPUID_SHIFT (10) +#define GICH_LR_PHYSID_CPUID (7 << GICH_LR_PHYSID_CPUID_SHIFT) +#define GICH_LR_STATE (3 << 28) +#define GICH_LR_PENDING_BIT (1 << 28) +#define GICH_LR_ACTIVE_BIT (1 << 29) +#define GICH_LR_EOI (1 << 19) + +#define GICH_MISR_EOI (1 << 0) +#define GICH_MISR_U (1 << 1) + struct device_node; extern struct irq_chip gic_arch_extn; |