[rtems-central commit] spec: Fix bsp_interrupt_spurious() validation
Sebastian Huber
sebh at rtems.org
Mon Jul 26 11:12:45 UTC 2021
Module: rtems-central
Branch: master
Commit: 80cbbed0b3fc46c8b593267adcdf89c0dfeeb909
Changeset: http://git.rtems.org/rtems-central/commit/?id=80cbbed0b3fc46c8b593267adcdf89c0dfeeb909
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Mon Jul 26 13:11:00 2021 +0200
spec: Fix bsp_interrupt_spurious() validation
---
spec/bsp/req/interrupt-spurious.yml | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/spec/bsp/req/interrupt-spurious.yml b/spec/bsp/req/interrupt-spurious.yml
index ebdd53c..fbd7d3e 100644
--- a/spec/bsp/req/interrupt-spurious.yml
+++ b/spec/bsp/req/interrupt-spurious.yml
@@ -130,11 +130,26 @@ test-prepare: null
test-setup:
brief: null
code: |
- 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" );
More information about the vc
mailing list