diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-26 13:12:16 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-26 13:12:16 +0200 |
commit | 8055738b012bdc6b6bdd19affdecbd3427a2f111 (patch) | |
tree | 0524b6bbd4fdb7ead96ba89a87b52be48bbc666f | |
parent | ae56aeff4c19b1850c3535b354f17298c306f257 (diff) |
testsuites/validation/tc-bsp-interrupt-spurious.c
-rw-r--r-- | testsuites/validation/tc-bsp-interrupt-spurious.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/testsuites/validation/tc-bsp-interrupt-spurious.c b/testsuites/validation/tc-bsp-interrupt-spurious.c index a31e233c0a..688e769908 100644 --- a/testsuites/validation/tc-bsp-interrupt-spurious.c +++ b/testsuites/validation/tc-bsp-interrupt-spurious.c @@ -290,11 +290,26 @@ static void BspReqInterruptSpurious_Setup( BspReqInterruptSpurious_Context *ctx ) { - ctx->vector = GetValidInterruptVectorNumber( NULL ); - T_assert_lt_u32( ctx->vector, BSP_INTERRUPT_VECTOR_COUNT ); + rtems_vector_number vector; + + for ( vector = 0; vector < BSP_INTERRUPT_VECTOR_COUNT; ++vector ) { + rtems_status_code sc; + rtems_interrupt_attributes attributes; + + sc = rtems_interrupt_get_attributes( vector, &attributes ); + + if ( + sc == RTEMS_SUCCESSFUL && + !HasInterruptVectorEntriesInstalled( vector ) + ) { + break; + } + } + T_assert_lt_u32( vector, BSP_INTERRUPT_VECTOR_COUNT ); + ctx->vector = vector; ctx->first = &bsp_interrupt_handler_table[ - bsp_interrupt_handler_index( ctx->vector ) + bsp_interrupt_handler_index( vector ) ]; rtems_interrupt_entry_initialize( &ctx->entry, EntryRoutine, ctx, "Info" ); |