On Wed, Nov 04, 2009 at 06:18:19PM -0600, Bjorn Helgaas wrote: > On Wednesday 04 November 2009 04:59:29 pm Ira W. Snyder wrote: > > On Wed, Nov 04, 2009 at 05:15:52PM -0600, Bjorn Helgaas wrote: > > > On Wednesday 04 November 2009 10:52:50 am Ira W. Snyder wrote: > > > > ... > > > > All six scenarios work on the Force computer. It seems to re-assign the > > > > same PCI BAR addresses each time. > > > > > > > > All six scenarios fail on the Trenton computer. It always re-assigns the > > > > PCI BAR addresses starting at 0x40000000, which is just above the top of > > > > physical memory. There is 1GB of RAM in the system. > > > > > > I assume that if the card is present at boot, it works until you > > > try the hotplug operations. > > > > > > > On both the Trenton and Force computers, the BIOS assigns the PCI BAR > > > > addresses towards the top of memory. Both assign addresses above > > > > 0xF0000000. > > > > > > > > After running a hotplug on the Trenton computer, I have used a PCI logic > > > > analyzer to confirm that no transactions accessing the PCI BAR's of the > > > > hotplugged card make it onto the PCI bus. PCI configuration space still > > > > works. > > > > > > If the bridge isn't forwarding transactions to the PCI bus, my guess > > > is that we put the BAR the wrong place, e.g., maybe we didn't place > > > it in a host bridge aperture. > > > > > > This is perfect timing ... I'm trying to improve the Linux PCI resource > > > messages to help debug situations like this. If it's convenient for you, > > > I would love to see dmesg logs from both boards using the current PCI > > > linux-next kernel. > > > > > > > I've attached logs from both boards. Note how running "mapper" after > > hotplug works fine on the Force, but returns all 0xff's on the Trenton. > > That's where I hooked up a PCI logic analyzer and verified that > > *nothing* ever makes it onto the bus. > > Hmm, no ACPI on either board :-) (I assume you expected that.) > Yep, no ACPI. It doesn't work, or is missing from the BIOS, or something like that. ACPI is on in the kernel config. > In that case, we can only guess the host bridge apertures based on > the memory size, since we don't have host bridge drivers that know > how to read them out of the hardware. > > You mentioned using "memmap=" to change the aperture we allocate > from. Can you tweak that to make the after-hotplug mappings be > closer to the original BIOS ones? I know you tried that already; > I guess I'm just wondering if the magic lower boundary is something > like 0xfb000000 rather than 0xf0000000. > I can try that tomorrow. I'll keep bumping it up 16MB at a time and see what happens. > I guess if we could dig up a spec for the host bridge, we might be > able to read the right values out of the chip, too, at least for > experimentation. > Thanks, Ira -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html