[rtems commit] sptests/spcontext01: Add second volatile clobber
Sebastian Huber
sebh at rtems.org
Tue Jun 9 07:31:00 UTC 2015
Module: rtems
Branch: master
Commit: b88d346fbde59dcdee428f224ff1c3a01419dabe
Changeset: http://git.rtems.org/rtems/commit/?id=b88d346fbde59dcdee428f224ff1c3a01419dabe
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Tue Jun 9 09:28:36 2015 +0200
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.
---
testsuites/sptests/spcontext01/init.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/testsuites/sptests/spcontext01/init.c b/testsuites/sptests/spcontext01/init.c
index 67910c4..e093c50 100644
--- a/testsuites/sptests/spcontext01/init.c
+++ b/testsuites/sptests/spcontext01/init.c
@@ -274,6 +274,13 @@ static void Init(rtems_task_argument arg)
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_APPLICATION_NEEDS_CLOCK_DRIVER
@@ -282,7 +289,9 @@ static void Init(rtems_task_argument arg)
#define CONFIGURE_MAXIMUM_TASKS 4
#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
More information about the vc
mailing list