ARM: gic: define GICH offsets for VGIC support
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 22 Jan 2013 00:36:11 +0000 (19:36 -0500)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 11 Feb 2013 18:58:23 +0000 (18:58 +0000)
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>
include/linux/irqchip/arm-gic.h

index 9509e87..ef61d80 100644 (file)
 #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;