Messages in this thread | | | Date | Mon, 21 Apr 2008 21:41:25 +0200 | From | Andi Kleen <> | Subject | Re: PCI MSI breaks when booting with nosmp |
| |
Jesse Barnes wrote: > On Monday, April 21, 2008 11:45 am Andi Kleen wrote: >> Jesse Barnes <jbarnes@virtuousgeek.org> 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
| |