summaryrefslogtreecommitdiffstats
path: root/bsps/include
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-18 07:37:18 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-24 11:35:49 +0200
commitaf73b7b64b385232eddfd899ebd9e93054b66026 (patch)
treee3f52e9509af60d3e48272ba2ebd71184182ad85 /bsps/include
parentbsps/irq: Assert BSP_INTERRUPT_VECTOR_MIN == 0 (diff)
downloadrtems-af73b7b64b385232eddfd899ebd9e93054b66026.tar.bz2
bsps/irq: Remove BSP_INTERRUPT_VECTOR_MIN
Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector numbers start with zero. The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit and building all BSPs. Update #3269.
Diffstat (limited to 'bsps/include')
-rw-r--r--bsps/include/bsp/irq-default.h5
-rw-r--r--bsps/include/bsp/irq-generic.h22
2 files changed, 8 insertions, 19 deletions
diff --git a/bsps/include/bsp/irq-default.h b/bsps/include/bsp/irq-default.h
index 4d7beb189b..c72782e993 100644
--- a/bsps/include/bsp/irq-default.h
+++ b/bsps/include/bsp/irq-default.h
@@ -45,11 +45,6 @@ extern "C" {
*/
/**
- * @brief Default minimum interrupt vector.
- */
-#define BSP_INTERRUPT_VECTOR_MIN 0
-
-/**
* @brief Default maximum interrupt vector.
*/
#define BSP_INTERRUPT_VECTOR_MAX 0
diff --git a/bsps/include/bsp/irq-generic.h b/bsps/include/bsp/irq-generic.h
index 8dc6c6d576..a423f19192 100644
--- a/bsps/include/bsp/irq-generic.h
+++ b/bsps/include/bsp/irq-generic.h
@@ -58,20 +58,15 @@
extern "C" {
#endif /* __cplusplus */
-#if !defined(BSP_INTERRUPT_VECTOR_MIN) || !defined(BSP_INTERRUPT_VECTOR_MAX) || (BSP_INTERRUPT_VECTOR_MAX + 1) < BSP_INTERRUPT_VECTOR_MIN
- #error "invalid BSP_INTERRUPT_VECTOR_MIN or BSP_INTERRUPT_VECTOR_MAX"
-#endif
-
-#if BSP_INTERRUPT_VECTOR_MIN != 0
- #error "BSP_INTERRUPT_VECTOR_MIN shall be zero"
+#if !defined(BSP_INTERRUPT_VECTOR_MAX)
+ #error "BSP_INTERRUPT_VECTOR_MAX 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 - BSP_INTERRUPT_VECTOR_MIN + 1)
+#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
@@ -117,9 +112,9 @@ static inline rtems_vector_number bsp_interrupt_handler_index(
)
{
#ifdef BSP_INTERRUPT_USE_INDEX_TABLE
- return bsp_interrupt_handler_index_table [vector - BSP_INTERRUPT_VECTOR_MIN];
+ return bsp_interrupt_handler_index_table [vector];
#else
- return vector - BSP_INTERRUPT_VECTOR_MIN;
+ return vector;
#endif
}
@@ -131,7 +126,7 @@ 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 @ref BSP_INTERRUPT_VECTOR_MIN to @ref BSP_INTERRUPT_VECTOR_MAX
+ * ranging from zero to @ref BSP_INTERRUPT_VECTOR_MAX
* including the end points. It provides methods to
* @ref bsp_interrupt_handler_install() "install",
* @ref bsp_interrupt_handler_remove() "remove" and
@@ -143,7 +138,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_MIN and @ref BSP_INTERRUPT_VECTOR_MAX.
+ * @ref BSP_INTERRUPT_VECTOR_MAX.
*
* For boards with small memory requirements you can define
* @ref BSP_INTERRUPT_USE_INDEX_TABLE. With an enabled index table the handler
@@ -178,8 +173,7 @@ static inline rtems_vector_number bsp_interrupt_handler_index(
*/
static inline bool bsp_interrupt_is_valid_vector(rtems_vector_number vector)
{
- return (rtems_vector_number) BSP_INTERRUPT_VECTOR_MIN <= vector
- && vector <= (rtems_vector_number) BSP_INTERRUPT_VECTOR_MAX;
+ return vector <= (rtems_vector_number) BSP_INTERRUPT_VECTOR_MAX;
}
#endif