summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2010-08-20 13:37:54 +0200
committerKevin O'Connor <kevin@koconnor.net>2010-08-24 00:17:50 -0400
commit22f637848ee1bdc39ef42a3f9a003621fa7a4fef (patch)
tree65d7a532589d0a82fbb1cb56a1c92b913b7c1935
parente2074bf6ec2956e1d803e62dcb052b7c88c214f0 (diff)
Don't try to talk to APIC on 486
It only has one cpuid level, therefore it can't report whether it has an APIC. It probably hasn't; assume that. Without this, SeaBIOS would get stuck on qemu -M isapc. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
-rw-r--r--src/smp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/smp.c b/src/smp.c
index f989ec1..38e117e 100644
--- a/src/smp.c
+++ b/src/smp.c
@@ -72,7 +72,7 @@ smp_probe(void)
ASSERT32FLAT();
u32 eax, ebx, ecx, cpuid_features;
cpuid(1, &eax, &ebx, &ecx, &cpuid_features);
- if (! (cpuid_features & CPUID_APIC)) {
+ if (eax < 1 || !(cpuid_features & CPUID_APIC)) {
// No apic - only the main cpu is present.
dprintf(1, "No apic - only the main cpu is present.\n");
CountCPUs= 1;