summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-19 12:40:57 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-24 11:35:49 +0200
commitcd5573c09def76d3d202349639da6ba05617b31b (patch)
tree17bc03ce550e178efe616958d2b0e5417fa5d441 /bsps/powerpc
parentsmpcapture02: Fix use of BSP_INTERRUPT_VECTOR_MAX (diff)
downloadrtems-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.h1
-rw-r--r--bsps/powerpc/gen83xx/include/bsp/irq.h1
-rw-r--r--bsps/powerpc/motorola_powerpc/include/bsp/irq.h1
-rw-r--r--bsps/powerpc/mpc55xxevb/include/bsp/irq.h1
-rw-r--r--bsps/powerpc/mpc8260ads/include/bsp/irq.h1
-rw-r--r--bsps/powerpc/psim/include/bsp/irq.h1
-rw-r--r--bsps/powerpc/qemuppc/include/bsp/irq.h1
-rw-r--r--bsps/powerpc/qoriq/include/bsp/irq.h2
-rw-r--r--bsps/powerpc/t32mppc/include/bsp/irq.h1
-rw-r--r--bsps/powerpc/tqm8xx/include/bsp/irq.h1
-rw-r--r--bsps/powerpc/virtex/include/bsp/irq.h1
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