sptests/spcontext01: Add second volatile clobber

Do a volatile clobber in the context switch extension to cover the path
through _Thread_Do_dispatch() invoked after interrupt processing.
This commit is contained in:
Sebastian Huber
2015-06-09 09:28:36 +02:00
parent a51b3526ea
commit b88d346fbd

View File

@@ -274,6 +274,13 @@ static void Init(rtems_task_argument arg)
rtems_test_exit(0); rtems_test_exit(0);
} }
static void switch_extension(Thread_Control *executing, Thread_Control *heir)
{
uintptr_t pattern = (uintptr_t) 0xffffffffffffffffU;
_CPU_Context_volatile_clobber(pattern);
}
#define CONFIGURE_MICROSECONDS_PER_TICK 1000 #define CONFIGURE_MICROSECONDS_PER_TICK 1000
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
@@ -282,7 +289,9 @@ static void Init(rtems_task_argument arg)
#define CONFIGURE_MAXIMUM_TASKS 4 #define CONFIGURE_MAXIMUM_TASKS 4
#define CONFIGURE_MAXIMUM_TIMERS 1 #define CONFIGURE_MAXIMUM_TIMERS 1
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION #define CONFIGURE_INITIAL_EXTENSIONS \
{ .thread_switch = switch_extension }, \
RTEMS_TEST_INITIAL_EXTENSION
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define CONFIGURE_RTEMS_INIT_TASKS_TABLE