IP Library › Granted Patent US 8,286,162
Granted Patent B2
US 8,286,162 · App. 11/323,114 · Granted Oct 9, 2012

Delivering interrupts directly to a virtual processor

Assignee: Intel Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,286,162
App. No.
11/323,114
Granted
Oct 9, 2012
Kind
B2
Abstract

Embodiments of apparatuses, methods, and systems for delivering an interrupt to a virtual processor are disclosed. In one embodiment, an apparatus includes an interface to receive an interrupt request, delivery logic, and exit logic. The delivery logic is to determine, based on an attribute of the interrupt request, whether the interrupt request is to be delivered to the virtual processor. The exit logic is to transfer control to a host if the delivery logic determines that the interrupt request is not to be delivered to the virtual processor.

Claims (29)

1. An apparatus comprising:

an interface to receive:

an interrupt request while a guest is running on a virtual processor; and

a physical interrupt vector;

redirection control hardware to translate the physical interrupt vector to a virtual interrupt vector based on an entry in an interrupt redirection data structure;

delivery control hardware to determine, based on whether a trigger mode of the interrupt request is edge or level, whether the interrupt request is to be delivered to the virtual processor; and

exit control hardware to transfer control of the apparatus from the guest to a host if the delivery control hardware determines that the interrupt request is not to be delivered to the virtual processor.

2. The apparatus of claim 1 , wherein the delivery control hardware is also to deliver the interrupt request to the virtual processor if the delivery control hardware determines that the interrupt request is to be delivered to the virtual processor.

3. The apparatus of claim 1 , wherein the delivery control hardware is to determine whether the interrupt request is to be delivered to the virtual processor based on the physical interrupt vector.

4. The apparatus of claim 3 , wherein the delivery control hardware is to determine whether the interrupt request is to be delivered to the virtual processor based on an entry for the physical interrupt vector in an interrupt delivery data structure.

5. The apparatus of claim 3 , further comprising acknowledge control hardware to acknowledge the interrupt request to cause delivery of the physical interrupt vector.

6. A method comprising:

receiving an interrupt request while a guest is running on a virtual processor;

receiving a physical interrupt vector;

translating the physical interrupt vector to a virtual interrupt vector based on an entry in an interrupt redirection data structure;

determining, based on whether a trigger mode of the interrupt request is edge or level, whether the interrupt request is to be delivered to the virtual processor; and

transferring control from the guest to a host if the interrupt request is not to be delivered to the virtual processor.

7. The method of claim 6 , wherein determining whether the interrupt request is to be delivered to the virtual processor is also based on the physical interrupt vector.

8. The method of claim 7 , wherein determining whether the interrupt request is to be delivered to the virtual processor is based on an entry for the physical interrupt vector in an interrupt delivery data structure.

9. The method of claim 6 , further comprising acknowledging the interrupt request to cause delivery of the physical interrupt vector.

10. A system comprising:

a memory to store a data structure to control a virtual machine having a virtual processor; and

a physical processor including:

an interface to receive an interrupt request and a physical interrupt vector;

redirection logic to translate the physical interrupt vector to a virtual interrupt vector based on an entry in an interrupt redirection map in the data structure;

delivery logic to determine, based on whether a trigger mode of the interrupt request is edge or level, whether the interrupt request is to be delivered to the virtual processor; and

exit logic to transfer control of the processor from a guest to a host if the delivery logic determines that the interrupt request is not to be delivered to the virtual processor.

11. The system of claim 10 , wherein the delivery logic is to determine whether the interrupt request is to be delivered to the virtual processor based on the physical interrupt vector.

12. The system of claim 11 , wherein the delivery logic is to determine whether the interrupt request is to be delivered to the virtual processor based on an entry for the physical interrupt vector in the data structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2012
From: NEIGER, GILBERT; MADUKKARUMUKUMANA, RAJESH SANKARAN; UHLIG, RICHARD A.; STEINBERG, UDO; SCHOENBERG, SEBASTIAN; MUTHRASANALLUR, SRIDHAR; BENNETT, STEVEN M.; ANDERSON, ANDREW V.; COTA-ROBLES, ERIK C.
To: INTEL CORPORATION
Reel/Frame 027791/0712 →
Continuity (1)
Related Publication 20070157197A1 · Jul 5, 2007