diff options
| -rw-r--r-- | main.c | 10 | 
1 files changed, 3 insertions, 7 deletions
@@ -20,7 +20,7 @@ void  main0(void)  {    int i; -  static int bcpu;  // cannot be on stack +  static volatile int bcpu;  // cannot be on stack    // clear BSS    memset(edata, 0, end - edata); @@ -32,7 +32,7 @@ main0(void)    mp_init(); // collect info about this machine    bcpu = mp_bcpu(); -  // switch to bootstrap processor's stack +  // Switch to bootstrap processor's stack    asm volatile("movl %0, %%esp" : : "r" (cpus[bcpu].mpstack+MPSTACK-32));    asm volatile("movl %0, %%ebp" : : "r" (cpus[bcpu].mpstack+MPSTACK)); @@ -72,14 +72,10 @@ void  mpmain(void)  {    cprintf("cpu%d: starting\n", cpu()); -  idtinit(); // CPU's idt -  if(cpu() == 0) -    panic("mpmain on cpu 0"); +  idtinit();    lapic_init(cpu());    lapic_timerinit();    lapic_enableintr(); - -  // make sure there's a TSS    setupsegs(0);    cpuid(0, 0, 0, 0, 0);  // memory barrier  | 
