[PATCH] bsps/raspberrypi: Add SEV instruction to Pi SMP

pranav dangipranav at gmail.com
Fri Aug 6 10:11:01 UTC 2021


Add Send Event instruction to get the SMP working on the Pi. Patch
doesn't work for SMP on Pi 2 v1.1
---
 bsps/arm/raspberrypi/include/bsp/irq.h | 1 +
 bsps/arm/raspberrypi/start/bspsmp.c    | 1 +
 2 files changed, 2 insertions(+)

diff --git a/bsps/arm/raspberrypi/include/bsp/irq.h b/bsps/arm/raspberrypi/include/bsp/irq.h
index a363e7ce90..2c0d0d82b2 100644
--- a/bsps/arm/raspberrypi/include/bsp/irq.h
+++ b/bsps/arm/raspberrypi/include/bsp/irq.h
@@ -24,6 +24,7 @@
 #include <rtems.h>
 #include <rtems/irq.h>
 #include <rtems/irq-extension.h>
+#include <dev/irq/arm-gic-irq.h>
 
 /**
  * @defgroup raspberrypi_interrupt Interrrupt Support
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



More information about the devel mailing list