Method for extending the available number of configuration registers
AssigneeMicron Technology, Inc.
InventorA. Kent Porterfield
Life of this patent
Estimating the term…
Abstract
A method for expanding the number of configuration registers available in a computer system. Unused configuration registers that correspond to non-existent functions are used for other purposes. Memory is configured to allow enumeration software to conclude that the non-existent functions do not in fact exist.
Claims35
A method for configuring and using a computer system having at least one device connected to a bus and having configuration memory space for allocation to devices, comprising:
- for the at least one device, allocating in the configuration memory space a device configuration space having one or more function configuration spaces associated with one or more functions implementable in the at least one device, each function configuration space having a header and configuration registers;
- placing in the device configuration space an indicator indicating that at least one function implementable in the at least one device and having an associated function configuration space is not actually implemented;
- and
- addressing at least one configuration register in the function configuration space associated with the at least one function that is not actually implemented for a purpose other than the associated function not actually implemented.
A method for providing additional configuration registers to a device used in a system having at least one device connected to a bus and having configuration memory space for allocation to devices, comprising:
- for the at least one device, allocating in the configuration memory space a device configuration space having one or more function configuration spaces associated with one or more functions implementable in the at least one device, each function configuration space having a header and configuration registers;
- placing in the device configuration space data to implement a first function and an indicator indicating that a second function implementable in the at least one device is not actually implemented;
- and
- permitting the configuration registers in the function configuration space for the second function that is not actually implemented to be addressed as additional configuration registers for the first function.
A method for making additional configuration registers available to a device driver used in a system having at least one device connected to a bus and having configuration memory space for allocation to devices, comprising:
- for the at least one device, allocating in the configuration memory space a device configuration space having one or more function configuration spaces associated with one or more functions implementable in the at least one device, each function configuration space having at least one configuration register;
- placing in the device configuration space data to implement a first function and an indicator indicating that a second function implementable in the at least one device is not actually implemented;
- and
- causing the at least one device to address the at least one configuration register in the function configuration space for the at least one function that is not actually implemented as an additional configuration register for the first function.
A method for providing additional configuration memory space to a device used in a system having at least one device connected to a bus and having configuration memory space for allocation to devices, comprising:
- for the at least one device, allocating in the configuration memory space a device configuration space having one or more function configuration spaces associated with one or more functions implementable in the at least one device, each function configuration space having normally allocated within it a header and configuration registers;
- placing in the device configuration space data to implement a first function and an indicator indicating that a second function implementable in the at least one device is not actually implemented;
- and
- permitting the function configuration space for the second function that is not actually implemented to be addressed as additional function configuration space for the first function.
Dependencies are inferred from the claim text.