summaryrefslogtreecommitdiff
path: root/mp.c
diff options
context:
space:
mode:
Diffstat (limited to 'mp.c')
-rw-r--r--mp.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/mp.c b/mp.c
index 977a823..ade8930 100644
--- a/mp.c
+++ b/mp.c
@@ -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){