From bfec448682f3ba9015d70a1371e2f120a80408fc Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 6 Jul 2021 08:18:57 +0200 Subject: validation: GetValidInterruptVectorNumber() Update #3269. --- testsuites/validation/tx-interrupt.c | 26 ++++++++++++++++++++++++++ testsuites/validation/tx-support.h | 5 +++++ 2 files changed, 31 insertions(+) (limited to 'testsuites') diff --git a/testsuites/validation/tx-interrupt.c b/testsuites/validation/tx-interrupt.c index d056af5abc..0ff5ec017f 100644 --- a/testsuites/validation/tx-interrupt.c +++ b/testsuites/validation/tx-interrupt.c @@ -43,6 +43,32 @@ #include #include +#include + +rtems_vector_number GetValidInterruptVectorNumber( + const rtems_interrupt_attributes *required +) +{ + rtems_vector_number vector; + + for ( vector = 0; vector < BSP_INTERRUPT_VECTOR_COUNT; ++vector ) { + rtems_status_code sc; + rtems_interrupt_attributes attr; + + sc = rtems_interrupt_get_attributes( vector, &attr ); + + if ( + sc == RTEMS_SUCCESSFUL && + ( required == NULL || + !required->can_get_affinity || attr.can_get_affinity ) + ) { + break; + } + } + + return vector; +} + static void HasInstalled( void *arg, const char *info, diff --git a/testsuites/validation/tx-support.h b/testsuites/validation/tx-support.h index 378e98ee3f..20006f5dd8 100644 --- a/testsuites/validation/tx-support.h +++ b/testsuites/validation/tx-support.h @@ -38,6 +38,7 @@ #define _TX_SUPPORT_H #include +#include #include #ifdef __cplusplus @@ -113,6 +114,10 @@ void CallWithinISRSubmit( CallWithinISRRequest *request ); void CallWithinISRWait( const CallWithinISRRequest *request ); +rtems_vector_number GetValidInterruptVectorNumber( + const rtems_interrupt_attributes *required +); + bool HasInterruptVectorEntriesInstalled( rtems_vector_number vector ); /** @} */ -- cgit v1.2.3