summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-26 13:12:16 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-26 13:12:16 +0200
commit8055738b012bdc6b6bdd19affdecbd3427a2f111 (patch)
tree0524b6bbd4fdb7ead96ba89a87b52be48bbc666f
parentae56aeff4c19b1850c3535b354f17298c306f257 (diff)
testsuites/validation/tc-bsp-interrupt-spurious.c
-rw-r--r--testsuites/validation/tc-bsp-interrupt-spurious.c21
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" );