[PATCH v3 4/9] irqchip: arm-gic: Define additional MMIO offsets and masks

Marc Zyngier marc.zyngier at arm.com
Mon Dec 9 10:40:50 EST 2013


On 2013-11-17 04:30, Christoffer Dall wrote:
> Define CPU interface offsets for the GICC_ABPR, GICC_APR, and 
> GICC_IIDR
> registers.  Define distributor registers for the GICD_SPENDSGIR and 
> the
> GICD_CPENDSGIR.  KVM/ARM needs to know about these definitions to 
> fully
> support save/restore of the VGIC.
>
> Also define some masks and shifts for the various GICH_VMCR fields.
>
> Cc: Thomas Gleixner <tglx at linutronix.de>
> Signed-off-by: Christoffer Dall <christoffer.dall at linaro.org>

Acked-by: Marc Zyngier <marc.zyngier at arm.com>

> ---
>  include/linux/irqchip/arm-gic.h |   14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/include/linux/irqchip/arm-gic.h
> b/include/linux/irqchip/arm-gic.h
> index 0e5d9ec..28b28fc 100644
> --- a/include/linux/irqchip/arm-gic.h
> +++ b/include/linux/irqchip/arm-gic.h
> @@ -17,6 +17,9 @@
>  #define GIC_CPU_EOI			0x10
>  #define GIC_CPU_RUNNINGPRI		0x14
>  #define GIC_CPU_HIGHPRI			0x18
> +#define GIC_CPU_ALIAS_BINPOINT		0x1c
> +#define GIC_CPU_ACTIVEPRIO		0xd0
> +#define GIC_CPU_IDENT			0xfc
>
>  #define GIC_DIST_CTRL			0x000
>  #define GIC_DIST_CTR			0x004
> @@ -31,6 +34,8 @@
>  #define GIC_DIST_TARGET			0x800
>  #define GIC_DIST_CONFIG			0xc00
>  #define GIC_DIST_SOFTINT		0xf00
> +#define GIC_DIST_SGI_CLEAR		0xf10
> +#define GIC_DIST_SGI_SET		0xf20
>
>  #define GICH_HCR			0x0
>  #define GICH_VTR			0x4
> @@ -54,6 +59,15 @@
>  #define GICH_LR_ACTIVE_BIT		(1 << 29)
>  #define GICH_LR_EOI			(1 << 19)
>
> +#define GICH_VMCR_CTRL_SHIFT		0
> +#define GICH_VMCR_CTRL_MASK		(0x21f << GICH_VMCR_CTRL_SHIFT)
> +#define GICH_VMCR_PRIMASK_SHIFT		27
> +#define GICH_VMCR_PRIMASK_MASK		(0x1f << GICH_VMCR_PRIMASK_SHIFT)
> +#define GICH_VMCR_BINPOINT_SHIFT	21
> +#define GICH_VMCR_BINPOINT_MASK		(0x7 << GICH_VMCR_BINPOINT_SHIFT)
> +#define GICH_VMCR_ALIAS_BINPOINT_SHIFT	18
> +#define GICH_VMCR_ALIAS_BINPOINT_MASK	(0x7 <<
> GICH_VMCR_ALIAS_BINPOINT_SHIFT)
> +
>  #define GICH_MISR_EOI			(1 << 0)
>  #define GICH_MISR_U			(1 << 1)

-- 
Fast, cheap, reliable. Pick two.



More information about the linux-arm-kernel mailing list