diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-06-18 07:37:18 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-06-24 11:35:49 +0200 |
commit | af73b7b64b385232eddfd899ebd9e93054b66026 (patch) | |
tree | e3f52e9509af60d3e48272ba2ebd71184182ad85 /bsps/include | |
parent | bsps/irq: Assert BSP_INTERRUPT_VECTOR_MIN == 0 (diff) | |
download | rtems-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.h | 5 | ||||
-rw-r--r-- | bsps/include/bsp/irq-generic.h | 22 |
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 |