The Pi firmware added a wfe(wait for event), the cores 1-3 wait
for the start address being written to the mailbox register, followed
by a SEV poke to the mailbox that acts as a wfe wake-up event.
---
 bsps/arm/raspberrypi/start/bspsmp.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsps/arm/raspberrypi/start/bspsmp.c 
b/bsps/arm/raspberrypi/start/bspsmp.c
index 44f7a1d376..9dcfb0fb03 100644
--- a/bsps/arm/raspberrypi/start/bspsmp.c
+++ b/bsps/arm/raspberrypi/start/bspsmp.c
@@ -42,6 +42,7 @@ bool _CPU_SMP_Start_processor( uint32_t cpu_index )
   if (cpu_index != cpu_index_self) {
 
     BCM2835_REG(BCM2836_MAILBOX_3_WRITE_SET_BASE + 0x10 * cpu_index) = 
(uint32_t)_start;
+    _ARM_Send_event();
 
     /*
      * Wait for secondary processor to complete its basic initialization so
-- 
2.30.2

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to