diff options
author | Cyrill Gorcunov <gorcunov@openvz.org> | 2009-09-15 11:12:30 +0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-09-20 22:18:07 +0400 |
commit | 8312136fa8b0a3ec7323bbb1a46be8c0c26e994e (patch) | |
tree | fc90b5de2e93522c505105f59c8ce6a0162bb6b9 /arch/x86/include/asm/apic.h | |
parent | efc8f7419ea0a97c38d0b80785c8c3d9ab8a4872 (diff) | |
download | linux-8312136fa8b0a3ec7323bbb1a46be8c0c26e994e.tar.xz |
x86, apic: Fix missed handling of discrete apics
In case of discrete (pretty old) apics we may have cpu_has_apic bit
not set but have to check if smp_found_config (MP spec) is there
and apic was not disabled.
Also don't forget to print apic/io-apic for such case as well.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
Cc: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <20090915071230.GA10604@lenovo>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/include/asm/apic.h')
-rw-r--r-- | arch/x86/include/asm/apic.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h index 586b7adb8e53..9a86fb40490d 100644 --- a/arch/x86/include/asm/apic.h +++ b/arch/x86/include/asm/apic.h @@ -66,6 +66,19 @@ static inline void default_inquire_remote_apic(int apicid) } /* + * With 82489DX we can't rely on apic feature bit + * retrieved via cpuid but still have to deal with + * such an apic chip so we assume that SMP configuration + * is found from MP table (64bit case uses ACPI mostly + * which set smp presence flag as well so we are safe + * to use this helper too). + */ +static inline bool apic_from_smp_config(void) +{ + return smp_found_config && !disable_apic; +} + +/* * Basic functions accessing APICs. */ #ifdef CONFIG_PARAVIRT |