diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-11-26 20:42:20 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-11-26 20:42:20 +0100 |
commit | f44d9efd3510776216938fef84adc99cc0e12412 (patch) | |
tree | 29e7db613b53e42e32964a36aeb3b4b4d414b19d /arch | |
parent | time: add ADJ_OFFSET_SS_READ (diff) | |
download | linux-f44d9efd3510776216938fef84adc99cc0e12412.tar.xz linux-f44d9efd3510776216938fef84adc99cc0e12412.zip |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/apic_32.c | 2 |
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) * Unsupported on P4 - see Intel Dev. Manual Vol. 3, Ch. 8.6.1 And not * needed on AMD. */ - if (modern_apic()) + if (modern_apic() || boot_cpu_data.x86_vendor == X86_VENDOR_AMD) return; /* * Wait for idle. |