From 932c9bb9b94de363de5547e43c2e7f169f8d2732 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 19 May 2021 09:54:52 +0200 Subject: tx-support --- testsuites/validation/ts-default.h | 6 ++++++ testsuites/validation/tx-support.c | 22 ++++++++++++++++++++++ testsuites/validation/tx-support.h | 8 ++++++++ 3 files changed, 36 insertions(+) diff --git a/testsuites/validation/ts-default.h b/testsuites/validation/ts-default.h index fddca955e1..74854afef3 100644 --- a/testsuites/validation/ts-default.h +++ b/testsuites/validation/ts-default.h @@ -42,6 +42,7 @@ #include #include "ts-config.h" +#include "tx-support.h" #define MAX_TLS_SIZE RTEMS_ALIGN_UP( 64, RTEMS_TASK_STORAGE_ALIGNMENT ) @@ -180,6 +181,8 @@ static void task_stack_deallocate( void *stack ) #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE +#define CONFIGURE_INITIAL_EXTENSIONS { .fatal = FatalInitialExtension } + #if defined( RTEMS_SMP ) && \ ( CONFIGURE_MAXIMUM_PROCESSORS == 4 || CONFIGURE_MAXIMUM_PROCESSORS == 5 ) @@ -190,6 +193,9 @@ T_scheduler_operations[ CONFIGURE_MAXIMUM_PROCESSORS ] = { SCHEDULER_EDF_SMP_ENTRY_POINTS, SCHEDULER_EDF_SMP_ENTRY_POINTS, SCHEDULER_EDF_SMP_ENTRY_POINTS, +#if CONFIGURE_MAXIMUM_PROCESSORS >= 5 + SCHEDULER_EDF_SMP_ENTRY_POINTS, +#endif SCHEDULER_EDF_SMP_ENTRY_POINTS }; diff --git a/testsuites/validation/tx-support.c b/testsuites/validation/tx-support.c index c6f66c5c5f..099890dbbc 100644 --- a/testsuites/validation/tx-support.c +++ b/testsuites/validation/tx-support.c @@ -524,3 +524,25 @@ void FinalClockTick( void ) #endif _Thread_Dispatch_enable( cpu_self ); } + +static rtems_fatal_extension fatal_extension; + +void FatalInitialExtension( + rtems_fatal_source source, + bool always_set_to_false, + rtems_fatal_code code +) +{ + rtems_fatal_extension fatal; + + fatal = fatal_extension; + + if ( fatal != NULL ) { + ( *fatal )( source, always_set_to_false, code ); + } +} + +void SetFatalExtension( rtems_fatal_extension fatal ) +{ + fatal_extension = fatal; +} diff --git a/testsuites/validation/tx-support.h b/testsuites/validation/tx-support.h index 30bec43b43..163d6930c2 100644 --- a/testsuites/validation/tx-support.h +++ b/testsuites/validation/tx-support.h @@ -386,6 +386,14 @@ Timer_States GetTimerState( rtems_id id ); */ void UnsetClock( void ); +void FatalInitialExtension( + rtems_fatal_source source, + bool always_set_to_false, + rtems_fatal_code code +); + +void SetFatalExtension( rtems_fatal_extension fatal ); + /** @} */ #ifdef __cplusplus -- cgit v1.2.3