bsps/irq: Rename handler in dispatch table

The name handler table was a bit misleading after the last rework.
Rename it to distach table.  Update the documentation accordingly.

Update #4769.
This commit is contained in:
Sebastian Huber
2022-12-01 10:49:38 +01:00
parent e012671cfd
commit 71d1acd41d
10 changed files with 67 additions and 69 deletions

View File

@@ -46,8 +46,8 @@ void bsp_interrupt_entry_remove(
rtems_interrupt_entry *first;
rtems_interrupt_entry *entry_next;
index = bsp_interrupt_handler_index( vector );
first = bsp_interrupt_handler_table[ index ];
index = bsp_interrupt_dispatch_index( vector );
first = bsp_interrupt_dispatch_table[ index ];
entry_next = entry->next;
if ( entry == first && entry_next == NULL ) {
@@ -60,7 +60,7 @@ void bsp_interrupt_entry_remove(
#endif
bsp_interrupt_set_handler_unique( index, false );
#if defined(BSP_INTERRUPT_USE_INDEX_TABLE)
bsp_interrupt_handler_index_table[ vector ] = 0;
bsp_interrupt_dispatch_index_table[ vector ] = 0;
#endif
}

View File

@@ -42,20 +42,20 @@
#include <rtems/malloc.h>
#ifdef BSP_INTERRUPT_USE_INDEX_TABLE
bsp_interrupt_handler_index_type bsp_interrupt_handler_index_table
bsp_interrupt_dispatch_index_type bsp_interrupt_dispatch_index_table
[BSP_INTERRUPT_VECTOR_COUNT];
#endif
rtems_interrupt_entry *
bsp_interrupt_handler_table[ BSP_INTERRUPT_HANDLER_TABLE_SIZE ];
bsp_interrupt_dispatch_table[ BSP_INTERRUPT_DISPATCH_TABLE_SIZE ];
/* The last entry indicates if everything is initialized */
uint8_t bsp_interrupt_handler_unique_table
[ ( BSP_INTERRUPT_HANDLER_TABLE_SIZE + 7 + 1 ) / 8 ];
[ ( BSP_INTERRUPT_DISPATCH_TABLE_SIZE + 7 + 1 ) / 8 ];
static inline void bsp_interrupt_set_initialized(void)
{
bsp_interrupt_set_handler_unique(BSP_INTERRUPT_HANDLER_TABLE_SIZE, true);
bsp_interrupt_set_handler_unique(BSP_INTERRUPT_DISPATCH_TABLE_SIZE, true);
}
#if defined(BSP_INTERRUPT_USE_INDEX_TABLE)
@@ -66,8 +66,8 @@ static inline rtems_vector_number bsp_interrupt_allocate_handler_index(
rtems_vector_number i;
/* The first entry will remain empty */
for ( i = 1; i < BSP_INTERRUPT_HANDLER_TABLE_SIZE; ++i ) {
if ( bsp_interrupt_handler_table[ i ] == NULL ) {
for ( i = 1; i < BSP_INTERRUPT_DISPATCH_TABLE_SIZE; ++i ) {
if ( bsp_interrupt_dispatch_table[ i ] == NULL ) {
break;
}
}
@@ -91,8 +91,8 @@ void bsp_interrupt_spurious( rtems_vector_number vector )
* In order to get the last written pointer value to the first entry, we have
* to carry out an atomic read-modify-write operation.
*/
ptr = (Atomic_Uintptr *) &bsp_interrupt_handler_table[
bsp_interrupt_handler_index( vector )
ptr = (Atomic_Uintptr *) &bsp_interrupt_dispatch_table[
bsp_interrupt_dispatch_index( vector )
];
first = (rtems_interrupt_entry *)
_Atomic_Fetch_add_uintptr( ptr, 0, ATOMIC_ORDER_ACQUIRE );
@@ -142,9 +142,9 @@ rtems_interrupt_entry *bsp_interrupt_entry_find(
rtems_interrupt_entry *entry;
bsp_interrupt_assert( bsp_interrupt_is_valid_vector( vector ) );
index = bsp_interrupt_handler_index( vector );
*previous_next = &bsp_interrupt_handler_table[ index ];
entry = bsp_interrupt_handler_table[ index ];
index = bsp_interrupt_dispatch_index( vector );
*previous_next = &bsp_interrupt_dispatch_table[ index ];
entry = bsp_interrupt_dispatch_table[ index ];
while ( entry != NULL ) {
if ( entry->handler == routine && entry->arg == arg ) {
@@ -175,7 +175,7 @@ static rtems_status_code bsp_interrupt_entry_install_first(
#ifdef BSP_INTERRUPT_USE_INDEX_TABLE
index = bsp_interrupt_allocate_handler_index( vector );
if ( index == BSP_INTERRUPT_HANDLER_TABLE_SIZE ) {
if ( index == BSP_INTERRUPT_DISPATCH_TABLE_SIZE ) {
/* Handler table is full */
return RTEMS_NO_MEMORY;
}
@@ -184,10 +184,10 @@ static rtems_status_code bsp_interrupt_entry_install_first(
#endif
#ifdef BSP_INTERRUPT_USE_INDEX_TABLE
bsp_interrupt_handler_index_table[ vector ] = index;
bsp_interrupt_dispatch_index_table[ vector ] = index;
#endif
bsp_interrupt_entry_store_release(
&bsp_interrupt_handler_table[ index ],
&bsp_interrupt_dispatch_table[ index ],
entry
);
@@ -219,8 +219,8 @@ static rtems_status_code bsp_interrupt_entry_install(
return RTEMS_INVALID_NUMBER;
}
index = bsp_interrupt_handler_index( vector );
first = bsp_interrupt_handler_table[ index ];
index = bsp_interrupt_dispatch_index( vector );
first = bsp_interrupt_dispatch_table[ index ];
if ( first == NULL ) {
return bsp_interrupt_entry_install_first( vector, options, entry );

View File

@@ -56,10 +56,10 @@ rtems_status_code rtems_interrupt_handler_iterate(
return sc;
}
index = bsp_interrupt_handler_index( vector );
index = bsp_interrupt_dispatch_index( vector );
options = bsp_interrupt_is_handler_unique( index ) ?
RTEMS_INTERRUPT_UNIQUE : RTEMS_INTERRUPT_SHARED;
entry = bsp_interrupt_handler_table[ index ];
entry = bsp_interrupt_dispatch_table[ index ];
while ( entry != NULL ) {
( *routine )( arg, entry->info, options, entry->handler, entry->arg );