On Tue, 2008-07-15 at 13:28 -0700, Jesse Barnes wrote: > > Also, TJ was working on something similar; any comments TJ? My solution takes a different approach in as much as it uses *ALL* available gaps in the 32-bit address space, tracking them dynamically using a resource list, rather than the simplistic pci_mem_start: /* * PCI Dynamic Resource Allocation Management * * An implementation that uses all free memory address regions reported * by the BIOS Int 0x15 eax=0xe820 EFI and/or ACPI facilities, does top-down or * bottom-up allocation, attempts to optimise usage of the PCI I/O MEM ranges, and * provides Dynamic Resource Adjustment (DRA) to allow bridges to expand/contract * their resource range and auto-reconfigure devices behind the bridge. * * Copyright April 2008 TJ <linux@xxxxxxxxxxx> The header and kernel CONFIG are attached to my wiki article tracking the project: http://tjworld.net/wiki/Linux/PCIDynamicResourceAllocationManagement I wrote it after experiencing "GFX fails: PCI 64-bit BAR mapped above 4GB on 32-bit northbridge" after increasing RAM from 2 to 3GB. http://bugzilla.kernel.org/show_bug.cgi?id=10461 I've not had a lot of opportunity to work on the code since I solved the issue. Also, I've been hesitating on publishing the code since I've not got time to get involved in a protracted patch ping-pong to prepare it for main-line. TJ. -- 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