A method and apparatus for allocating a variable amount of memory to a
device coupled to a bus are disclosed. In one embodiment, a first
register contains a first value. A second register (e.g., Base Address
Register) contains a second value that represents a default amount of
memory to allocate to the device. The second value is automatically
altered to indicate an updated amount of memory to allocate based on the
first value. The ability to alter the default memory value substantially
eliminates memory holes, which are unused portions of memory that have
been allocated to devices coupled to the bus.