From 0b9aa61a56ffeb163b248d07e11fc6304f9e2cfb Mon Sep 17 00:00:00 2001 From: Anna Lyons <anna@gh.st> Date: Wed, 24 Jul 2019 11:49:23 +1000 Subject: [PATCH] arm,gic: refactor constants into gic_common.h Move common definitions from gic_v2.h and gic_v3.h into gic_common.h --- include/arch/arm/arch/machine/gic_common.h | 15 +++++++++++++++ include/arch/arm/arch/machine/gic_v2.h | 16 ---------------- include/arch/arm/arch/machine/gic_v3.h | 8 -------- 3 files changed, 15 insertions(+), 24 deletions(-) diff --git a/include/arch/arm/arch/machine/gic_common.h b/include/arch/arm/arch/machine/gic_common.h index 81c4d493e..2c344d2cf 100644 --- a/include/arch/arm/arch/machine/gic_common.h +++ b/include/arch/arm/arch/machine/gic_common.h @@ -20,6 +20,21 @@ #define GICD_SGIR_CPUTARGETLIST_SHIFT 16 #define GICD_SGIR_TARGETLISTFILTER_SHIFT 24 +/* Special IRQ's */ +#define SPECIAL_IRQ_START 1020u +#define IRQ_NONE 1023u + +/* CPU specific IRQ's */ +#define SGI_START 0u +#define PPI_START 16u + +/* Shared Peripheral Interrupts */ +#define SPI_START 32u + +/* Setters/getters helpers for hardware irqs */ +#define IRQ_REG(IRQ) ((IRQ) >> 5u) +#define IRQ_BIT(IRQ) ((IRQ) & 0x1f) +#define IS_IRQ_VALID(X) (((X) & IRQ_MASK) < SPECIAL_IRQ_START) typedef uint16_t interrupt_t; typedef uint16_t irq_t; diff --git a/include/arch/arm/arch/machine/gic_v2.h b/include/arch/arm/arch/machine/gic_v2.h index fed9d96c5..918e10313 100644 --- a/include/arch/arm/arch/machine/gic_v2.h +++ b/include/arch/arm/arch/machine/gic_v2.h @@ -25,23 +25,7 @@ #include "gic_common.h" -/* CPU specific IRQ's */ -#define SGI_START 0u -#define PPI_START 16u - -/* Shared Peripheral Interrupts */ -#define SPI_START 32u - -/* Special IRQ's */ -#define SPECIAL_IRQ_START 1020u -#define IRQ_NONE 1023u - -/* Setters/getters helpers */ -#define IRQ_REG(IRQ) ((IRQ) >> 5u) -#define IRQ_BIT(IRQ) ((IRQ) & 0x1f) #define IRQ_MASK MASK(10u) -#define IS_IRQ_VALID(X) (((X) & IRQ_MASK) < SPECIAL_IRQ_START) - #define NUM_PPI 32 #define HW_IRQ_IS_PPI(irq) ((irq) < NUM_PPI) #define IRQ_IS_PPI(irq) ((irq) < NUM_PPI*CONFIG_MAX_NUM_NODES) diff --git a/include/arch/arm/arch/machine/gic_v3.h b/include/arch/arm/arch/machine/gic_v3.h index 68ac0e574..cf3975004 100644 --- a/include/arch/arm/arch/machine/gic_v3.h +++ b/include/arch/arm/arch/machine/gic_v3.h @@ -30,10 +30,6 @@ #include "gic_common.h" -/* Special IRQ's */ -#define SPECIAL_IRQ_START 1020u -#define IRQ_NONE 1023u - #define NR_GIC_LOCAL_IRQS 32 #define NR_GIC_SGI 16 @@ -47,11 +43,7 @@ #define GIC_PRI_IRQ 0xa0 #define GIC_PRI_HIGHEST 0x80 /* Higher priorities belong to Secure-World */ -/* Setters/getters helpers */ -#define IRQ_REG(IRQ) ((IRQ) >> 5u) -#define IRQ_BIT(IRQ) ((IRQ) & 0x1f) #define IRQ_MASK MASK(16u) -#define IS_IRQ_VALID(X) (((X) & IRQ_MASK) < SPECIAL_IRQ_START) /* Register bits */ #define GICD_CTL_ENABLE 0x1 -- GitLab