×

Virtualizing interrupt priority and delivery

  • US 8,910,158 B2
  • Filed: 12/14/2011
  • Issued: 12/09/2014
  • Est. Priority Date: 12/14/2011
  • Status: Expired due to Fees
First Claim
Patent Images

1. A processor for virtualizing interrupt prioritization and delivery comprising:

  • an instruction hardware to receive a plurality of instructions, including a first instruction to transfer the processor from a root mode to a non-root mode for executing guest software in a virtual machine, wherein the processor is to return to the root mode upon the detection of any of a plurality of virtual machine exit events;

    an execution hardware to execute the first instruction, the execution of the first instruction to include determining a first virtual processor-priority value by computing the maximum of a highest priority virtual interrupt in-service field of a virtual machine control structure and a virtual task-priority register value, and storing the first virtual processor-priority value in a virtual copy of a processor-priority field, where the virtual copy of the processor-priority field is a virtual resource corresponding to a physical resource associated with an interrupt controller;

    the execution hardware to determine;

    in non-root mode, whether a virtual interrupt is to be delivered by comparing a highest priority virtual interrupt-requested field of the virtual machine control structure and the first processor-priority value, and to deliver the virtual interrupt in response to determining that the highest priority virtual interrupt-requested field is greater than the first virtual processor-priority value, or to hold the virtual interrupt pending in response to determining that the highest priority virtual interrupt-requested field is not greater than the first virtual processor-priority value; and

    in non-root mode, whether the virtual interrupt is to be delivered at a boundary between a second instruction and a third instruction by determining whether delivery of virtual interrupts is masked at the boundary, and to deliver the virtual interrupt in response to determining that delivery of virtual interrupts is unmasked, or to execute the third instruction in non-root mode in response to determining that delivery of virtual interrupts is masked.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×