Paravirtualized access for device assignment by bar extension

US10241817B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10241817-B2
Application numberUS-201414553109-A
CountryUS
Kind codeB2
Filing dateNov 25, 2014
Priority dateNov 25, 2014
Publication dateMar 26, 2019
Grant dateMar 26, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A hypervisor associates a combined register space with a virtual device to be presented to a guest operating system of a virtual machine, the combined register space comprising a default register space and an additional register space. Responsive to detecting an access of the additional register space by the guest operating system of the virtual machine, the hypervisor performs an operation on behalf of the virtual machine, the operation pertaining to the access of the additional register space.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: identifying, by a processing device executing a hypervisor, a size of a default register space of a physical device to be assigned to a guest operating system of a virtual machine; identifying an additional register space to extend the size of the default register space for a virtual device to be presented to the guest operating system of the virtual machine; associating a combined register space with the virtual device, the combined register space comprising the default register space and the additional register space, wherein associating the combined register space with the virtual space comprises mapping the additional register space to a shared memory; and responsive to receiving a fault from the guest operating system indicating an access of the additional register space performing, by the processing device executing the hypervisor, an operation on behalf of the virtual machine, the operation pertaining to the access of the additional register space, wherein performing the operation comprises at least one of executing a hypervisor instruction on behalf of the guest operating system of the virtual machine, or communicating with a second physical device on behalf of the guest operating system of the virtual machine. 2. The method of claim 1 , wherein the access of the additional register space is detected by: determining a starting address of the additional register space; identifying a memory page at the starting address of the additional register space; and designating the memory page of the additional register space as not present. 3. The method of claim 1 wherein identifying the default register space comprises: determining a size of the default register space. 4. The method of claim 3 , wherein determining the size of the default register space comprises: reading a base address register of the assigned physical device; and determining a first number of read only bits in base address register. 5. The method of claim 4 wherein identifying the additional register space comprises: determining a second number of read only bits in view of the first number of read only bits in the base register; determining a size of the additional register space in view of the second number of read only bits; and mapping the additional register space to the virtual device. 6. The method of claim 1 wherein the assigned physical device is a Peripheral Component Interconnect (PCI) device. 7. A computing apparatus comprising: a memory; and a processing device, operatively coupled to the memory, to execute a hypervisor to: associate a combined register space with a virtual device to be presented to a guest operating system of a virtual machine, the combined register space comprising a default register space and an additional register space, wherein to associate the combined register space with the virtual space the hypervisor is to map the additional register space to a shared memory; and responsive to receiving a fault from the guest operating system indicating an access of the additional register space, perform an operation on behalf of the virtual machine, the operation pertaining to the access of the additional register space, wherein to perform the operation, the processing device is to at least one of execute a hypervisor instruction on behalf of the guest operating system of the virtual machine, or communicate with a second physical device on behalf of the guest operating system of the virtual machine. 8. The apparatus of claim 7 , wherein the access of the additional register space is detected by the processing device to: determine a starting address of the additional register space; identify a memory page at the starting address of the additional register space; and designate the memory page of the additional register space as not present. 9. The apparatus of claim 7 , wherein the processing device is further to: determine a size of the default register space. 10. The apparatus of claim 9 , wherein to determine the size of the default register space, the processing device is to: read a base address register of a physical device to be assigned to the guest operating system of the virtual machine; and determine a first number of read only bits in base address register. 11. The apparatus of claim 10 , wherein the processing device is further to: determine a second number of read only bits in view of the first number of read only bits in the base register; determine a size of the additional register space in view of the second number of read only bits; and map the additional register space to the virtual device. 12. The apparatus of claim 7 wherein the physical device is a Peripheral Component Interconnect (PCI) device. 13. A non-transitory computer readable storage medium, having instructions stored therein, which cause a processing device to: identify, by the processing device executing a hypervisor, a size of a default register space of a physical device to be assigned to a guest operating system of a virtual machine; identify an additional register space to extend the size of the default register space for a virtual device to be presented to the guest operation system of the virtual machine; associate a combined register space with the virtual device, the combined register space comprising the default register space and the additional register space, wherein to associate the combined register space with the virtual space the processing device is to map the additional register space to a shared memory; and responsive to receiving a fault from the guest operating system indicating an access of the additional register space, perform, by the processing device executing the hypervisor, an operation on behalf of the virtual machine, the operation pertaining to the access of the additional register space, wherein to perform the operation, the processing device is to at least one of execute a hypervisor instruction on behalf of the guest operating system of the virtual machine, or communicate with a second physical device on behalf of the guest operating system of the virtual machine. 14. The non-transitory computer readable storage medium of claim 13 wherein the access of the additional register space is detected by the processing device to: determine a starting address of the additional register space; identify a memory page at the starting address of the additional register space; and designate the memory page of the additional register space as not present. 15. The non-transitory computer readable storage medium of claim 13 , wherein to identify the default register space, the processing device is to: determine a size of the default register space. 16. The non-transitory computer readable storage medium of claim 15 , wherein to determine the size of the default register space, the processing device is to: read a base address register of the assigned physical device; and determine a first number of read only bits in base address register. 17. The non-transitory computer readable storage medium of claim 16 , wherein to identify the additional register space, the processing device is to: determine a second number of read only bits in view of the first number of read only bits in the base register; determine a size of the additional register space in view of the second number of read only bits; and map the additional register space to the virtual device.

Assignees

Inventors

Classifications

  • Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox · CPC title

  • Para-virtualisation, i.e. guest operating system has to be modified · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10241817B2 cover?
A hypervisor associates a combined register space with a virtual device to be presented to a guest operating system of a virtual machine, the combined register space comprising a default register space and an additional register space. Responsive to detecting an access of the additional register space by the guest operating system of the virtual machine, the hypervisor performs an operation on …
Who is the assignee on this patent?
Red Hat Israel Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 26 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).