diff options
author | kaashoek <kaashoek> | 2006-09-07 01:37:58 +0000 |
---|---|---|
committer | kaashoek <kaashoek> | 2006-09-07 01:37:58 +0000 |
commit | f70172129c94e4d53b56fc10a7d859679b581bd2 (patch) | |
tree | f5c95ac0b9eea765d36ab0cb0c53573e2dfa0f9d /mp.c | |
parent | f9bc4452b5437570f1709430e9364cc3e323cf3a (diff) | |
download | xv6-labs-f70172129c94e4d53b56fc10a7d859679b581bd2.tar.gz xv6-labs-f70172129c94e4d53b56fc10a7d859679b581bd2.tar.bz2 xv6-labs-f70172129c94e4d53b56fc10a7d859679b581bd2.zip |
run without lapic and ioapic, if they are not present
if no lapic available, use 8253pit for clock
now xv6 runs both on qemu (uniprocessor) and bochs (uniprocessor and MP)
Diffstat (limited to 'mp.c')
-rw-r--r-- | mp.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -30,6 +30,7 @@ static char *buses[] = { }; struct cpu cpus[NCPU]; +int ismp; int ncpu; uchar ioapic_id; @@ -124,8 +125,11 @@ mp_init(void) uchar byte; ncpu = 0; - if((r = mp_detect()) != 0) + if((r = mp_detect()) != 0) { return; + } + + ismp = 1; // Run through the table saving information needed for starting // application processors and initialising any I/O APICs. The table @@ -165,7 +169,7 @@ mp_init(void) p += sizeof(struct mpie); continue; default: - cprintf("mpinit: unknown PCMP type 0x%x (e-p 0x%x)\n", *p, e-p); + cprintf("mp_init: unknown PCMP type 0x%x (e-p 0x%x)\n", *p, e-p); while(p < e){ cprintf("%uX ", *p); p++; |