smpfatal08 fails on systems where all cpus are started by the boot-loader and thereby clobber the test output. This patch stops the secondary cpus with a call to _CPU_Thread_Idle_body(). Tested on RISC-V and SPARC.
From 4429fd6b391e3feebd72a0e7d403cc4745e35a3a Mon Sep 17 00:00:00 2001 From: Jiri Gaisler <j...@gaisler.se> Date: Sun, 11 Apr 2021 21:15:13 +0200 Subject: [PATCH] smpfatal08: block secondary processors * On some SMP platforms, all cpus are started by the boot-loader. We need to block the secondary cpus or they will clobber the test output. --- testsuites/smptests/smpfatal08/init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/testsuites/smptests/smpfatal08/init.c b/testsuites/smptests/smpfatal08/init.c index 47ea91b29d..bfdfda9437 100644 --- a/testsuites/smptests/smpfatal08/init.c +++ b/testsuites/smptests/smpfatal08/init.c @@ -37,7 +37,8 @@ const char rtems_test_name[] = "SMPFATAL 8"; void bsp_start_on_secondary_processor(struct Per_CPU_Control *cpu_self) { /* Provided to avoid multiple definitions of the CPU SMP support functions */ - (void) cpu_self; + /* Block secondary cpus if they are running to avoid clobbering output */ + (void) _CPU_Thread_Idle_body( 0 ); } #if QORIQ_THREAD_COUNT > 1 -- 2.25.1
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel