Emulated endpoint configuration
First Claim
Patent Images
1. A method for emulating a peripheral component interconnect (PCI) configuration space in a PCI device, the method comprising:
- receiving, by a PCI core of the PCI device, a PCI configuration access request from a PCI root complex, wherein the PCI device is capable of being connected to and disconnected from a host computing system having a host processor, and wherein the PCI device includes a local processor, an emulated configuration space that is part of the PCI device, and a non-emulated native configuration space having a native configuration register associated with functionalities common to multiple peripheral devices;
sending, by the PCI core to a configuration management module of the PCI device, the PCI configuration access request;
determining, by the configuration management module of the PCI device, that the PCI configuration access request is for the emulated configuration space instead of the non-emulated native configuration space;
sending, by the configuration management module to an emulation module that is part of the PCI device, an interrupt request associated with the PCI configuration access request;
in response to the interrupt request, executing, by the emulation module of the PCI device, configuration space emulation software to retrieve an emulated configuration from the emulated configuration space of the PCI device; and
servicing the PCI configuration access request using the emulated configuration.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for emulating a configuration space by a peripheral device may include receiving a configuration access request, determining that the configuration access request is for a configuration space other than a native configuration space of the peripheral device, and retrieving an emulated configuration from an emulated configuration space. The configuration access request can then be serviced by using the emulated configuration.
-
Citations
25 Claims
-
1. A method for emulating a peripheral component interconnect (PCI) configuration space in a PCI device, the method comprising:
-
receiving, by a PCI core of the PCI device, a PCI configuration access request from a PCI root complex, wherein the PCI device is capable of being connected to and disconnected from a host computing system having a host processor, and wherein the PCI device includes a local processor, an emulated configuration space that is part of the PCI device, and a non-emulated native configuration space having a native configuration register associated with functionalities common to multiple peripheral devices; sending, by the PCI core to a configuration management module of the PCI device, the PCI configuration access request; determining, by the configuration management module of the PCI device, that the PCI configuration access request is for the emulated configuration space instead of the non-emulated native configuration space; sending, by the configuration management module to an emulation module that is part of the PCI device, an interrupt request associated with the PCI configuration access request; in response to the interrupt request, executing, by the emulation module of the PCI device, configuration space emulation software to retrieve an emulated configuration from the emulated configuration space of the PCI device; and servicing the PCI configuration access request using the emulated configuration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A peripheral device comprising:
-
a local processor; an emulation component; a bus interface core including a non-emulated native configuration space having a native configuration register associated with functionalities common to multiple peripheral devices; and a configuration management component coupled to the bus interface core, the configuration management component configured to; receive a configuration access request from the bus interface core; determine whether the configuration access request is for the non-emulated native configuration space or for an emulated configuration space that is part of the peripheral device; request the emulation component of the peripheral device to retrieve an emulated configuration from the emulated configuration space in response to determining that the configuration access request is for the emulated configuration space; and service the configuration access request using the emulated configuration, wherein the peripheral device is capable of being connected to and disconnected from a host computing system having a host processor. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for emulating a configuration space by a peripheral device, the method comprising:
-
receiving, by the peripheral device, a configuration access request, wherein the peripheral device is capable of being connected to and disconnected from a host computing system having a host processor, and wherein the peripheral device includes a local processor, an emulated configuration space that is part of the peripheral device, and a non-emulated native configuration space having a native configuration register associated with functionalities common to multiple peripheral devices; determining, by the peripheral device, whether the configuration access request is for the non-emulated native configuration space or for the emulated configuration space; determining, by the peripheral device, that the configuration access request is for the emulated configuration space; retrieving, by the peripheral device, an emulated configuration from the emulated configuration space; and servicing, by the peripheral device, the configuration access request using the emulated configuration. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification