Re: PCI MSI breaks when booting with nosmp

From: Andi Kleen
Date: Mon Apr 21 2008 - 15:41:39 EST


Jesse Barnes wrote:
> On Monday, April 21, 2008 11:45 am Andi Kleen wrote:
>> Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> writes:
>>> Ok, I see this too on my desktop machine. It looks like we're not
>>> getting interrupts setup correctly in the nosmp case. Still digging
>>> through to see why though...
>> NoSMP disables the io-apic and a lot of modern systems don't work without
>> APIC.
>>
>> If you just want to run with a single cpu for testing etc. always use
>> maxcpus=1 (not 0, that will disable the APIC too)
>
> Right... but it looks like the MSI code is buggy when noapic is specified via
> nosmp or maxcpus=0. We should either fix it to work with noapic or disable
> it like we do the ioapic when nosmp or maxcpus=0:

First that would likely not compile on architectures without PCI?

Also there is more code in the guts of arch/x86 that disables the
IO-APIC and likely has the same problem. Best probably you put it all
into a single function that does it all properly instead of continuning
to open code it.

Just don't break the other architectures in main.c

-Andi
--
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/