Combined virtual graphics device
US-8966477-B2 · Feb 24, 2015 · US
US10521365B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10521365-B2 |
| Application number | US-201514872964-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 1, 2015 |
| Priority date | Oct 5, 2014 |
| Publication date | Dec 31, 2019 |
| Grant date | Dec 31, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. 2. The method of claim 1 , wherein servicing the PCI configuration access request includes sending, to the PCI root complex, the emulated configuration when the PCI configuration access request is a configuration read request. 3. The method of claim 2 , wherein servicing the PCI configuration access request further includes modifying the emulated configuration. 4. The method of claim 1 , wherein servicing the PCI configuration access request includes updating the emulated configuration when the PCI configuration access request is a configuration write request. 5. The method of claim 1 , wherein the emulated configuration space includes emulated configurations for a plurality of PCI devices. 6. The method of claim 1 , wherein the emulated configuration space is stored in a DRAM. 7. The method of claim 1 , wherein the emulated configuration space is stored in a persistent memory. 8. The method of claim 1 , wherein the configuration space emulation software is executed in an isolated environment. 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. 10. The peripheral device of claim 9 , wherein the emulated configuration space includes emulated configurations for a plurality of peripheral devices. 11. The peripheral device of claim 9 , wherein the emulated configuration represents a physical function resource. 12. The peripheral device of claim 9 , wherein the emulated configuration represents a virtual function resource. 13. The peripheral device of claim 9 , wherein the emulated configuration is retrieved via execution of configuration emulation software running in an isolated environment. 14. The peripheral device of claim 9 , wherein the configuration management component includes a status register to track progress of the configuration access request, and wherein the status register is updated after completion of servicing the configuration access request. 15. The peripheral device of claim 9 , wherein the emulation component is coupled to a DRAM, and wherein the emulated configuration space is stored in the DRAM. 16. The peripheral device of claim 9 , wherein the emulation component is coupled to a persistent memory, and wherein the emulated configuration space is stored in the persistent memory. 17. The peripheral device of claim 9 , wherein the emulated configuration space is stored as a text file. 18. The peripheral device of claim 9 , wherein at least one of the emulation component, the bus interface core, and the configuration management component comprise an electronic circuit. 19. The peripheral device of claim 9 , wherein the peripheral device is implemented using a system-on-chip (SoC), an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). 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. 21. The method of claim 20 , wherein the emulated configuration space includes emulated configurations for a plurality of peripheral device functions. 22. The method of claim 20 , wherein the emulated configuration represents a physical function resource. 23. The method of claim 20 , wherein the emulated configuration represents a virtual function resource. 24. The method of claim 20 , wherein servicing the configuration access request includes providing the emulated configuration to a source of the configuration access request. 25. The method of claim 20 , wherein servicing the configuration access request includes updating the emulated configuration.
Bus-related hardware virtualisation · CPC title
PCI express · CPC title
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247) · CPC title
using interrupt (G06F13/32 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.