Patent ID: 8621481

Claim:
An apparatus for performing a resource rebalance during a boot operation of a computer, the apparatus comprising: a resource manager comprising a processor and memory for being operably coupled to a plurality of devices in a device tree, the resource manager being configured to: receive at least one signal indicative of a desired set of requested resources from each of the plurality of devices to enable the plurality of devices to operate in an intended manner; determine that at least one first child device of the plurality of devices requires more resources than an amount previously assigned thereto; locate a lowest common parent device to the at least one first child device, the lowest common parent device and the at least one first child device forming a lowest common subtree; determine a first resource range corresponding to a first available range of resources that are made available to the lowest common subtree; calculate a first resource requirement corresponding to a first requested range of resources that includes at least one of a non-relocatable resource request and a relocatable resource request for the lowest common subtree; and compare the first resource requirement to the first resource range to determine if the first available range of resources is adequate to satisfy the first requested range of requested-resources, wherein the non-relocatable resource request corresponds to a resource request for one or more of bus numbers and memory addresses that can only be assigned to a particular device that resides in a particular location within the computer and wherein the relocatable resource request corresponds to a resource request for one or more of bus numbers and memory addresses that can be assigned to any device that resides in one or more different locations within the computer.