Core N>0 disable seems to be working correctly; documentation
authorAlyssa Rosenzweig <alyssa@backtick.town>
Thu, 25 Aug 2016 01:56:08 +0000 (18:56 -0700)
committerAlyssa Rosenzweig <alyssa@backtick.town>
Thu, 25 Aug 2016 01:56:08 +0000 (18:56 -0700)
arm_chainloader/main.c
arm_chainloader/start.s
trap.c

index 4106fdd..c82b445 100644 (file)
@@ -33,11 +33,10 @@ static void heap_init() {
 void main() {\r
        logf("Started on ARM, continuing boot from here ...\n", __FUNCTION__);\r
 \r
-       heap_init();\r
+        heap_init();\r
 \r
        /* c++ runtime */\r
        cxx_init();\r
-\r
        panic("Nothing else to do!");\r
 \r
 #if 0\r
@@ -47,4 +46,4 @@ void main() {
                udelay(1000000);\r
        }\r
 #endif\r
-}
\ No newline at end of file
+}\r
index db929dd..afe5b3c 100644 (file)
@@ -16,7 +16,9 @@ FILE DESCRIPTION
 ARM entry point.\r
 \r
 This is where all cores start. For RPi1, only one core starts so we can jump\r
-straight to the main bootloader. For later models,\r
+straight to the main bootloader. For later models, the first core jumps to the\r
+bootloader. The other cores wait until SMP is enabled by the kernel later in\r
+the boot process.\r
 \r
 =============================================================================*/\r
 \r
@@ -42,7 +44,7 @@ _start:
 L_all_cores_start:\r
         /* check CPU id */\r
         mrc p15, 0, r0, c0, c0, 5\r
-        ands r0, #0x03\r
+        ands r0, r0, #0x03\r
         bne L_deadloop\r
 \r
 L_core0:\r
diff --git a/trap.c b/trap.c
index 0f3d5ba..1a8d169 100644 (file)
--- a/trap.c
+++ b/trap.c
@@ -85,4 +85,4 @@ void sleh_fatal(vc4_saved_state_t* pcb, uint32_t n) {
 \r
 void sleh_irq(vc4_saved_state_t* pcb) {\r
        panic("interrupt at 0x%X!", pcb->pc);\r
-}
\ No newline at end of file
+}\r
This page took 0.029411 seconds and 4 git commands to generate.