aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2007-11-26 14:42:20 -0500
committerIngo Molnar <mingo@elte.hu>2007-11-26 14:42:20 -0500
commitf44d9efd3510776216938fef84adc99cc0e12412 (patch)
tree29e7db613b53e42e32964a36aeb3b4b4d414b19d
parent52bfb36050c8529d9031d2c2513b281a360922ec (diff)
x86: fix APIC related bootup crash on Athlon XP CPUs
warmbloodedcreature@gmail.com reported that an APIC-enabled Asus a7v8x-x with an Athlon XP reboots early in the bootup: http://bugzilla.kernel.org/show_bug.cgi?id=8723 after a long marathon of spontaneous-reboot debugging, it turns out to be caused by sync_Arb_ids(). AMD CPUs never really needed this sequence anyway, so just return early if we meet an AMD CPU. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/kernel/apic_32.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c
index 08b07c176962..96986b46bc85 100644
--- a/arch/x86/kernel/apic_32.c
+++ b/arch/x86/kernel/apic_32.c
@@ -789,7 +789,7 @@ void __init sync_Arb_IDs(void)
789 * Unsupported on P4 - see Intel Dev. Manual Vol. 3, Ch. 8.6.1 And not 789 * Unsupported on P4 - see Intel Dev. Manual Vol. 3, Ch. 8.6.1 And not
790 * needed on AMD. 790 * needed on AMD.
791 */ 791 */
792 if (modern_apic()) 792 if (modern_apic() || boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
793 return; 793 return;
794 /* 794 /*
795 * Wait for idle. 795 * Wait for idle.