diff options
Diffstat (limited to 'mp.c')
-rw-r--r-- | mp.c | 10 |
1 files changed, 4 insertions, 6 deletions
@@ -106,12 +106,10 @@ mpinit(void) switch(*p){ case MPPROC: proc = (struct mpproc*)p; - if(ncpu != proc->apicid){ - cprintf("mpinit: ncpu=%d apicid=%d\n", ncpu, proc->apicid); - ismp = 0; + if(ncpu < NCPU) { + cpus[ncpu].apicid = proc->apicid; // apicid may differ from ncpu + ncpu++; } - cpus[ncpu].id = ncpu; - ncpu++; p += sizeof(struct mpproc); continue; case MPIOAPIC: @@ -125,8 +123,8 @@ mpinit(void) p += 8; continue; default: - cprintf("mpinit: unknown config type %x\n", *p); ismp = 0; + break; } } if(!ismp){ |