Re: [RFC PATCH] PCI MMCONFIG: add validation against ACPI motherboard resources

Robert Hancock
2007-05-05T00:22:32Z

Jesse Barnes wrote:
> On Wednesday, May 2, 2007 4:54 pm Jesse Barnes wrote:
>>> What happens if you take out the chipset register detection, does
>>> the MCFG table give you the same result? Wonder if they're doing
>>> something funny with start/end bus values or something in their
>>> table. There's some code in my patch that prints out the important
>>> data from the MCFG table, can you tell me what that shows with the
>>> chipset detection taken out?
>> Yeah, I'll look a little more closely. It could also be that another
>> register needs tweaking somewhere to actually get the bridge to
>> decode the space.
>>
>>> If that doesn't provide any useful information, I think we may need
>>> some assistance from Intel chipset/motherboard people to figure out
>>> what is going on here..
>> I'm talking with them now, hopefully they'll shed some light on it.
>
> I did a little more debugging this morning, and found that I can
> actually do reads from the space described by ACPI and the device
> register, but later when ACPI actually scans the root bridges, it
> hangs. Specifically the call to pci_acpi_scan_root in
> pci_root.c:acpi_pci_root_add() never seems to return.
>
> I'll walk through that logic when I get back to my test box, but it's
> also worth noting that Vista's MCFG on this machine apparently works ok
> too.

I would try sticking some debug in arch/x86_64/pci/mmconfig.c at the
beginning and end of pci_mmcfg_read and pci_mmcfg_write to print the
seg, bus, devfn and reg for each read and write. Hopefully that will
track down the one that is causing the lockup, if it is an actual
MMCONFIG access that's doing it..

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/