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@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);