Linus,

please pull the latest x86-urgent-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 
x86-urgent-for-linus

A single bugfix for the recent changes related to registering the boot cpu
when this has not happened before prefill_possible_map(). The main problem
with this change got fixed already, but we missed the case where the local
APIC is not yet mapped, when prefill_possible_map() is invoked, so the
registration of the boot cpu which has the APIC bit set in CPUID will
explode.

I should have seen that issue earlier, but all I can do now is feeling
embarassed.

Thanks,

        tglx

------------------>
Thomas Gleixner (1):
      x86/smpboot: Init apic mapping before usage


 arch/x86/kernel/setup.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index bbfbca5fea0c..9c337b0e8ba7 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1221,11 +1221,16 @@ void __init setup_arch(char **cmdline_p)
         */
        get_smp_config();
 
+       /*
+        * Systems w/o ACPI and mptables might not have it mapped the local
+        * APIC yet, but prefill_possible_map() might need to access it.
+        */
+       init_apic_mappings();
+
        prefill_possible_map();
 
        init_cpu_to_node();
 
-       init_apic_mappings();
        io_apic_init_mappings();
 
        kvm_guest_init();

Reply via email to