Re: PCI MSI breaks when booting with nosmp
- From: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
- Date: Mon, 21 Apr 2008 13:40:20 -0700
On Monday, April 21, 2008 1:20 pm Jean Delvare wrote:
Hi Andi,
Le lundi 21 avril 2008, Andi Kleen a écrit :
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)
In my case, booting with noapic works fine, so I don't think that the
problem is related to APIC being disabled.
One difference between noapic and nosmp is that in the nosmp case even the
local APIC setup won't occur in native_smp_prepare_cpus(), due to
smp_sanity_check() returning -1 in the setup_max_cpus == 0 case.
So we either need smp_sanity_check to do a little more APIC setup if max_cpus
== 0 or shuffle things around in native_smp_prepare_cpus(). Since the former
is already done for 32 bit builds for the NMI vector, maybe we should just
make it unconditional so that MSI works?
Jesse
--
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/
- References:
- PCI MSI breaks when booting with nosmp
- From: Jean Delvare
- Re: PCI MSI breaks when booting with nosmp
- From: Andi Kleen
- Re: PCI MSI breaks when booting with nosmp
- From: Jean Delvare
- PCI MSI breaks when booting with nosmp
- Prev by Date: Re: Aperture memory hole on x86_64
- Next by Date: Re: PCI MSI breaks when booting with nosmp
- Previous by thread: Re: PCI MSI breaks when booting with nosmp
- Next by thread: Re: [PATCH 1/2] libata: implement ATA_IOC_GET_IO32/ATA_IOC_SET_IO32 ioctls
- Index(es):
Relevant Pages
|