diff --git a/include/arch/arm/arch/machine/gic_common.h b/include/arch/arm/arch/machine/gic_common.h index 81c4d493eda3f642b8e1a10f0be3fdbffdc4d484..2c344d2cff531e43929ba01c9d7bc2f2a80d9e49 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 fed9d96c555192c02c1545a215072a0e1a57fd83..918e10313185cc93bdf16dda775e341e91f8f106 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 68ac0e5744250eaeaaa5908492c7aad1c47456fd..cf3975004d5a3c04dbfa59983b9b815d765b9855 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