aboutsummaryrefslogtreecommitdiff
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)
downloadseabios-hppa-22f637848ee1bdc39ef42a3f9a003621fa7a4fef.zip
seabios-hppa-22f637848ee1bdc39ef42a3f9a003621fa7a4fef.tar.gz
seabios-hppa-22f637848ee1bdc39ef42a3f9a003621fa7a4fef.tar.bz2
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;