[SeaBIOS] [PATCH] Don't try to talk to APIC on 486

Lubomir Rintel lkundrak at v3.sk
Fri Aug 20 13:37:54 CEST 2010


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 at v3.sk>
---
 src/smp.c |    2 +-
 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;
-- 
1.7.2.1




More information about the SeaBIOS mailing list