Patent ID: 7478176

Claim:
A method comprising: determining a PCI (Peripheral Component Interconnect) hierarchy corresponding to PCI devices hosted by a computer platform; gathering from the PCI hierarchy resource requests for the PCI devices; building a map of resource alignment requirements for the PCI devices; computing a virtual resource map that maps the resource requests to resource allocations in a manner that minimizes the amount of address space in which the resource allocations will fit based on the resource alignment requirements and sizes of the resource requests; and allocating resources for the PCI devices based on the virtual resource map, including aggregating the resource requests for PCI devices at a given level of the PCI hierarchy into respective resource request objects, each resource request object having a size corresponding to the aggregated resource requests of the PCI devices to which it corresponds, defining a bin size comprising an address space aperture corresponding to a resource type of the resource requests, and sorting, via a bin-packing algorithm, the resource request objects into appropriate bins to minimize the number of bins required to support the resource requests for all of the PCI devices hosted by the computer platform.