IP Library Granted Patent US 7,979,619
Granted Patent B2
US 7,979,619 · App. 12/317,646 · Granted Jul 12, 2011

Emulating a line-based interrupt transaction in response to a message signaled interrupt

Assignee: Hewlett-Packard Development Company, L.P.
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 7,979,619
App. No.
12/317,646
Granted
Jul 12, 2011
Kind
B2
Abstract

Methods, systems, apparatuses and program products are disclosed for managing interrupt services in hypervisor and hypervisor-related environments in Message Signaled Interrupts are emulated as other type(s) of interrupt. According to an aspect of the present invention, a method of executing a program includes receiving a MSI (message signaled interrupt). Responsively, a virtual interrupt is generated and an ISR (interrupt service routine) is invoked that handles a line-based virtual interrupt transaction. A surrogate or virtual peripheral device status may also be provided and may be associated with the virtual interrupt. A single device interrupt event may, in certain circumstances, be serviced both as a line-based interrupt and also as an MSI, or as either responsive to run-time context. Embodiments of the present invention enable superior tradeoffs in regards to the interrupt sharing to a greater and more flexible extent than with previous implementations. Moreover, it makes possible interrupt sharing using an ISR that was not expressly designed for interrupt sharing.

Claims (43)

1. A method of executing a program comprising:

receiving a message signaled interrupt associated with a peripheral device by a first interrupt service routine in a privileged domain;

calling a second interrupt service routine in a non-privileged domain responsive to receiving the message signaled interrupt;

emulating a line-based interrupt transaction into the second interrupt service routine;

trapping, by a hypervisor in the privileged domain, input/output (I/O) functions invoked by the second interrupt service routine; and

performing, by the hypervisor, virtualized I/Os by emulating the peripheral device associated with the message signaled interrupt.

2. The method of claim 1 wherein:

the first interrupt service routine runs in a more privileged processor mode; and

the second interrupt service routine runs in a less privileged processor mode.

3. The method of claim 1 wherein:

the first interrupt service routine is associated with a hypervisor program that runs in a privileged domain; and

the second interrupt service routine is associated with an operating system program.

4. The method of claim 3 wherein the step of:

emulating is performed by service routines that provide a virtualized sharing of the peripheral device.

5. The method of claim 3 wherein:

the second interrupt service routine is shared by multiple interrupt-capable virtual devices.

6. The method of claim 4 wherein:

the virtualized sharing provides a surrogate peripheral device status to the second interrupt service routine; and

the privileged domain processes input-output data to or from the peripheral device.

7. A computer program product comprising:

at least one computer-readable medium having instructions encoded therein, the instructions when executed by at least one processor cause said at least one processor to:

operate for interrupt handling by steps comprising the acts of:

receiving a message signaled interrupt associated with a peripheral device by a first interrupt service routine in a privileged domain;

calling a second interrupt service routine in a non-privileged domain responsive to receiving the message signaled interrupt;

emulating a line-based interrupt transaction into the second interrupt service routine;

trapping, by a hypervisor in the privileged domain, input/output (I/O) functions invoked by the second interrupt service routine; and

performing, by the hypervisor, virtualized I/Os by emulating the peripheral device associated with the message signaled interrupt.

8. The computer program product of claim 7 wherein:

the first interrupt service routine runs in a more privileged processor mode; and

the second interrupt service routine runs in a less privileged processor mode.

9. The computer program product of claim 7 wherein the emulating is performed by service routines that provide a virtualized sharing of the peripheral device.

10. A method comprising:

an act of modulating a signal onto an electro-magnetic carrier wave impressed into a tangible medium, or of demodulating the signal from the electro-magnetic carrier wave, the signal having instructions encoded therein, the instructions when executed by at least one processor causing said at least one processor to:

operate for interrupt handling by steps comprising the acts of:

receiving a message signaled interrupt associated with a peripheral device by a first interrupt service routine in a privileged domain;

calling a second interrupt service routine in a non-privileged domain responsive to receiving the message signaled interrupt;

emulating a line-based interrupt transaction into the second interrupt service routine;

trapping, by a hypervisor in the privileged domain, input/output (I/O) functions invoked by the second interrupt service routine; and

performing, by the hypervisor, virtualized I/Os by emulating the peripheral device associated with the message signaled interrupt.

11. The method of claim 10 wherein:

the first interrupt service routine runs in a more privileged processor mode; and

the second interrupt service routine runs in a less privileged processor mode.

12. The method of claim 10 wherein the emulating is performed by service routines that provide a virtualized sharing of the peripheral device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2010
From: PHOENIX TECHNOLOGIES LTD.
To: HEWLETT-PACKARD COMPANY
Reel/Frame 024721/0319 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2008
From: BARDE, KAUSHIK; BRAMLEY, RICHARD; LAUE, MATT
To: PHOENIX TECHNOLOGIES LTD
Reel/Frame 022095/0838 →
Continuity (1)
Related Publication 20100161864A1 · Jun 24, 2010