On Tue, Dec 7, 2010 at 8:44 AM, Scott Duplichan scott@notabs.org wrote:
On Thu, Dec 2, 2010 at 9:17 AM, Myles Watson mylesgw@gmail.com wrote:
"Why does the current code for handling fixed resources allow the mmconf space to get allocated to a PCI device? Function avoid_fixed_resources calls function constrain_resources, which recursively searches the device tree for fixed io and memory resources. The ioapic fixed memory address is found and avoided during the recursive search because this southbridge device is below the level where the search starts. On the other hand, the mmconf fixed resource is added from the northbridge code, and falls under 'APIC_CLUSTER: 0'. This device is not part of the search for two reasons. One is that it is not at or below 'pci_domain 0' in the device tree. Another reason is that its type is APIC_CLUSTER and not PCI_DOMAIN."
I don't see any reason not to move that resource into the northbridge to avoid that issue. It's a simple fix. Is there a good reason for having the MMCONF BAR in the APIC cluster?
This is what I was thinking. Build tested only.
Signed-off-by: Myles Watson mylesgw@gmail.com
Thanks, Myles
Thanks for this patch Myles. Acked-by: Scott Duplichan scott@notabs.org
Rev 6148.
I think that some nice next steps would be:
- Set the size of the MMCONF area based on the number of busses in the machine. - Let the resource allocator assign the location so that it doesn't waste address space.
I don't think it would be too difficult, but it would require some testing.
Thanks, Myles