diff options
author | Andi Kleen <ak@suse.de> | 2005-09-12 12:49:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-12 13:49:57 -0400 |
commit | 1d3fbbf9fe8d5cd5f94256781cc69a4ac289a767 (patch) | |
tree | c93aab7bb1b6591925995d597b1280124b48ade4 /arch | |
parent | 8c566ef5f3eb5d9daf61d0fa31d82c211f601ba0 (diff) |
[PATCH] x86-64: Don't trust boot_cpu_id in the mptable.
It could be wrong for kexec or other cases. Read it from
the CPU instead.
Signed-off-by: Murali <muralim@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86_64/kernel/apic.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c index 12e9d6ca7222..a759f4e74557 100644 --- a/arch/x86_64/kernel/apic.c +++ b/arch/x86_64/kernel/apic.c | |||
@@ -622,8 +622,7 @@ void __init init_apic_mappings(void) | |||
622 | * Fetch the APIC ID of the BSP in case we have a | 622 | * Fetch the APIC ID of the BSP in case we have a |
623 | * default configuration (or the MP table is broken). | 623 | * default configuration (or the MP table is broken). |
624 | */ | 624 | */ |
625 | if (boot_cpu_id == -1U) | 625 | boot_cpu_id = GET_APIC_ID(apic_read(APIC_ID)); |
626 | boot_cpu_id = GET_APIC_ID(apic_read(APIC_ID)); | ||
627 | 626 | ||
628 | #ifdef CONFIG_X86_IO_APIC | 627 | #ifdef CONFIG_X86_IO_APIC |
629 | { | 628 | { |