x86: put trigger in to detect mismatched apic versions
authorMike Travis <travis@sgi.com>
Fri, 16 Jan 2009 23:22:16 +0000 (15:22 -0800)
committerIngo Molnar <mingo@elte.hu>
Sun, 18 Jan 2009 20:15:27 +0000 (21:15 +0100)
Impact: add debug warning

Fire off one message if two apic's discovered with different
apic versions. (this code is only called during CPU init)

The goal of this is to pave the way of the removal of the apic_version[]
array. We dont expect any apic version incompatibilities in the x86
landscape of systems [if so we dont handle them very well and probably
never will handle deep apic version assymetries well], but it's prudent
to have a debug check for one kernel cycle nevertheless.

Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/apic.c

index d19aa3aab62b45b44f05a19f9ae7efd6937d9a52..4b6df2469fe3ddda97dd7b901171b8bba5c483f0 100644 (file)
@@ -1837,6 +1837,11 @@ void __cpuinit generic_processor_info(int apicid, int version)
        num_processors++;
        cpu = cpumask_next_zero(-1, cpu_present_mask);
 
+       if (version != apic_version[boot_cpu_physical_apicid])
+               WARN_ONCE(1,
+                       "ACPI: apic version mismatch, bootcpu: %x cpu %d: %x\n",
+                       apic_version[boot_cpu_physical_apicid], cpu, version);
+
        physid_set(apicid, phys_cpu_present_map);
        if (apicid == boot_cpu_physical_apicid) {
                /*