[OpenBIOS] r82 - openbios-devel/drivers

svn at openbios.org svn at openbios.org
Tue Sep 5 21:46:20 CEST 2006


Author: stepan
Date: 2006-09-05 21:46:20 +0200 (Tue, 05 Sep 2006)
New Revision: 82

Modified:
   openbios-devel/drivers/obio.c
Log:
From: Blue Swirl <blueswir1 at hotmail.com>
This patch fixes SMP booting:
Entering SMP Mode...
Starting CPU 1 at f01e46e4
Calibrating delay loop... 180.63 BogoMIPS
Starting CPU 2 at f01e46f0
Calibrating delay loop... 181.86 BogoMIPS
Starting CPU 3 at f01e46fc
Calibrating delay loop... 182.68 BogoMIPS
Total of 4 Processors activated (721.71 BogoMIPS).

Though depending on version Linux usually hangs later.



Modified: openbios-devel/drivers/obio.c
===================================================================
--- openbios-devel/drivers/obio.c	2006-09-05 19:44:40 UTC (rev 81)
+++ openbios-devel/drivers/obio.c	2006-09-05 19:46:20 UTC (rev 82)
@@ -450,7 +450,7 @@
         push_str("mask_rev");
         fword("property");
 
-        PUSH(i << 3);
+        PUSH(i);
         fword("encode-int");
         push_str("mid");
         fword("property");
@@ -625,9 +625,9 @@
     if (!cpu)
         return -1;
 
-    nvram[0x38] = pc;
-    nvram[0x3c] = context_ptr;
-    nvram[0x40] = context;
+    *(uint32_t *)&nvram[0x38] = pc;
+    *(uint32_t *)&nvram[0x3c] = context_ptr;
+    *(uint32_t *)&nvram[0x40] = context;
     nvram[0x2e] = cpu & 0xff;
 
     intregs->cpu_intregs[cpu].set = SUN4M_SOFT_INT(14);




More information about the OpenBIOS mailing list