diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-06-19 12:40:57 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-06-24 11:35:49 +0200 |
commit | cd5573c09def76d3d202349639da6ba05617b31b (patch) | |
tree | 17bc03ce550e178efe616958d2b0e5417fa5d441 /bsps/powerpc | |
parent | smpcapture02: Fix use of BSP_INTERRUPT_VECTOR_MAX (diff) | |
download | rtems-cd5573c09def76d3d202349639da6ba05617b31b.tar.bz2 |
bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNT
Assert BSP_INTERRUPT_VECTOR_MAX + 1 == BSP_INTERRUPT_VECTOR_COUNT.
After building all BSPs with this patch, BSP_INTERRUPT_VECTOR_MAX can be
removed and replaced by BSP_INTERRUPT_VECTOR_COUNT. The
BSP_INTERRUPT_VECTOR_COUNT 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.
Update #3269.
Diffstat (limited to 'bsps/powerpc')
-rw-r--r-- | bsps/powerpc/gen5200/include/bsp/irq.h | 1 | ||||
-rw-r--r-- | bsps/powerpc/gen83xx/include/bsp/irq.h | 1 | ||||
-rw-r--r-- | bsps/powerpc/motorola_powerpc/include/bsp/irq.h | 1 | ||||
-rw-r--r-- | bsps/powerpc/mpc55xxevb/include/bsp/irq.h | 1 | ||||
-rw-r--r-- | bsps/powerpc/mpc8260ads/include/bsp/irq.h | 1 | ||||
-rw-r--r-- | bsps/powerpc/psim/include/bsp/irq.h | 1 | ||||
-rw-r--r-- | bsps/powerpc/qemuppc/include/bsp/irq.h | 1 | ||||
-rw-r--r-- | bsps/powerpc/qoriq/include/bsp/irq.h | 2 | ||||
-rw-r--r-- | bsps/powerpc/t32mppc/include/bsp/irq.h | 1 | ||||
-rw-r--r-- | bsps/powerpc/tqm8xx/include/bsp/irq.h | 1 | ||||
-rw-r--r-- | bsps/powerpc/virtex/include/bsp/irq.h | 1 |
11 files changed, 12 insertions, 0 deletions
diff --git a/bsps/powerpc/gen5200/include/bsp/irq.h b/bsps/powerpc/gen5200/include/bsp/irq.h index 63d39cb3df..58c6e5ad01 100644 --- a/bsps/powerpc/gen5200/include/bsp/irq.h +++ b/bsps/powerpc/gen5200/include/bsp/irq.h @@ -204,6 +204,7 @@ typedef enum { #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..3a015d2bd6 100644 --- a/bsps/powerpc/gen83xx/include/bsp/irq.h +++ b/bsps/powerpc/gen83xx/include/bsp/irq.h @@ -163,6 +163,7 @@ extern "C" { } 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..b6831bd2fa 100644 --- a/bsps/powerpc/motorola_powerpc/include/bsp/irq.h +++ b/bsps/powerpc/motorola_powerpc/include/bsp/irq.h @@ -116,6 +116,7 @@ extern "C" { #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..2b21ff637d 100644 --- a/bsps/powerpc/mpc55xxevb/include/bsp/irq.h +++ b/bsps/powerpc/mpc55xxevb/include/bsp/irq.h @@ -478,6 +478,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..38e47db842 100644 --- a/bsps/powerpc/mpc8260ads/include/bsp/irq.h +++ b/bsps/powerpc/mpc8260ads/include/bsp/irq.h @@ -142,6 +142,7 @@ extern volatile unsigned int ppc_cached_irq_mask; #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..f5ce672a47 100644 --- a/bsps/powerpc/psim/include/bsp/irq.h +++ b/bsps/powerpc/psim/include/bsp/irq.h @@ -58,6 +58,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..9388add2a4 100644 --- a/bsps/powerpc/qemuppc/include/bsp/irq.h +++ b/bsps/powerpc/qemuppc/include/bsp/irq.h @@ -57,6 +57,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..9dbfa86191 100644 --- a/bsps/powerpc/qoriq/include/bsp/irq.h +++ b/bsps/powerpc/qoriq/include/bsp/irq.h @@ -35,6 +35,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 */ @@ -351,6 +352,7 @@ extern "C" { #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/t32mppc/include/bsp/irq.h b/bsps/powerpc/t32mppc/include/bsp/irq.h index 7ac3b1f676..81f93f3323 100644 --- a/bsps/powerpc/t32mppc/include/bsp/irq.h +++ b/bsps/powerpc/t32mppc/include/bsp/irq.h @@ -25,6 +25,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..9704b5e7d3 100644 --- a/bsps/powerpc/tqm8xx/include/bsp/irq.h +++ b/bsps/powerpc/tqm8xx/include/bsp/irq.h @@ -147,6 +147,7 @@ extern "C" { #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..57a5ecbde3 100644 --- a/bsps/powerpc/virtex/include/bsp/irq.h +++ b/bsps/powerpc/virtex/include/bsp/irq.h @@ -62,6 +62,7 @@ || 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 |