Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller

US9424211B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9424211-B2
Application numberUS-34797008-A
CountryUS
Kind codeB2
Filing dateDec 31, 2008
Priority dateDec 31, 2008
Publication dateAug 23, 2016
Grant dateAug 23, 2016

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.

Embodiments of apparatuses, methods, and systems for providing multiple virtual device controllers by redirecting an interrupt from a physical device controller are disclosed. In one embodiment, an apparatus includes a processor, a physical device controller, and virtualization logic. The virtualization logic is to receive a first interrupt from the physical device controller, and in response, send a second interrupt to the processor from one of a plurality of virtual device controllers.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a physical device controller; a processor to execute a plurality of virtual machines, each virtual machine having a virtual device controller associated with the physical device controller, and a virtual machine monitor; a local interrupt controller; a system memory; programmable configuration storage in which to store a plurality of entries, including a first entry including a physical address value, a physical data value, a virtual address value, and a virtual data value, the physical address value associated with the local interrupt controller according to the virtual machine monitor's view of the system memory, the physical data value corresponding to a first address of an interrupt handler according to the virtual machine monitor's view of the system memory, the virtual address value associated with the local interrupt controller according to one of the plurality of virtual machines' view of the system memory, and the virtual data value corresponding to a second address of the interrupt handler according to the one of the plurality of virtual machines' view of the system memory, wherein additional entries include the first physical address value and the first physical data value to associate additional virtual machine's virtual device controllers with the physical device controller; virtualization circuitry to trap a first interrupt message without the virtual machine monitor intercepting the first interrupt message, the first interrupt message having the physical address value in an address field of the first interrupt message and the physical data value in a data field of the first interrupt message, from the physical device controller to the processor, and in response, send a second interrupt message, including the virtual address value in an address field of the second interrupt message and the virtual data value in a data field of the second interrupt message, to the processor from one of a plurality of virtual device controllers associated with the physical device controller, the second interrupt message corresponding to but separate from the first interrupt message. 2. The apparatus of claim 1 , wherein the programmable configuration storage is to be programmed to maintain status of which of the plurality of virtual machines the first interrupt message is to be redirected. 3. The apparatus of claim 1 , wherein the virtualization circuitry is to send the second interrupt message to the processor only after control of the processor has been transferred to the virtual machine. 4. A method comprising: executing, by a processor, a plurality of virtual machines and a virtual machine monitor; trapping, by virtualization circuitry without interception by the virtual machine monitor, a first interrupt message from a physical device controller to the processor, the first interrupt message having a physical address value in an address field of the first interrupt message and a physical data value in a data field of the first interrupt message, the physical address value associated with a local interrupt controller according to the virtual machine monitor's view of a system memory, the physical data value corresponding to a first address of an interrupt handler according to a virtual machine monitor's view of a system memory; sending, by the virtualization circuitry in response to trapping the first interrupt message, a second interrupt message to the processor from one of a plurality of virtual device controllers associated with the physical device controller, the second interrupt including a virtual address value in an address field of the second interrupt message and a virtual data value in a data field of the second interrupt message, the virtual address value associated with local interrupt controller according to one of the plurality of virtual machines' view of the system memory, the virtual data value corresponding to a second address of the interrupt handler according to one of the plurality of virtual machines' view of the system memory, the virtual address value and virtual data value from an entry in a programmable configuration storage, the entry including the physical address value and the physical data value to associate the physical device controller with a virtual device controller for the virtual machine, the programmable configuration storage having additional entries including the physical address value and the physical data value to associate the physical device controller with additional virtual device controllers for additional virtual machines. 5. The method of claim 4 , further comprising programming the programmable configuration storage to maintain status of which of the plurality of virtual machines the first interrupt message is to be redirected. 6. The method of claim 4 , wherein sending the second interrupt message to the processor is performed only after control of the processor has been transferred to the virtual machine.

Assignees

Inventors

Classifications

  • by interrupt, e.g. masked · CPC title

  • G06F13/24Primary

    using interrupt (G06F13/32 takes precedence) · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Hypervisors; Virtual machine monitors · 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 US9424211B2 cover?
Embodiments of apparatuses, methods, and systems for providing multiple virtual device controllers by redirecting an interrupt from a physical device controller are disclosed. In one embodiment, an apparatus includes a processor, a physical device controller, and virtualization logic. The virtualization logic is to receive a first interrupt from the physical device controller, and in response, …
Who is the assignee on this patent?
Bogin Zohar, Kareenahaili Suryaprasad, Nalawadi Rajeev K, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F13/24. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 23 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).