Just one nit, I think we still want to keep
-  (void) cpu_self;
because the variable is unused. This suppresses unused variable warnings.
I never understood why it was there, but now I know ... :-)

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 666fcbdb1fe8ef7d7988279d4da673de3cdd5d95 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 | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/testsuites/smptests/smpfatal08/init.c b/testsuites/smptests/smpfatal08/init.c
index 47ea91b29d..bcfb3b72be 100644
--- a/testsuites/smptests/smpfatal08/init.c
+++ b/testsuites/smptests/smpfatal08/init.c
@@ -38,6 +38,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

Reply via email to