]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/pc64/squidboy.c
devip: cleanup rudp.c
[plan9front.git] / sys / src / 9 / pc64 / squidboy.c
index 2646626b73bdd82f777528a688af4e3b35881821..e920c413b059a5f305a72a42c31893f90c8e581e 100644 (file)
@@ -8,6 +8,8 @@
 
 #include "mp.h"
 
+extern void _stts(void);
+
 static void
 squidboy(Apic* apic)
 {
@@ -15,22 +17,13 @@ squidboy(Apic* apic)
        mmuinit();
        cpuidentify();
        cpuidprint();
-
+       syncclock();
+       active.machs[m->machno] = 1;
        apic->online = 1;
-       coherence();
-
        lapicinit(apic);
        lapiconline();
-       syncclock();
        timersinit();
-
-       lock(&active);
-       active.machs[m->machno] = 1;
-       unlock(&active);
-
-       while(!active.thunderbirdsarego)
-               idlehands();
-
+       _stts();
        schedinit();
 }
 
@@ -103,10 +96,12 @@ mpstartap(Apic* apic)
 
        nvramwrite(0x0F, 0x0A);         /* shutdown code: warm reset upon init ipi */
        lapicstartap(apic, PADDR(APBOOTSTRAP));
-       for(i = 0; i < 1000; i++){
+       for(i = 0; i < 100000; i++){
+               if(arch->fastclock == tscticks)
+                       cycles(&m->tscticks);   /* for ap's syncclock(); */
                if(apic->online)
                        break;
-               delay(10);
+               delay(1);
        }
        nvramwrite(0x0F, 0x00);
 }