Patent ID: 8117350

Claim:
An apparatus for accessing values for configuration space registers (CSRs) for a device, comprising: a CSR data storage mechanism having an address input and a CSR data output; a memory in the CSR data storage mechanism that comprises a plurality of memory locations for storing actual copies of values for CSRs for functions for corresponding devices that are associated with a device interface, wherein the memory locations are divided into at least one shared region and at least one unique region; and a CSR compaction mechanism that comprises a lookup structure, wherein the CSR compaction mechanism is configured to use a CSR address and a function type value to determine, using the lookup structure, a lower portion of an address for a memory location in the memory that contains a value for a corresponding CSR; wherein responsive to receiving an address comprising the lower portion of the address for the memory location and an upper portion of the address for the memory location on the address input, the CSR data storage mechanism is configured to access the value for the CSR in the memory location in a corresponding shared region or unique region.