remove ES7000 workaround From: Ingo Molnar Remove ES7000 workaround. Although not spelled out clearly, it is likely that the real bug was that clustered APIC mode does not work on those systems. So if the CPU count is low then these systems can use logical delivery mode just as much. The quirk forced physical APIC mode under all circumstances. (patch needs testing on at least one of those systems with a CPU count of 8 or lower.) Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Cc: Suresh Siddha Cc: Andi Kleen Cc: "Li, Shaohua" Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton --- arch/x86_64/kernel/genapic.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) Index: linux/arch/x86_64/kernel/genapic.c =================================================================== --- linux.orig/arch/x86_64/kernel/genapic.c +++ linux/arch/x86_64/kernel/genapic.c @@ -40,17 +40,9 @@ void __init clustered_apic_check(void) unsigned int i, max_apic = 0; u8 id; -#ifdef CONFIG_ACPI /* - * Quirk: some x86_64 machines can only use physical APIC mode - * regardless of how many processors are present (x86_64 ES7000 - * is an example). + * Determine the maximum APIC ID in use: */ - if (acpi_fadt.revision > FADT2_REVISION_ID && - acpi_fadt.force_apic_physical_destination_mode) - goto force_physflat; -#endif - for (i = 0; i < NR_CPUS; i++) { id = bios_cpu_apicid[i]; if (id == BAD_APICID) @@ -62,7 +54,6 @@ void __init clustered_apic_check(void) if (max_apic < 8) genapic = &apic_flat; else -force_physflat: genapic = &apic_physflat; printk(KERN_INFO "Setting APIC routing to %s\n", genapic->name);