2020-06-30 13:54:02

by Zenghui Yu

[permalink] [raw]
Subject: [PATCH] irqchip/gic-v3: Remove the unused register definition

As per the GICv3 specification, GIC{D,R}_SEIR are not assigned and the
locations (0x0068) are actually Reserved. GICR_MOV{LPI,ALL}R are two IMP
DEF registers and might be defined by some specific micro-architecture,
Linux doesn't use them.

As they're not used anywhere in the kernel, just drop all of them.

Signed-off-by: Zenghui Yu <[email protected]>
---

Compile tested on top of mainline.

include/linux/irqchip/arm-gic-v3.h | 4 ----
1 file changed, 4 deletions(-)

diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h
index 6c36b6cc3edf..f6d092fdb93d 100644
--- a/include/linux/irqchip/arm-gic-v3.h
+++ b/include/linux/irqchip/arm-gic-v3.h
@@ -19,7 +19,6 @@
#define GICD_CLRSPI_NSR 0x0048
#define GICD_SETSPI_SR 0x0050
#define GICD_CLRSPI_SR 0x0058
-#define GICD_SEIR 0x0068
#define GICD_IGROUPR 0x0080
#define GICD_ISENABLER 0x0100
#define GICD_ICENABLER 0x0180
@@ -119,14 +118,11 @@
#define GICR_WAKER 0x0014
#define GICR_SETLPIR 0x0040
#define GICR_CLRLPIR 0x0048
-#define GICR_SEIR GICD_SEIR
#define GICR_PROPBASER 0x0070
#define GICR_PENDBASER 0x0078
#define GICR_INVLPIR 0x00A0
#define GICR_INVALLR 0x00B0
#define GICR_SYNCR 0x00C0
-#define GICR_MOVLPIR 0x0100
-#define GICR_MOVALLR 0x0110
#define GICR_IDREGS GICD_IDREGS
#define GICR_PIDR2 GICD_PIDR2

--
2.19.1


2020-06-30 16:21:12

by Marc Zyngier

[permalink] [raw]
Subject: Re: [PATCH] irqchip/gic-v3: Remove the unused register definition

On 2020-06-30 14:41, Zenghui Yu wrote:
> As per the GICv3 specification, GIC{D,R}_SEIR are not assigned and the
> locations (0x0068) are actually Reserved. GICR_MOV{LPI,ALL}R are two
> IMP
> DEF registers and might be defined by some specific micro-architecture,
> Linux doesn't use them.
>
> As they're not used anywhere in the kernel, just drop all of them.
>
> Signed-off-by: Zenghui Yu <[email protected]>

To be clear, those were actually present in the spec back in the days
(in the 2013 time frame). It just shows how the architecture evolved...

I'll queue this for 5.9.

Thanks,

M.

> ---
>
> Compile tested on top of mainline.
>
> include/linux/irqchip/arm-gic-v3.h | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/include/linux/irqchip/arm-gic-v3.h
> b/include/linux/irqchip/arm-gic-v3.h
> index 6c36b6cc3edf..f6d092fdb93d 100644
> --- a/include/linux/irqchip/arm-gic-v3.h
> +++ b/include/linux/irqchip/arm-gic-v3.h
> @@ -19,7 +19,6 @@
> #define GICD_CLRSPI_NSR 0x0048
> #define GICD_SETSPI_SR 0x0050
> #define GICD_CLRSPI_SR 0x0058
> -#define GICD_SEIR 0x0068
> #define GICD_IGROUPR 0x0080
> #define GICD_ISENABLER 0x0100
> #define GICD_ICENABLER 0x0180
> @@ -119,14 +118,11 @@
> #define GICR_WAKER 0x0014
> #define GICR_SETLPIR 0x0040
> #define GICR_CLRLPIR 0x0048
> -#define GICR_SEIR GICD_SEIR
> #define GICR_PROPBASER 0x0070
> #define GICR_PENDBASER 0x0078
> #define GICR_INVLPIR 0x00A0
> #define GICR_INVALLR 0x00B0
> #define GICR_SYNCR 0x00C0
> -#define GICR_MOVLPIR 0x0100
> -#define GICR_MOVALLR 0x0110
> #define GICR_IDREGS GICD_IDREGS
> #define GICR_PIDR2 GICD_PIDR2

--
Jazz is not dead. It just smells funny...

2020-06-30 18:57:11

by Marc Zyngier

[permalink] [raw]
Subject: Re: [PATCH] irqchip/gic-v3: Remove the unused register definition

On Tue, 30 Jun 2020 21:41:26 +0800, Zenghui Yu wrote:
> As per the GICv3 specification, GIC{D,R}_SEIR are not assigned and the
> locations (0x0068) are actually Reserved. GICR_MOV{LPI,ALL}R are two IMP
> DEF registers and might be defined by some specific micro-architecture,
> Linux doesn't use them.
>
> As they're not used anywhere in the kernel, just drop all of them.

Applied to irq/irqchip-5.9, thanks!

[1/1] irqchip/gic-v3: Remove unused register definition
commit: c15c35a83c01fb25a995fbc4f58fe499f0493813

Cheers,

M.
--
Without deviation from the norm, progress is not possible.