summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/pc/mp.c15
-rw-r--r--sys/src/9/pc/squidboy.c2
-rw-r--r--sys/src/9/pc64/squidboy.c3
3 files changed, 5 insertions, 15 deletions
diff --git a/sys/src/9/pc/mp.c b/sys/src/9/pc/mp.c
index ba341c5ca..e937c9391 100644
--- a/sys/src/9/pc/mp.c
+++ b/sys/src/9/pc/mp.c
@@ -196,7 +196,9 @@ mpinit(void)
ncpu = MAXMACH;
memmove((void*)APBOOTSTRAP, apbootstrap, sizeof(apbootstrap));
for(i=0; i<nelem(mpapic); i++){
- if((apic = mpapic[i]) == nil || apic->machno == 0 || apic->machno >= MAXMACH)
+ if((apic = mpapic[i]) == nil)
+ continue;
+ if(apic->machno >= MAXMACH)
continue;
if(ncpu <= 1)
break;
@@ -204,17 +206,6 @@ mpinit(void)
mpstartap(apic);
conf.nmach++;
ncpu--;
-
- if(!apic->online){
- print("LAPIC%d: cpu%d did not startup\n", i, apic->machno);
- continue;
- }
-
- /* update tscticks for ap's syncclock() */
- while(!active.machs[apic->machno]){
- if(arch->fastclock == tscticks)
- cycles(&m->tscticks);
- }
}
}
diff --git a/sys/src/9/pc/squidboy.c b/sys/src/9/pc/squidboy.c
index 5b10ea211..85c3992d1 100644
--- a/sys/src/9/pc/squidboy.c
+++ b/sys/src/9/pc/squidboy.c
@@ -34,7 +34,7 @@ squidboy(Apic* apic)
unlock(&active);
while(!active.thunderbirdsarego)
- idlehands();
+ microdelay(100);
schedinit();
}
diff --git a/sys/src/9/pc64/squidboy.c b/sys/src/9/pc64/squidboy.c
index 2646626b7..218f4971a 100644
--- a/sys/src/9/pc64/squidboy.c
+++ b/sys/src/9/pc64/squidboy.c
@@ -15,7 +15,6 @@ squidboy(Apic* apic)
mmuinit();
cpuidentify();
cpuidprint();
-
apic->online = 1;
coherence();
@@ -29,7 +28,7 @@ squidboy(Apic* apic)
unlock(&active);
while(!active.thunderbirdsarego)
- idlehands();
+ microdelay(100);
schedinit();
}