Re: [tip:irq/numa] x86, apic: Fix dummy apic read operationtogether with broken MP handling

From: Cyrill Gorcunov
Date: Mon Jun 08 2009 - 13:47:54 EST


[Cyrill Gorcunov - Mon, Jun 08, 2009 at 07:16:46PM +0400]
...
| | should be other case:
| | when MADT is right, but disablelapic is used.
| | will get cpu_has_apic == 0, and we are not using dummy apic read/write.
| |
| | so don't need to check
| | /*
| | * If we couldn't find a local APIC, then get out of here now!
| | */
| | if (APIC_INTEGRATED(apic_version[boot_cpu_physical_apicid]) &&
| | !cpu_has_apic) {
| | if (!disable_apic) {
| | pr_err("BIOS bug, local APIC #%d not detected!...\n",
| | boot_cpu_physical_apicid);
| | pr_err("... forcing use of dummy APIC emulation."
| | "(tell your hw vendor)\n");
| | }
| | smpboot_clear_io_apic();
| | arch_disable_smp_support();
| | return -1;
| | }
|
...

I've just emulated the situation where this if() triggered via
disable_apic boot option and without if (!disable_apic) we
have just a wrong message about BIOS bug (which is not since
we've disabled apic by hands). So no need to remove this
"if (!disable_apic)" snippet. In most cases it will be
always-true condition but for rare cases it'll be usefull
as well.

Now I'm trying to fake apic integrated case so we could
need additional check here...

-- Cyrill
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/