Replace it with BSP_INTERRUPT_VECTOR_COUNT. This allows a default implementation which supports no interrupt vector at all.
Using COUNT instead of MAX may avoid some interpretation issues, for example is the maximum value a valid vector number or not. The change shows that BSP_INTERRUPT_VECTOR_MAX was a bit misleading since there was an off by one error in some BSPs. Update #3269. --- bsps/aarch64/a53/include/bsp/irq.h | 2 +- bsps/aarch64/a72/include/bsp/irq.h | 2 +- bsps/aarch64/xilinx-zynqmp/include/bsp/irq.h | 2 +- bsps/arm/altera-cyclone-v/include/bsp/irq.h | 3 ++- bsps/arm/atsam/include/bsp/irq.h | 2 +- bsps/arm/atsam/start/bspstart.c | 2 +- bsps/arm/beagle/include/bsp/irq.h | 2 +- bsps/arm/beagle/irq/irq.c | 2 +- bsps/arm/csb336/include/bsp/irq.h | 2 +- bsps/arm/csb337/include/bsp/irq.h | 2 +- bsps/arm/edb7312/include/bsp/irq.h | 2 +- bsps/arm/fvp/include/bsp/irq.h | 2 +- bsps/arm/gumstix/include/bsp/irq.h | 2 +- bsps/arm/imx/include/bsp/irq.h | 2 +- bsps/arm/imxrt/include/bsp/irq.h | 2 +- bsps/arm/lm3s69xx/include/bsp/irq.h | 2 +- bsps/arm/lpc176x/include/bsp/irq.h | 2 +- bsps/arm/lpc176x/irq/irq.c | 2 +- bsps/arm/lpc24xx/include/bsp/irq.h | 4 ++-- bsps/arm/lpc24xx/irq/irq.c | 4 ++-- bsps/arm/lpc32xx/include/bsp/irq.h | 4 ++-- bsps/arm/raspberrypi/include/bsp/irq.h | 4 ++-- bsps/arm/realview-pbx-a9/include/bsp/irq.h | 2 +- bsps/arm/rtl22xx/include/bsp/irq.h | 2 +- bsps/arm/shared/irq/irq-armv7m.c | 2 +- bsps/arm/shared/start/start.S | 2 +- bsps/arm/smdk2410/include/bsp/irq.h | 2 +- bsps/arm/stm32f4/include/bsp/irq.h | 2 +- bsps/arm/stm32h7/include/bsp/irq.h | 2 +- bsps/arm/tms570/include/bsp/irq.h | 2 +- bsps/arm/tms570/irq/irq.c | 2 +- bsps/arm/xen/include/bsp/irq.h | 2 +- bsps/arm/xilinx-zynq/include/bsp/irq.h | 2 +- bsps/arm/xilinx-zynqmp/include/bsp/irq.h | 2 +- bsps/i386/include/bsp/irq.h | 2 +- bsps/include/bsp/irq-default.h | 2 +- bsps/include/bsp/irq-generic.h | 16 +++++++--------- bsps/lm32/include/bsp/irq.h | 2 +- bsps/m68k/genmcf548x/include/bsp/irq.h | 2 +- bsps/m68k/genmcf548x/irq/irq.c | 2 +- bsps/mips/csb350/include/bsp/irq.h | 2 +- bsps/mips/hurricane/include/bsp/irq.h | 2 +- bsps/mips/jmr3904/include/bsp/irq.h | 2 +- bsps/mips/malta/include/bsp/irq.h | 2 +- bsps/mips/rbtx4925/include/bsp/irq.h | 2 +- bsps/mips/rbtx4938/include/bsp/irq.h | 2 +- bsps/mips/shared/irq/irq.c | 2 +- bsps/or1k/generic_or1k/include/bsp/irq.h | 2 +- bsps/powerpc/gen5200/include/bsp/irq.h | 2 +- bsps/powerpc/gen83xx/include/bsp/irq.h | 2 +- bsps/powerpc/motorola_powerpc/include/bsp/irq.h | 2 +- bsps/powerpc/mpc55xxevb/include/bsp/irq.h | 2 +- bsps/powerpc/mpc8260ads/include/bsp/irq.h | 2 +- bsps/powerpc/psim/include/bsp/irq.h | 2 +- bsps/powerpc/qemuppc/include/bsp/irq.h | 2 +- bsps/powerpc/qoriq/include/bsp/irq.h | 4 ++-- bsps/powerpc/qoriq/irq/irq.c | 6 +++--- bsps/powerpc/t32mppc/include/bsp/irq.h | 2 +- bsps/powerpc/tqm8xx/include/bsp/irq.h | 2 +- bsps/powerpc/virtex/include/bsp/irq.h | 2 +- bsps/riscv/griscv/include/bsp/irq.h | 2 +- bsps/riscv/riscv/include/bsp/irq.h | 2 +- bsps/shared/irq/irq-generic.c | 2 +- bsps/shared/irq/irq-info.c | 2 +- bsps/shared/irq/irq-server.c | 2 +- bsps/sparc/erc32/include/bsp/irq.h | 3 +-- bsps/sparc/leon2/include/bsp/irq.h | 3 +-- bsps/sparc/leon3/include/bsp/irq.h | 9 +++------ bsps/sparc/shared/irq/irq-shared.c | 2 +- bsps/x86_64/include/bsp/irq.h | 2 +- testsuites/smptests/smpcapture02/init.c | 2 +- 71 files changed, 87 insertions(+), 93 deletions(-) diff --git a/bsps/aarch64/a53/include/bsp/irq.h b/bsps/aarch64/a53/include/bsp/irq.h index e1aebf5a22..b797408ca5 100644 --- a/bsps/aarch64/a53/include/bsp/irq.h +++ b/bsps/aarch64/a53/include/bsp/irq.h @@ -48,7 +48,7 @@ extern "C" { #endif /* __cplusplus */ -#define BSP_INTERRUPT_VECTOR_MAX 1023 +#define BSP_INTERRUPT_VECTOR_COUNT 1024 /* Interrupts vectors */ #define BSP_TIMER_VIRT_PPI 27 diff --git a/bsps/aarch64/a72/include/bsp/irq.h b/bsps/aarch64/a72/include/bsp/irq.h index 71076ed82a..c2e86ec0a9 100644 --- a/bsps/aarch64/a72/include/bsp/irq.h +++ b/bsps/aarch64/a72/include/bsp/irq.h @@ -48,7 +48,7 @@ extern "C" { #endif /* __cplusplus */ -#define BSP_INTERRUPT_VECTOR_MAX 1023 +#define BSP_INTERRUPT_VECTOR_COUNT 1024 /* Interrupts vectors */ #define BSP_TIMER_VIRT_PPI 27 diff --git a/bsps/aarch64/xilinx-zynqmp/include/bsp/irq.h b/bsps/aarch64/xilinx-zynqmp/include/bsp/irq.h index f12a4536b5..b67d7d0f8e 100644 --- a/bsps/aarch64/xilinx-zynqmp/include/bsp/irq.h +++ b/bsps/aarch64/xilinx-zynqmp/include/bsp/irq.h @@ -48,7 +48,7 @@ extern "C" { #endif /* __cplusplus */ -#define BSP_INTERRUPT_VECTOR_MAX 1023 +#define BSP_INTERRUPT_VECTOR_COUNT 1024 /* Interrupts vectors */ #define BSP_TIMER_VIRT_PPI 27 diff --git a/bsps/arm/altera-cyclone-v/include/bsp/irq.h b/bsps/arm/altera-cyclone-v/include/bsp/irq.h index d5470f9b4e..496645c23f 100644 --- a/bsps/arm/altera-cyclone-v/include/bsp/irq.h +++ b/bsps/arm/altera-cyclone-v/include/bsp/irq.h @@ -47,7 +47,8 @@ extern "C" { */ /* Use interrupt IDs as defined in alt_interrupt_common.h */ -#define BSP_INTERRUPT_VECTOR_MAX ALT_INT_INTERRUPT_RAM_ECC_UNCORRECTED_IRQ +#define BSP_INTERRUPT_VECTOR_COUNT \ + (ALT_INT_INTERRUPT_RAM_ECC_UNCORRECTED_IRQ + 1) /** @} */ diff --git a/bsps/arm/atsam/include/bsp/irq.h b/bsps/arm/atsam/include/bsp/irq.h index b6eac75042..e788570469 100644 --- a/bsps/arm/atsam/include/bsp/irq.h +++ b/bsps/arm/atsam/include/bsp/irq.h @@ -23,6 +23,6 @@ #include <rtems/irq-extension.h> #endif -#define BSP_INTERRUPT_VECTOR_MAX 64 +#define BSP_INTERRUPT_VECTOR_COUNT 64 #endif /* LIBBSP_ARM_ATSAM_ESV_70_IRQ_H */ diff --git a/bsps/arm/atsam/start/bspstart.c b/bsps/arm/atsam/start/bspstart.c index b463bab696..3f49779797 100644 --- a/bsps/arm/atsam/start/bspstart.c +++ b/bsps/arm/atsam/start/bspstart.c @@ -21,7 +21,7 @@ #include <chip.h> RTEMS_STATIC_ASSERT( - PERIPH_COUNT_IRQn <= BSP_INTERRUPT_VECTOR_MAX, + PERIPH_COUNT_IRQn <= BSP_INTERRUPT_VECTOR_COUNT, PERIPH_COUNT_IRQn ); diff --git a/bsps/arm/beagle/include/bsp/irq.h b/bsps/arm/beagle/include/bsp/irq.h index 9ecd6bc31e..a4e0addd4c 100644 --- a/bsps/arm/beagle/include/bsp/irq.h +++ b/bsps/arm/beagle/include/bsp/irq.h @@ -15,7 +15,7 @@ #include <rtems/irq.h> #include <rtems/irq-extension.h> -#define BSP_INTERRUPT_VECTOR_MAX 127 +#define BSP_INTERRUPT_VECTOR_COUNT 128 #endif /* ASM */ diff --git a/bsps/arm/beagle/irq/irq.c b/bsps/arm/beagle/irq/irq.c index 721703b87b..8e9294cae9 100644 --- a/bsps/arm/beagle/irq/irq.c +++ b/bsps/arm/beagle/irq/irq.c @@ -133,7 +133,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) } /* Mask all interrupts */ - for(i = 0; i <= BSP_INTERRUPT_VECTOR_MAX; i++) + for(i = 0; i < BSP_INTERRUPT_VECTOR_COUNT; i++) bsp_interrupt_vector_disable(i); /* Install generic interrupt handler */ diff --git a/bsps/arm/csb336/include/bsp/irq.h b/bsps/arm/csb336/include/bsp/irq.h index b9978242eb..4402a7d6a5 100644 --- a/bsps/arm/csb336/include/bsp/irq.h +++ b/bsps/arm/csb336/include/bsp/irq.h @@ -88,6 +88,6 @@ #define BSP_INT_WDT 63 #define BSP_MAX_INT 64 -#define BSP_INTERRUPT_VECTOR_MAX (BSP_MAX_INT - 1) +#define BSP_INTERRUPT_VECTOR_COUNT BSP_MAX_INT #endif /* __IRQ_H__ */ diff --git a/bsps/arm/csb337/include/bsp/irq.h b/bsps/arm/csb337/include/bsp/irq.h index 7d967b0ae0..6a60caad33 100644 --- a/bsps/arm/csb337/include/bsp/irq.h +++ b/bsps/arm/csb337/include/bsp/irq.h @@ -72,6 +72,6 @@ #define AT91RM9200_INT_IRQ6 31 #define AT91RM9200_MAX_INT 32 -#define BSP_INTERRUPT_VECTOR_MAX (AT91RM9200_MAX_INT - 1) +#define BSP_INTERRUPT_VECTOR_COUNT AT91RM9200_MAX_INT #endif /* __IRQ_H__ */ diff --git a/bsps/arm/edb7312/include/bsp/irq.h b/bsps/arm/edb7312/include/bsp/irq.h index ba167083d3..66a17b8dda 100644 --- a/bsps/arm/edb7312/include/bsp/irq.h +++ b/bsps/arm/edb7312/include/bsp/irq.h @@ -83,7 +83,7 @@ /** @} */ -#define BSP_INTERRUPT_VECTOR_MAX (BSP_MAX_INT - 1) +#define BSP_INTERRUPT_VECTOR_COUNT BSP_MAX_INT /** @} */ diff --git a/bsps/arm/fvp/include/bsp/irq.h b/bsps/arm/fvp/include/bsp/irq.h index d28f7a6db3..724ecdc9ab 100644 --- a/bsps/arm/fvp/include/bsp/irq.h +++ b/bsps/arm/fvp/include/bsp/irq.h @@ -40,6 +40,6 @@ #include <bspopts.h> -#define BSP_INTERRUPT_VECTOR_MAX (32 + BSP_ARM_SHARED_PERIPHERAL_INTERRUPT_COUNT) +#define BSP_INTERRUPT_VECTOR_COUNT (32 + BSP_ARM_SHARED_PERIPHERAL_INTERRUPT_COUNT) #endif /* LIBBSP_ARM_FVP_IRQ_H */ diff --git a/bsps/arm/gumstix/include/bsp/irq.h b/bsps/arm/gumstix/include/bsp/irq.h index f7d0ca72d5..af7832e92c 100644 --- a/bsps/arm/gumstix/include/bsp/irq.h +++ b/bsps/arm/gumstix/include/bsp/irq.h @@ -20,7 +20,7 @@ #include <pxa255.h> -#define BSP_INTERRUPT_VECTOR_MAX (PRIMARY_IRQS - 1) +#define BSP_INTERRUPT_VECTOR_COUNT PRIMARY_IRQS #endif /* __asm__ */ diff --git a/bsps/arm/imx/include/bsp/irq.h b/bsps/arm/imx/include/bsp/irq.h index 249b416387..000623aa43 100644 --- a/bsps/arm/imx/include/bsp/irq.h +++ b/bsps/arm/imx/include/bsp/irq.h @@ -26,7 +26,7 @@ extern "C" { #endif /* __cplusplus */ -#define BSP_INTERRUPT_VECTOR_MAX 159 +#define BSP_INTERRUPT_VECTOR_COUNT 160 #define BSP_INTERRUPT_VECTOR_INVALID (UINT32_MAX) #ifdef __cplusplus diff --git a/bsps/arm/imxrt/include/bsp/irq.h b/bsps/arm/imxrt/include/bsp/irq.h index 5e7fba0d33..6fcd055f03 100644 --- a/bsps/arm/imxrt/include/bsp/irq.h +++ b/bsps/arm/imxrt/include/bsp/irq.h @@ -43,7 +43,7 @@ extern "C" { #endif /* __cplusplus */ -#define BSP_INTERRUPT_VECTOR_MAX 159 +#define BSP_INTERRUPT_VECTOR_COUNT 160 #define BSP_INTERRUPT_VECTOR_INVALID (UINT32_MAX) #ifdef __cplusplus diff --git a/bsps/arm/lm3s69xx/include/bsp/irq.h b/bsps/arm/lm3s69xx/include/bsp/irq.h index 25df016b16..f342c1a361 100644 --- a/bsps/arm/lm3s69xx/include/bsp/irq.h +++ b/bsps/arm/lm3s69xx/include/bsp/irq.h @@ -101,6 +101,6 @@ #define LM3S69XX_IRQ_PRIORITY_LOWEST LM3S69XX_IRQ_PRIORITY_VALUE_MAX /* NOTE: for lm3s6965 - 43 */ -#define BSP_INTERRUPT_VECTOR_MAX 47 +#define BSP_INTERRUPT_VECTOR_COUNT 48 #endif /* LIBBSP_ARM_LM3S69XX_IRQ_H */ diff --git a/bsps/arm/lpc176x/include/bsp/irq.h b/bsps/arm/lpc176x/include/bsp/irq.h index 4757e19a62..7b9cbcbb72 100644 --- a/bsps/arm/lpc176x/include/bsp/irq.h +++ b/bsps/arm/lpc176x/include/bsp/irq.h @@ -68,7 +68,7 @@ #define LPC176X_IRQ_PWM 39U #define LPC176X_IRQ_EEPROM 40U -#define BSP_INTERRUPT_VECTOR_MAX 40 +#define BSP_INTERRUPT_VECTOR_COUNT 41 #define LPC176X_IRQ_PRIORITY_VALUE_MIN 0U diff --git a/bsps/arm/lpc176x/irq/irq.c b/bsps/arm/lpc176x/irq/irq.c index e05fd59e6c..a060401d0b 100644 --- a/bsps/arm/lpc176x/irq/irq.c +++ b/bsps/arm/lpc176x/irq/irq.c @@ -38,7 +38,7 @@ */ static inline bool lpc176x_irq_is_valid( const rtems_vector_number vector ) { - return vector <= BSP_INTERRUPT_VECTOR_MAX; + return vector < BSP_INTERRUPT_VECTOR_COUNT; } void lpc176x_irq_set_priority( diff --git a/bsps/arm/lpc24xx/include/bsp/irq.h b/bsps/arm/lpc24xx/include/bsp/irq.h index 7bbbf44f49..9794a01546 100644 --- a/bsps/arm/lpc24xx/include/bsp/irq.h +++ b/bsps/arm/lpc24xx/include/bsp/irq.h @@ -69,7 +69,7 @@ #define LPC24XX_IRQ_I2C_2 30 #define LPC24XX_IRQ_I2S 31 - #define BSP_INTERRUPT_VECTOR_MAX 31 + #define BSP_INTERRUPT_VECTOR_COUNT 32 #else #define LPC24XX_IRQ_WDT 0 #define LPC24XX_IRQ_TIMER_0 1 @@ -112,7 +112,7 @@ #define LPC24XX_IRQ_PWM 39 #define LPC24XX_IRQ_EEPROM 40 - #define BSP_INTERRUPT_VECTOR_MAX 40 + #define BSP_INTERRUPT_VECTOR_COUNT 41 #endif #define LPC24XX_IRQ_PRIORITY_VALUE_MIN 0 diff --git a/bsps/arm/lpc24xx/irq/irq.c b/bsps/arm/lpc24xx/irq/irq.c index 2fed80efda..ed07805a9a 100644 --- a/bsps/arm/lpc24xx/irq/irq.c +++ b/bsps/arm/lpc24xx/irq/irq.c @@ -31,7 +31,7 @@ static inline bool lpc24xx_irq_is_valid(rtems_vector_number vector) { - return vector <= BSP_INTERRUPT_VECTOR_MAX; + return vector < BSP_INTERRUPT_VECTOR_COUNT; } void lpc24xx_irq_set_priority(rtems_vector_number vector, unsigned priority) @@ -91,7 +91,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) /* Use IRQ category */ VICIntSelect = 0; - for (i = 0; i <= BSP_INTERRUPT_VECTOR_MAX; ++i) { + for (i = 0; i < BSP_INTERRUPT_VECTOR_COUNT; ++i) { /* Use the vector address register to store the vector number */ addr [i] = i; diff --git a/bsps/arm/lpc32xx/include/bsp/irq.h b/bsps/arm/lpc32xx/include/bsp/irq.h index 1b1ff8db78..84b296431b 100644 --- a/bsps/arm/lpc32xx/include/bsp/irq.h +++ b/bsps/arm/lpc32xx/include/bsp/irq.h @@ -139,9 +139,9 @@ extern "C" { #define LPC32XX_IRQ_PRIORITY_HIGHEST LPC32XX_IRQ_PRIORITY_VALUE_MIN #define LPC32XX_IRQ_PRIORITY_LOWEST LPC32XX_IRQ_PRIORITY_VALUE_MAX -#define BSP_INTERRUPT_VECTOR_MAX LPC32XX_IRQ_SYSCLK +#define BSP_INTERRUPT_VECTOR_COUNT (LPC32XX_IRQ_SYSCLK + 1) -#define LPC32XX_IRQ_COUNT (BSP_INTERRUPT_VECTOR_MAX + 1) +#define LPC32XX_IRQ_COUNT BSP_INTERRUPT_VECTOR_COUNT void lpc32xx_irq_set_priority(rtems_vector_number vector, unsigned priority); diff --git a/bsps/arm/raspberrypi/include/bsp/irq.h b/bsps/arm/raspberrypi/include/bsp/irq.h index 87b6da2963..fae147124f 100644 --- a/bsps/arm/raspberrypi/include/bsp/irq.h +++ b/bsps/arm/raspberrypi/include/bsp/irq.h @@ -33,7 +33,7 @@ * @brief Interrupt support. */ -#define BCM2835_INTC_TOTAL_IRQ 64 + 8 +#define BCM2835_INTC_TOTAL_IRQ (64 + 8) #define BCM2835_IRQ_SET1_MIN 0 #define BCM2835_IRQ_SET2_MIN 32 @@ -69,7 +69,7 @@ #define BCM2835_IRQ_ID_ILL_ACCESS_1 70 #define BCM2835_IRQ_ID_ILL_ACCESS_0 71 -#define BSP_INTERRUPT_VECTOR_MAX (BCM2835_INTC_TOTAL_IRQ - 1) +#define BSP_INTERRUPT_VECTOR_COUNT BCM2835_INTC_TOTAL_IRQ #define BSP_INTERRUPT_VECTOR_INVALID (UINT32_MAX) #define BSP_IRQ_COUNT (BCM2835_INTC_TOTAL_IRQ) diff --git a/bsps/arm/realview-pbx-a9/include/bsp/irq.h b/bsps/arm/realview-pbx-a9/include/bsp/irq.h index 1d7a6b68c8..6563d1ba1a 100644 --- a/bsps/arm/realview-pbx-a9/include/bsp/irq.h +++ b/bsps/arm/realview-pbx-a9/include/bsp/irq.h @@ -90,7 +90,7 @@ extern "C" { #define RVPBXA9_IRQ_P_NINT_6 88 #define RVPBXA9_IRQ_P_NINT_7 89 -#define BSP_INTERRUPT_VECTOR_MAX 89 +#define BSP_INTERRUPT_VECTOR_COUNT 90 #ifdef __cplusplus } diff --git a/bsps/arm/rtl22xx/include/bsp/irq.h b/bsps/arm/rtl22xx/include/bsp/irq.h index ee7f603cf9..7e94bf171a 100644 --- a/bsps/arm/rtl22xx/include/bsp/irq.h +++ b/bsps/arm/rtl22xx/include/bsp/irq.h @@ -53,7 +53,7 @@ #define LPC22xx_INTERRUPT_CAN4RX 27 /* CAN2 Rx interrupt */ #define BSP_MAX_INT 28 -#define BSP_INTERRUPT_VECTOR_MAX (BSP_MAX_INT - 1) +#define BSP_INTERRUPT_VECTOR_COUNT BSP_MAX_INT #define UNDEFINED_INSTRUCTION_VECTOR_ADDR (*(u_long *)0x00000004L) #define SOFTWARE_INTERRUPT_VECTOR_ADDR (*(u_long *)0x00000008L) diff --git a/bsps/arm/shared/irq/irq-armv7m.c b/bsps/arm/shared/irq/irq-armv7m.c index 7c7c1ab114..2bf8c9df74 100644 --- a/bsps/arm/shared/irq/irq-armv7m.c +++ b/bsps/arm/shared/irq/irq-armv7m.c @@ -67,7 +67,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) _ARMV7M_SCB->icsr = ARMV7M_SCB_ICSR_PENDSVCLR | ARMV7M_SCB_ICSR_PENDSTCLR; - for (i = 0; i <= BSP_INTERRUPT_VECTOR_MAX; ++i) { + for (i = 0; i < BSP_INTERRUPT_VECTOR_COUNT; ++i) { _ARMV7M_NVIC_Clear_enable(i); _ARMV7M_NVIC_Clear_pending(i); _ARMV7M_NVIC_Set_priority(i, BSP_ARMV7M_IRQ_PRIORITY_DEFAULT); diff --git a/bsps/arm/shared/start/start.S b/bsps/arm/shared/start/start.S index bd623178ed..698495d32e 100644 --- a/bsps/arm/shared/start/start.S +++ b/bsps/arm/shared/start/start.S @@ -529,7 +529,7 @@ bsp_start_vector_table_begin: .word _ARMV7M_Exception_default /* Reserved */ .word _ARMV7M_Pendable_service_call /* PendSV */ .word _ARMV7M_Clock_handler /* SysTick */ - .rept BSP_INTERRUPT_VECTOR_MAX + 1 + .rept BSP_INTERRUPT_VECTOR_COUNT .word _ARMV7M_NVIC_Interrupt_dispatch /* IRQ */ .endr diff --git a/bsps/arm/smdk2410/include/bsp/irq.h b/bsps/arm/smdk2410/include/bsp/irq.h index ca846920ff..d848eb5568 100644 --- a/bsps/arm/smdk2410/include/bsp/irq.h +++ b/bsps/arm/smdk2410/include/bsp/irq.h @@ -90,7 +90,7 @@ #error "Undefined Samsung CPU model" #endif -#define BSP_INTERRUPT_VECTOR_MAX (BSP_MAX_INT - 1) +#define BSP_INTERRUPT_VECTOR_COUNT BSP_MAX_INT #endif /* _IRQ_H_ */ /* end of include file */ diff --git a/bsps/arm/stm32f4/include/bsp/irq.h b/bsps/arm/stm32f4/include/bsp/irq.h index 3c047d3da7..586d68af82 100644 --- a/bsps/arm/stm32f4/include/bsp/irq.h +++ b/bsps/arm/stm32f4/include/bsp/irq.h @@ -133,7 +133,7 @@ extern "C" { #define STM32F4_IRQ_PRIORITY_HIGHEST STM32F4_IRQ_PRIORITY_VALUE_MIN #define STM32F4_IRQ_PRIORITY_LOWEST STM32F4_IRQ_PRIORITY_VALUE_MAX -#define BSP_INTERRUPT_VECTOR_MAX 81 +#define BSP_INTERRUPT_VECTOR_COUNT 82 /** @} */ diff --git a/bsps/arm/stm32h7/include/bsp/irq.h b/bsps/arm/stm32h7/include/bsp/irq.h index 609c1a2ac2..15ebe5c48a 100644 --- a/bsps/arm/stm32h7/include/bsp/irq.h +++ b/bsps/arm/stm32h7/include/bsp/irq.h @@ -36,6 +36,6 @@ #endif /* ASM */ -#define BSP_INTERRUPT_VECTOR_MAX 239 +#define BSP_INTERRUPT_VECTOR_COUNT 240 #endif /* LIBBSP_ARM_STM32H7_IRQ_H */ diff --git a/bsps/arm/tms570/include/bsp/irq.h b/bsps/arm/tms570/include/bsp/irq.h index 2f412604bb..bfb8ab4736 100644 --- a/bsps/arm/tms570/include/bsp/irq.h +++ b/bsps/arm/tms570/include/bsp/irq.h @@ -112,7 +112,7 @@ #define TMS570_IRQ_DCC2_DONE_INTERRUPT 83 #define TMS570_IRQ_HWAG1_INT_REQ_L 88 #define TMS570_IRQ_HWAG2_INT_REQ_L 89 -#define BSP_INTERRUPT_VECTOR_MAX 94 +#define BSP_INTERRUPT_VECTOR_COUNT 94 #define TMS570_IRQ_PRIORITY_VALUE_MIN 0U #define TMS570_IRQ_PRIORITY_VALUE_MAX 0U diff --git a/bsps/arm/tms570/irq/irq.c b/bsps/arm/tms570/irq/irq.c index 7129915c93..4abab8feb3 100644 --- a/bsps/arm/tms570/irq/irq.c +++ b/bsps/arm/tms570/irq/irq.c @@ -28,7 +28,7 @@ #include <bsp/irq.h> #include <rtems/score/armv4.h> -unsigned int priorityTable[BSP_INTERRUPT_VECTOR_MAX+1]; +unsigned int priorityTable[BSP_INTERRUPT_VECTOR_COUNT]; /** * @brief Set priority of the interrupt vector. diff --git a/bsps/arm/xen/include/bsp/irq.h b/bsps/arm/xen/include/bsp/irq.h index a29917d31b..58ce78ffd2 100644 --- a/bsps/arm/xen/include/bsp/irq.h +++ b/bsps/arm/xen/include/bsp/irq.h @@ -40,7 +40,7 @@ extern "C" { #endif /* __cplusplus */ -#define BSP_INTERRUPT_VECTOR_MAX 1023 +#define BSP_INTERRUPT_VECTOR_COUNT 1024 /* Xen guest interrupts */ #define GUEST_TIMER_VIRT_PPI 27 diff --git a/bsps/arm/xilinx-zynq/include/bsp/irq.h b/bsps/arm/xilinx-zynq/include/bsp/irq.h index 099edcd034..f4579ae614 100644 --- a/bsps/arm/xilinx-zynq/include/bsp/irq.h +++ b/bsps/arm/xilinx-zynq/include/bsp/irq.h @@ -114,7 +114,7 @@ extern "C" { #define ZYNQ_IRQ_FPGA_15 91 #define ZYNQ_IRQ_PARITY 92 -#define BSP_INTERRUPT_VECTOR_MAX 92 +#define BSP_INTERRUPT_VECTOR_COUNT 93 /** @} */ diff --git a/bsps/arm/xilinx-zynqmp/include/bsp/irq.h b/bsps/arm/xilinx-zynqmp/include/bsp/irq.h index 7ad1a01d90..9aae8168db 100644 --- a/bsps/arm/xilinx-zynqmp/include/bsp/irq.h +++ b/bsps/arm/xilinx-zynqmp/include/bsp/irq.h @@ -67,7 +67,7 @@ extern "C" { #define ZYNQMP_IRQ_UART_0 53 #define ZYNQMP_IRQ_UART_1 54 -#define BSP_INTERRUPT_VECTOR_MAX 187 +#define BSP_INTERRUPT_VECTOR_COUNT 188 /** @} */ diff --git a/bsps/i386/include/bsp/irq.h b/bsps/i386/include/bsp/irq.h index 6e2f7cbb2c..c5ef954142 100644 --- a/bsps/i386/include/bsp/irq.h +++ b/bsps/i386/include/bsp/irq.h @@ -79,7 +79,7 @@ extern "C" { #define BSP_RT_TIMER3 10 #define BSP_SMP_IPI 16 /* not part of the ATPIC */ -#define BSP_INTERRUPT_VECTOR_MAX BSP_IRQ_VECTOR_MAX_OFFSET +#define BSP_INTERRUPT_VECTOR_COUNT BSP_IRQ_VECTOR_NUMBER /** @brief * Type definition for RTEMS managed interrupts diff --git a/bsps/include/bsp/irq-default.h b/bsps/include/bsp/irq-default.h index c72782e993..fabc23c287 100644 --- a/bsps/include/bsp/irq-default.h +++ b/bsps/include/bsp/irq-default.h @@ -47,7 +47,7 @@ extern "C" { /** * @brief Default maximum interrupt vector. */ -#define BSP_INTERRUPT_VECTOR_MAX 0 +#define BSP_INTERRUPT_VECTOR_COUNT 0 /** @} */ diff --git a/bsps/include/bsp/irq-generic.h b/bsps/include/bsp/irq-generic.h index a423f19192..5b9ad3ed50 100644 --- a/bsps/include/bsp/irq-generic.h +++ b/bsps/include/bsp/irq-generic.h @@ -58,18 +58,16 @@ extern "C" { #endif /* __cplusplus */ -#if !defined(BSP_INTERRUPT_VECTOR_MAX) - #error "BSP_INTERRUPT_VECTOR_MAX shall be defined" +#if !defined(BSP_INTERRUPT_VECTOR_COUNT) + #error "BSP_INTERRUPT_VECTOR_COUNT shall be defined" #endif #if defined(BSP_INTERRUPT_USE_INDEX_TABLE) && !defined(BSP_INTERRUPT_HANDLER_TABLE_SIZE) #error "if you define BSP_INTERRUPT_USE_INDEX_TABLE, you have to define BSP_INTERRUPT_HANDLER_TABLE_SIZE etc. as well" #endif -#define BSP_INTERRUPT_VECTOR_NUMBER (BSP_INTERRUPT_VECTOR_MAX + 1) - #ifndef BSP_INTERRUPT_HANDLER_TABLE_SIZE - #define BSP_INTERRUPT_HANDLER_TABLE_SIZE BSP_INTERRUPT_VECTOR_NUMBER + #define BSP_INTERRUPT_HANDLER_TABLE_SIZE BSP_INTERRUPT_VECTOR_COUNT #endif /* Internal macros for SMP support, do not use externally */ @@ -126,8 +124,8 @@ static inline rtems_vector_number bsp_interrupt_handler_index( * @brief Generic BSP Interrupt Support * * The BSP interrupt support manages a sequence of interrupt vector numbers - * ranging from zero to @ref BSP_INTERRUPT_VECTOR_MAX - * including the end points. It provides methods to + * greater than or equal to zero and less than @ref BSP_INTERRUPT_VECTOR_COUNT + * It provides methods to * @ref bsp_interrupt_handler_install() "install", * @ref bsp_interrupt_handler_remove() "remove" and * @ref bsp_interrupt_handler_dispatch() "dispatch" interrupt handlers for each @@ -138,7 +136,7 @@ static inline rtems_vector_number bsp_interrupt_handler_index( * * You have to configure the BSP interrupt support in the <bsp/irq.h> file * for each BSP. For a minimum configuration you have to provide - * @ref BSP_INTERRUPT_VECTOR_MAX. + * @ref BSP_INTERRUPT_VECTOR_COUNT. * * For boards with small memory requirements you can define * @ref BSP_INTERRUPT_USE_INDEX_TABLE. With an enabled index table the handler @@ -173,7 +171,7 @@ static inline rtems_vector_number bsp_interrupt_handler_index( */ static inline bool bsp_interrupt_is_valid_vector(rtems_vector_number vector) { - return vector <= (rtems_vector_number) BSP_INTERRUPT_VECTOR_MAX; + return vector < (rtems_vector_number) BSP_INTERRUPT_VECTOR_COUNT; } #endif diff --git a/bsps/lm32/include/bsp/irq.h b/bsps/lm32/include/bsp/irq.h index 19ba56e161..416af841a7 100644 --- a/bsps/lm32/include/bsp/irq.h +++ b/bsps/lm32/include/bsp/irq.h @@ -35,7 +35,7 @@ /** * @brief Maximum vector number. */ -#define BSP_INTERRUPT_VECTOR_MAX 31 +#define BSP_INTERRUPT_VECTOR_COUNT 32 /** @} */ diff --git a/bsps/m68k/genmcf548x/include/bsp/irq.h b/bsps/m68k/genmcf548x/include/bsp/irq.h index b3a6285a21..63e623bfdd 100644 --- a/bsps/m68k/genmcf548x/include/bsp/irq.h +++ b/bsps/m68k/genmcf548x/include/bsp/irq.h @@ -89,6 +89,6 @@ #define MCF548X_IRQ_GPT1 61 #define MCF548X_IRQ_GPT0 62 -#define BSP_INTERRUPT_VECTOR_MAX 63 +#define BSP_INTERRUPT_VECTOR_COUNT 64 #endif /* LIBBSP_M68K_MCF548X_IRQ_H */ diff --git a/bsps/m68k/genmcf548x/irq/irq.c b/bsps/m68k/genmcf548x/irq/irq.c index f02231b67c..1e7cb25764 100644 --- a/bsps/m68k/genmcf548x/irq/irq.c +++ b/bsps/m68k/genmcf548x/irq/irq.c @@ -26,7 +26,7 @@ typedef struct { const char *info; } interrupt_control; -static interrupt_control interrupt_controls[BSP_INTERRUPT_VECTOR_MAX + 1]; +static interrupt_control interrupt_controls[BSP_INTERRUPT_VECTOR_COUNT]; static uint32_t vector_to_reg(rtems_vector_number vector) { diff --git a/bsps/mips/csb350/include/bsp/irq.h b/bsps/mips/csb350/include/bsp/irq.h index b1d3f86aa7..d02af135e7 100644 --- a/bsps/mips/csb350/include/bsp/irq.h +++ b/bsps/mips/csb350/include/bsp/irq.h @@ -115,7 +115,7 @@ #define AU1X00_MAXIMUM_VECTORS (MIPS_INTERRUPT_BASE + 72) -#define BSP_INTERRUPT_VECTOR_MAX AU1X00_MAXIMUM_VECTORS +#define BSP_INTERRUPT_VECTOR_COUNT AU1X00_MAXIMUM_VECTORS /** @} */ diff --git a/bsps/mips/hurricane/include/bsp/irq.h b/bsps/mips/hurricane/include/bsp/irq.h index 4264a0e84d..ccf827edfe 100644 --- a/bsps/mips/hurricane/include/bsp/irq.h +++ b/bsps/mips/hurricane/include/bsp/irq.h @@ -32,7 +32,7 @@ */ #define RM5231_MAXIMUM_VECTORS (MIPS_INTERRUPT_BASE+8) -#define BSP_INTERRUPT_VECTOR_MAX RM5231_MAXIMUM_VECTORS +#define BSP_INTERRUPT_VECTOR_COUNT RM5231_MAXIMUM_VECTORS /** @} */ diff --git a/bsps/mips/jmr3904/include/bsp/irq.h b/bsps/mips/jmr3904/include/bsp/irq.h index a40f26dc7a..ac7ffe03ea 100644 --- a/bsps/mips/jmr3904/include/bsp/irq.h +++ b/bsps/mips/jmr3904/include/bsp/irq.h @@ -59,7 +59,7 @@ #define TX3904_IRQ_SOFTWARE_2 MIPS_INTERRUPT_BASE+18 #define TX3904_MAXIMUM_VECTORS MIPS_INTERRUPT_BASE+19 -#define BSP_INTERRUPT_VECTOR_MAX TX3904_MAXIMUM_VECTORS +#define BSP_INTERRUPT_VECTOR_COUNT TX3904_MAXIMUM_VECTORS /** @} */ diff --git a/bsps/mips/malta/include/bsp/irq.h b/bsps/mips/malta/include/bsp/irq.h index 25cb186873..b5ef128760 100644 --- a/bsps/mips/malta/include/bsp/irq.h +++ b/bsps/mips/malta/include/bsp/irq.h @@ -79,7 +79,7 @@ #define MALTA_PCI_ADP_LAST MALTA_PCI_ADP31 # -#define BSP_INTERRUPT_VECTOR_MAX MALTA_PCI_ADP_LAST +#define BSP_INTERRUPT_VECTOR_COUNT (MALTA_PCI_ADP_LAST + 1) /* * Redefine interrupts with more descriptive names. diff --git a/bsps/mips/rbtx4925/include/bsp/irq.h b/bsps/mips/rbtx4925/include/bsp/irq.h index db28e65989..5bd8bcd984 100644 --- a/bsps/mips/rbtx4925/include/bsp/irq.h +++ b/bsps/mips/rbtx4925/include/bsp/irq.h @@ -72,7 +72,7 @@ #define TX4925_IRQ_SOFTWARE_2 MIPS_INTERRUPT_BASE+33 #define TX4925_MAXIMUM_VECTORS MIPS_INTERRUPT_BASE+34 -#define BSP_INTERRUPT_VECTOR_MAX TX4925_MAXIMUM_VECTORS +#define BSP_INTERRUPT_VECTOR_COUNT TX4925_MAXIMUM_VECTORS /** @} */ diff --git a/bsps/mips/rbtx4938/include/bsp/irq.h b/bsps/mips/rbtx4938/include/bsp/irq.h index 03ecacda73..4e7849c20a 100644 --- a/bsps/mips/rbtx4938/include/bsp/irq.h +++ b/bsps/mips/rbtx4938/include/bsp/irq.h @@ -72,7 +72,7 @@ #define TX4938_IRQ_SOFTWARE_2 MIPS_INTERRUPT_BASE+33 #define TX4938_MAXIMUM_VECTORS MIPS_INTERRUPT_BASE+34 -#define BSP_INTERRUPT_VECTOR_MAX TX4938_MAXIMUM_VECTORS +#define BSP_INTERRUPT_VECTOR_COUNT TX4938_MAXIMUM_VECTORS /** @} */ diff --git a/bsps/mips/shared/irq/irq.c b/bsps/mips/shared/irq/irq.c index 1c2d3b8c5b..9fed3db489 100644 --- a/bsps/mips/shared/irq/irq.c +++ b/bsps/mips/shared/irq/irq.c @@ -64,7 +64,7 @@ static const char *const cause_strings[32] = { static inline bool bsp_irq_is_valid(rtems_vector_number vector) { - return vector <= BSP_INTERRUPT_VECTOR_MAX; + return vector < BSP_INTERRUPT_VECTOR_COUNT; } void bsp_interrupt_vector_enable(rtems_vector_number vector) diff --git a/bsps/or1k/generic_or1k/include/bsp/irq.h b/bsps/or1k/generic_or1k/include/bsp/irq.h index 9d8e1edc0b..4b50be09bf 100644 --- a/bsps/or1k/generic_or1k/include/bsp/irq.h +++ b/bsps/or1k/generic_or1k/include/bsp/irq.h @@ -23,7 +23,7 @@ #include <rtems/irq.h> #include <rtems/irq-extension.h> -#define BSP_INTERRUPT_VECTOR_MAX 0x1F00 +#define BSP_INTERRUPT_VECTOR_COUNT 0x1F00 /* Interrupt Identification Register */ #define OR1K_BSP_UART_REG_INT_ID_MSI (0x00) diff --git a/bsps/powerpc/gen5200/include/bsp/irq.h b/bsps/powerpc/gen5200/include/bsp/irq.h index 63d39cb3df..d54f98a2af 100644 --- a/bsps/powerpc/gen5200/include/bsp/irq.h +++ b/bsps/powerpc/gen5200/include/bsp/irq.h @@ -203,7 +203,7 @@ typedef enum { #define BSP_CRIT_IRQ_PRIO_LEVELS 4 #define BSP_PERIODIC_TIMER BSP_SIU_IRQ_TMR6 -#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET +#define BSP_INTERRUPT_VECTOR_COUNT (BSP_MAX_OFFSET + 1) #endif diff --git a/bsps/powerpc/gen83xx/include/bsp/irq.h b/bsps/powerpc/gen83xx/include/bsp/irq.h index 42bd2980fe..5d896d2609 100644 --- a/bsps/powerpc/gen83xx/include/bsp/irq.h +++ b/bsps/powerpc/gen83xx/include/bsp/irq.h @@ -162,7 +162,7 @@ extern "C" { BSP_IPIC_IRQ_LAST = BSP_IPIC_IRQ_MAX_OFFSET, } rtems_irq_symbolic_name; -#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET +#define BSP_INTERRUPT_VECTOR_COUNT (BSP_MAX_OFFSET + 1) rtems_status_code mpc83xx_ipic_set_mask( rtems_vector_number vector, rtems_vector_number mask_vector, bool mask); diff --git a/bsps/powerpc/motorola_powerpc/include/bsp/irq.h b/bsps/powerpc/motorola_powerpc/include/bsp/irq.h index 3fcdf916c2..fea2859c3e 100644 --- a/bsps/powerpc/motorola_powerpc/include/bsp/irq.h +++ b/bsps/powerpc/motorola_powerpc/include/bsp/irq.h @@ -115,7 +115,7 @@ extern "C" { #define BSP_IRQ_NUMBER (BSP_MISC_IRQ_MAX_OFFSET + 1) #define BSP_LOWEST_OFFSET (BSP_ISA_IRQ_LOWEST_OFFSET) #define BSP_MAX_OFFSET (BSP_MISC_IRQ_MAX_OFFSET) -#define BSP_INTERRUPT_VECTOR_MAX (BSP_MAX_OFFSET) +#define BSP_INTERRUPT_VECTOR_COUNT (BSP_MAX_OFFSET + 1) /* * Some ISA IRQ symbolic name definition */ diff --git a/bsps/powerpc/mpc55xxevb/include/bsp/irq.h b/bsps/powerpc/mpc55xxevb/include/bsp/irq.h index e0b3c3eaf8..f6688bff86 100644 --- a/bsps/powerpc/mpc55xxevb/include/bsp/irq.h +++ b/bsps/powerpc/mpc55xxevb/include/bsp/irq.h @@ -477,7 +477,7 @@ rtems_status_code mpc55xx_intc_clear_software_irq(rtems_vector_number vector); * @{ */ -#define BSP_INTERRUPT_VECTOR_MAX MPC55XX_IRQ_MAX +#define BSP_INTERRUPT_VECTOR_COUNT (MPC55XX_IRQ_MAX + 1) #ifdef BSP_INTERRUPT_HANDLER_TABLE_SIZE #define BSP_INTERRUPT_USE_INDEX_TABLE diff --git a/bsps/powerpc/mpc8260ads/include/bsp/irq.h b/bsps/powerpc/mpc8260ads/include/bsp/irq.h index 12890d998e..22b547e404 100644 --- a/bsps/powerpc/mpc8260ads/include/bsp/irq.h +++ b/bsps/powerpc/mpc8260ads/include/bsp/irq.h @@ -141,7 +141,7 @@ extern volatile unsigned int ppc_cached_irq_mask; #define BSP_DECREMENTER (BSP_PROCESSOR_IRQ_LOWEST_OFFSET) #define BSP_PERIODIC_TIMER (BSP_DECREMENTER) -#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET +#define BSP_INTERRUPT_VECTOR_COUNT (BSP_MAX_OFFSET + 1) #define CPM_INTERRUPT diff --git a/bsps/powerpc/psim/include/bsp/irq.h b/bsps/powerpc/psim/include/bsp/irq.h index 248cfb5579..5cd17e7daa 100644 --- a/bsps/powerpc/psim/include/bsp/irq.h +++ b/bsps/powerpc/psim/include/bsp/irq.h @@ -57,7 +57,7 @@ #include <bsp/irq_supp.h> -#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET +#define BSP_INTERRUPT_VECTOR_COUNT BSP_IRQ_NUMBER #ifdef __cplusplus extern "C" { diff --git a/bsps/powerpc/qemuppc/include/bsp/irq.h b/bsps/powerpc/qemuppc/include/bsp/irq.h index 1fd8b53a11..38ee77fc41 100644 --- a/bsps/powerpc/qemuppc/include/bsp/irq.h +++ b/bsps/powerpc/qemuppc/include/bsp/irq.h @@ -56,7 +56,7 @@ */ #define BSP_DECREMENTER (BSP_PROCESSOR_IRQ_LOWEST_OFFSET) -#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET +#define BSP_INTERRUPT_VECTOR_COUNT BSP_IRQ_NUMBER /* #include <bsp/irq_supp.h> */ diff --git a/bsps/powerpc/qoriq/include/bsp/irq.h b/bsps/powerpc/qoriq/include/bsp/irq.h index 09a4279399..cf46832045 100644 --- a/bsps/powerpc/qoriq/include/bsp/irq.h +++ b/bsps/powerpc/qoriq/include/bsp/irq.h @@ -34,7 +34,7 @@ extern "C" { #ifdef QORIQ_IS_HYPERVISOR_GUEST -#define BSP_INTERRUPT_VECTOR_MAX 1023 +#define BSP_INTERRUPT_VECTOR_COUNT 1024 #else /* !QORIQ_IS_HYPERVISOR_GUEST */ @@ -350,7 +350,7 @@ extern "C" { #define QORIQ_IRQ_GT_B_2 (QORIQ_IRQ_GT_BASE + 6) #define QORIQ_IRQ_GT_B_3 (QORIQ_IRQ_GT_BASE + 7) -#define BSP_INTERRUPT_VECTOR_MAX QORIQ_IRQ_GT_B_3 +#define BSP_INTERRUPT_VECTOR_COUNT (QORIQ_IRQ_GT_B_3 + 1) /** @} */ diff --git a/bsps/powerpc/qoriq/irq/irq.c b/bsps/powerpc/qoriq/irq/irq.c index 7f9680ea1c..ffbff25dc6 100644 --- a/bsps/powerpc/qoriq/irq/irq.c +++ b/bsps/powerpc/qoriq/irq/irq.c @@ -128,7 +128,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) { unsigned int i; - for (i = 0; i <= BSP_INTERRUPT_VECTOR_MAX; ++i) { + for (i = 0; i < BSP_INTERRUPT_VECTOR_COUNT; ++i) { uint32_t config; unsigned int priority; uint32_t destination; @@ -354,7 +354,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) pic_reset(); - for (i = 0; i <= BSP_INTERRUPT_VECTOR_MAX; ++i) { + for (i = 0; i < BSP_INTERRUPT_VECTOR_COUNT; ++i) { volatile qoriq_pic_src_cfg *src_cfg = get_src_cfg(i); src_cfg->vpr = VPR_MSK | VPR_P @@ -375,7 +375,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) qoriq.pic.ctpr = 0; - for (i = 0; i <= BSP_INTERRUPT_VECTOR_MAX; ++i) { + for (i = 0; i < BSP_INTERRUPT_VECTOR_COUNT; ++i) { qoriq.pic.iack; qoriq.pic.eoi = 0; qoriq.pic.whoami; diff --git a/bsps/powerpc/t32mppc/include/bsp/irq.h b/bsps/powerpc/t32mppc/include/bsp/irq.h index 7ac3b1f676..998eadf3df 100644 --- a/bsps/powerpc/t32mppc/include/bsp/irq.h +++ b/bsps/powerpc/t32mppc/include/bsp/irq.h @@ -24,7 +24,7 @@ extern "C" { #endif /* __cplusplus */ -#define BSP_INTERRUPT_VECTOR_MAX 0 +#define BSP_INTERRUPT_VECTOR_COUNT 1 RTEMS_INLINE_ROUTINE void bsp_interrupt_set_affinity( rtems_vector_number vector, diff --git a/bsps/powerpc/tqm8xx/include/bsp/irq.h b/bsps/powerpc/tqm8xx/include/bsp/irq.h index 3a5010d602..c3dfbed0d1 100644 --- a/bsps/powerpc/tqm8xx/include/bsp/irq.h +++ b/bsps/powerpc/tqm8xx/include/bsp/irq.h @@ -146,7 +146,7 @@ extern "C" { #define BSP_PERIODIC_TIMER BSP_SIU_INT_IRQ_6 #define BSP_FAST_ETHERNET_CTRL BSP_SIU_INT_IRQ_3 -#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET +#define BSP_INTERRUPT_VECTOR_COUNT (BSP_MAX_OFFSET + 1) extern int BSP_irq_enabled_at_cpm(const rtems_irq_number irqLine); diff --git a/bsps/powerpc/virtex/include/bsp/irq.h b/bsps/powerpc/virtex/include/bsp/irq.h index 02fe972404..892f18be5e 100644 --- a/bsps/powerpc/virtex/include/bsp/irq.h +++ b/bsps/powerpc/virtex/include/bsp/irq.h @@ -61,7 +61,7 @@ (BSP_IS_PROCESSOR_IRQ(irqnum) \ || BSP_IS_OPBINTC_IRQ(irqnum)) -#define BSP_INTERRUPT_VECTOR_MAX BSP_PROCESSOR_IRQ_MAX_OFFSET +#define BSP_INTERRUPT_VECTOR_COUNT (BSP_PROCESSOR_IRQ_MAX_OFFSET + 1) #ifndef ASM #ifdef __cplusplus diff --git a/bsps/riscv/griscv/include/bsp/irq.h b/bsps/riscv/griscv/include/bsp/irq.h index 2100e6f7d3..f9e280d5a9 100644 --- a/bsps/riscv/griscv/include/bsp/irq.h +++ b/bsps/riscv/griscv/include/bsp/irq.h @@ -54,7 +54,7 @@ #define RISCV_INTERRUPT_VECTOR_EXTERNAL_TO_INDEX(x) ((x) - 2) -#define BSP_INTERRUPT_VECTOR_MAX RISCV_INTERRUPT_VECTOR_EXTERNAL(RISCV_MAXIMUM_EXTERNAL_INTERRUPTS - 1) +#define BSP_INTERRUPT_VECTOR_COUNT RISCV_INTERRUPT_VECTOR_EXTERNAL(RISCV_MAXIMUM_EXTERNAL_INTERRUPTS) void bsp_interrupt_set_affinity( rtems_vector_number vector, diff --git a/bsps/riscv/riscv/include/bsp/irq.h b/bsps/riscv/riscv/include/bsp/irq.h index a902570155..306988d5e3 100644 --- a/bsps/riscv/riscv/include/bsp/irq.h +++ b/bsps/riscv/riscv/include/bsp/irq.h @@ -54,7 +54,7 @@ #define RISCV_INTERRUPT_VECTOR_EXTERNAL_TO_INDEX(x) ((x) - 2) -#define BSP_INTERRUPT_VECTOR_MAX RISCV_INTERRUPT_VECTOR_EXTERNAL(RISCV_MAXIMUM_EXTERNAL_INTERRUPTS - 1) +#define BSP_INTERRUPT_VECTOR_COUNT RISCV_INTERRUPT_VECTOR_EXTERNAL(RISCV_MAXIMUM_EXTERNAL_INTERRUPTS) void bsp_interrupt_set_affinity( rtems_vector_number vector, diff --git a/bsps/shared/irq/irq-generic.c b/bsps/shared/irq/irq-generic.c index abe732a9d3..65971fb1b3 100644 --- a/bsps/shared/irq/irq-generic.c +++ b/bsps/shared/irq/irq-generic.c @@ -44,7 +44,7 @@ #ifdef BSP_INTERRUPT_USE_INDEX_TABLE bsp_interrupt_handler_index_type bsp_interrupt_handler_index_table - [BSP_INTERRUPT_VECTOR_NUMBER]; + [BSP_INTERRUPT_VECTOR_COUNT]; #endif bsp_interrupt_handler_entry bsp_interrupt_handler_table diff --git a/bsps/shared/irq/irq-info.c b/bsps/shared/irq/irq-info.c index 697976e525..a52465ef09 100644 --- a/bsps/shared/irq/irq-info.c +++ b/bsps/shared/irq/irq-info.c @@ -87,7 +87,7 @@ void bsp_interrupt_report_with_plugin( "--------+----------------------------------+---------+------------+------------\n" ); - for (v = 0; v <= BSP_INTERRUPT_VECTOR_MAX; ++v) { + for (v = 0; v < BSP_INTERRUPT_VECTOR_COUNT; ++v) { e.vector = v; rtems_interrupt_handler_iterate( v, diff --git a/bsps/shared/irq/irq-server.c b/bsps/shared/irq/irq-server.c index fa2153fcb0..8b9d82eb29 100644 --- a/bsps/shared/irq/irq-server.c +++ b/bsps/shared/irq/irq-server.c @@ -42,7 +42,7 @@ #include <bsp/irq-generic.h> -#define BSP_INTERRUPT_SERVER_MANAGEMENT_VECTOR (BSP_INTERRUPT_VECTOR_MAX + 1) +#define BSP_INTERRUPT_SERVER_MANAGEMENT_VECTOR BSP_INTERRUPT_VECTOR_COUNT static rtems_interrupt_server_control bsp_interrupt_server_default; diff --git a/bsps/sparc/erc32/include/bsp/irq.h b/bsps/sparc/erc32/include/bsp/irq.h index ad3a65fcc1..7bf6cff2ff 100644 --- a/bsps/sparc/erc32/include/bsp/irq.h +++ b/bsps/sparc/erc32/include/bsp/irq.h @@ -20,8 +20,7 @@ #include <rtems/score/processormask.h> -#define BSP_INTERRUPT_VECTOR_MAX_STD 15 /* Standard IRQ controller */ -#define BSP_INTERRUPT_VECTOR_MAX BSP_INTERRUPT_VECTOR_MAX_STD +#define BSP_INTERRUPT_VECTOR_COUNT 16 /* Standard IRQ controller */ /* No extra check is needed */ #undef BSP_INTERRUPT_CUSTOM_VALID_VECTOR diff --git a/bsps/sparc/leon2/include/bsp/irq.h b/bsps/sparc/leon2/include/bsp/irq.h index 287530e275..a85eefaf10 100644 --- a/bsps/sparc/leon2/include/bsp/irq.h +++ b/bsps/sparc/leon2/include/bsp/irq.h @@ -18,8 +18,7 @@ #ifndef LIBBSP_LEON2_IRQ_CONFIG_H #define LIBBSP_LEON2_IRQ_CONFIG_H -#define BSP_INTERRUPT_VECTOR_MAX_STD 15 /* Standard IRQ controller */ -#define BSP_INTERRUPT_VECTOR_MAX BSP_INTERRUPT_VECTOR_MAX_STD +#define BSP_INTERRUPT_VECTOR_COUNT 16 /* Standard IRQ controller */ /* No extra check is needed */ #undef BSP_INTERRUPT_CUSTOM_VALID_VECTOR diff --git a/bsps/sparc/leon3/include/bsp/irq.h b/bsps/sparc/leon3/include/bsp/irq.h index 77f9fc2528..980f3f5bfb 100644 --- a/bsps/sparc/leon3/include/bsp/irq.h +++ b/bsps/sparc/leon3/include/bsp/irq.h @@ -21,10 +21,7 @@ #include <leon.h> #include <rtems/score/processormask.h> -#define BSP_INTERRUPT_VECTOR_MAX_STD 15 /* Standard IRQ controller */ -#define BSP_INTERRUPT_VECTOR_MAX_EXT 31 /* Extended IRQ controller */ - -#define BSP_INTERRUPT_VECTOR_MAX BSP_INTERRUPT_VECTOR_MAX_EXT +#define BSP_INTERRUPT_VECTOR_COUNT 32 /* The check is different depending on IRQ controller, runtime detected */ #define BSP_INTERRUPT_CUSTOM_VALID_VECTOR @@ -35,9 +32,9 @@ static inline bool bsp_interrupt_is_valid_vector(rtems_vector_number vector) { if (LEON3_IrqCtrl_EIrq != 0) { - return vector <= BSP_INTERRUPT_VECTOR_MAX_EXT; + return vector < BSP_INTERRUPT_VECTOR_COUNT; } else { - return vector <= BSP_INTERRUPT_VECTOR_MAX_STD; + return vector < 16; /* Standard IRQ controller */ } } diff --git a/bsps/sparc/shared/irq/irq-shared.c b/bsps/sparc/shared/irq/irq-shared.c index e0ac7d7f06..f7dba795c7 100644 --- a/bsps/sparc/shared/irq/irq-shared.c +++ b/bsps/sparc/shared/irq/irq-shared.c @@ -44,7 +44,7 @@ void BSP_shared_interrupt_init(void) rtems_isr_entry previous_isr; int i; - for (i=0; i <= BSP_INTERRUPT_VECTOR_MAX_STD; i++) { + for (i=0; i < BSP_INTERRUPT_VECTOR_COUNT; i++) { #if defined(LEON3) && (defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)) /* Don't install IRQ handler on IPI interrupt */ if (i == LEON3_mp_irq) diff --git a/bsps/x86_64/include/bsp/irq.h b/bsps/x86_64/include/bsp/irq.h index 312c831962..4a7c34489e 100644 --- a/bsps/x86_64/include/bsp/irq.h +++ b/bsps/x86_64/include/bsp/irq.h @@ -39,7 +39,7 @@ #include <rtems/irq-extension.h> #define BSP_IRQ_VECTOR_NUMBER 34 -#define BSP_INTERRUPT_VECTOR_MAX BSP_IRQ_VECTOR_NUMBER +#define BSP_INTERRUPT_VECTOR_COUNT BSP_IRQ_VECTOR_NUMBER #endif /* !ASM */ #endif /* LIBBSP_GENERIC_RISCV_IRQ_H */ diff --git a/testsuites/smptests/smpcapture02/init.c b/testsuites/smptests/smpcapture02/init.c index 9cf1f0b006..4b11e6bbd7 100644 --- a/testsuites/smptests/smpcapture02/init.c +++ b/testsuites/smptests/smpcapture02/init.c @@ -316,7 +316,7 @@ static void Init(rtems_task_argument arg) test(cpu_count); /* Try to find the clock interrupt handler */ - for ( vec = 0; vec < BSP_INTERRUPT_VECTOR_MAX; vec++ ) { + for ( vec = 0; vec < BSP_INTERRUPT_VECTOR_COUNT; vec++ ) { rtems_interrupt_handler_iterate(vec, locate_clock_interrupt_handler, &cih); if ( cih.found ) break; -- 2.26.2 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel