Virtual mode execution manager
US-12118376-B2 · Oct 15, 2024 · US
US8966477B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-8966477-B2 |
| Application number | US-201113089066-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 18, 2011 |
| Priority date | Apr 18, 2011 |
| Publication date | Feb 24, 2015 |
| Grant date | Feb 24, 2015 |
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.
A system comprises a guest graphics subsystem with a combined virtual graphics device that combines underlying emulated virtual graphics device and virtual function of a physical graphics device to support virtual machine migration. The VMM in the system may expose to the guest a single combined virtual PCIe graphics device that combines access to the virtual graphics device and the virtual function, and switches between the virtual graphics device and the virtual function for graphics acceleration without triggering a PnP event in the guest OS. In response to the switch, the guest graphics stack and applications may redraw their windows to provide a consistent user experience.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a platform hardware; a guest virtual machine; and a virtual machine monitor to assign one of an emulated virtual device in the virtual machine monitor and a virtual function of a physical device in the platform hardware to the guest virtual machine, to expose a combined virtual device to the guest virtual machine through said one of the virtual device and the virtual function assigned by the virtual machine monitor, and to expose a configuration space for the combined virtual device to the guest virtual machine independent of said one of the emulated virtual device and the virtual function assigned by the virtual machine monitor. 2. The system of claim 1 , further comprising: a guest driver to detect which one of the emulated virtual device and the virtual function is active for the combined virtual device and to select a plugin that matches said one of the emulated virtual device and the virtual function detected by the guest driver. 3. The system of claim 2 , further comprising: a virtual machine tools module to notify the guest driver of a virtual machine migration. 4. The system of claim 2 , wherein the guest driver comprises a wrapper-plugin structure, wherein the wrapper is to determine a plugin corresponding to said one of the emulated virtual device and the virtual function that is detected active by the guest drive. 5. The system of claim 1 , wherein the virtual machine monitor is further to maintain a mapping from the configuration space to said one of the emulated virtual device and the virtual function detected by the guest driver. 6. The system of claim 1 , wherein the virtual machine monitor is further to provide one or more fields in the configuration space to cover the emulated virtual device and the virtual function. 7. The system of claim 1 , wherein the emulated virtual device comprises an emulated virtual graphics device to implement emulated graphics processing capability. 8. The system of claim 1 , wherein the virtual machine monitor is further to switch between the emulated virtual device and the virtual function of the physical device within the combined virtual device, without triggering a plug-and-play event in a guest operating system of the guest virtual machine. 9. A method, comprising: providing a combined virtual graphics device through one of an emulated virtual graphics device and a virtual function of a physical graphic device in a host; exposing the combined virtual graphics device to a host; exposing a PCIe configuration space for the combined virtual graphics device that is independent of which of the emulated virtual graphics device and the virtual function is active for the combined virtual graphics device. 10. The method of claim 9 , further comprising: switching between the emulated virtual graphics devices and the virtual function of the physical graphic device without a hot-plug/unplug from a guest operating system of the guest. 11. The method of claim 9 , wherein the PCIe configuration space comprises one or more fields that map to the active one of the emulated virtual graphics device and the virtual function. 12. The method of claim 9 , further comprising: in response to a switch between the emulated virtual graphics device and the virtual function, determining a plugin driver corresponding to one of the emulated virtual graphics device and the virtual function that is switched to; and initializing said one of the emulated virtual graphics device and the virtual function that is switched to. 13. The method of claim 9 , further comprising: performing a switch between the emulated virtual graphics device and the virtual function within the combined virtual graphics device, without triggering a plug-and-play event in a guest operating system of the guest virtual machine. 14. A non-transitory machine-readable medium containing instructions which, when executed by a processing system, cause the processing system to assign one of a virtual function of a physical graphics device in a host and an emulated virtual graphics device to a guest; exposing a virtual PCIe graphics device to the guest, wherein the virtual PCIe device has graphics capability through said one of the virtual function of the physical graphics device and the emulated graphics device that is assigned; and in response to a virtual machine migration in the guest, perform a PCIe function level reset on the virtual PCIe graphics device to ignore access to the virtual function and the emulated virtual graphics device. 15. The non-transitory machine-readable medium of claim 14 , further comprising a plurality of instructions that in response to being executed result in a computing device to: detect which one of the virtual function and the emulated virtual graphics device is active for the virtual PCIe graphics device; and select a plugin that matches one of the virtual function and the emulated virtual graphics device that is detected active. 16. The non-transitory machine-readable medium of claim 14 , further comprising a plurality of instructions that in response to being executed result in a computing device to: expose to the guest a PCIe configuration space for the virtual PCIe graphics device, wherein the PCIe configuration space is to cover configurations of the virtual function and the emulated virtual graphics device. 17. The non-transitory machine-readable medium of claim 14 , further comprising a plurality of instructions that in response to being executed result in a computing device to: switch between the virtual function and the physical graphics device that are underlying the virtual PCIe graphics device based on the migration.
Bare-metal, i.e. hypervisor runs directly on hardware · CPC title
resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence) · CPC title
Arrangements for software engineering (testing or debugging G06F11/36; administrative, planning or organisation aspects of software project management G06Q10/06) · CPC title
Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.