diff options
author | jhb <jhb@FreeBSD.org> | 2005-12-13 18:29:10 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-12-13 18:29:10 +0000 |
commit | 3bd2c6644920df9a5ccf8d96110acf156fbf786c (patch) | |
tree | f61d1c500439790d1502e3dfe04de617e83d3d62 /sys/i386 | |
parent | 809376d69dd721cf97e19c1a8b40cf33f75ac0f8 (diff) | |
download | FreeBSD-src-3bd2c6644920df9a5ccf8d96110acf156fbf786c.zip FreeBSD-src-3bd2c6644920df9a5ccf8d96110acf156fbf786c.tar.gz |
Revert previous commit. The BIOS braindamage is even worse than I
originally thought. The BIOS that cleared CPUID_APIC actually managed
to disable the local APIC entirely and even Windows 64 doesn't boot on
it.
Reported by: bz
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/i386/local_apic.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/sys/i386/i386/local_apic.c b/sys/i386/i386/local_apic.c index 53ebc0a..f2d96b5 100644 --- a/sys/i386/i386/local_apic.c +++ b/sys/i386/i386/local_apic.c @@ -834,15 +834,8 @@ apic_init(void *dummy __unused) uint64_t apic_base; int retval, best; - /* - * We only support built in local APICs. Unfortunately, we can't - * just check the CPUID_APIC bit in cpu_features because some BIOSen - * don't set that flag. Instead, we assume that all Pentium-class - * and later machines have a local APIC. The only non-Pentium-class - * CPUs that can talk to an external APIC are 486s, so we just - * bail if we are on a 486. - */ - if (cpu_class == CPUCLASS_486) + /* We only support built in local APICs. */ + if (!(cpu_feature & CPUID_APIC)) return; /* Don't probe if APIC mode is disabled. */ |