US2018129619A1PendingUtilityA1

Virtualizing interrupt prioritization and delivery

59
Assignee: INTEL CORPPriority: Dec 14, 2011Filed: Jan 9, 2018Published: May 10, 2018
Est. expiryDec 14, 2031(~5.4 yrs left)· nominal 20-yr term from priority
G06F 9/45541G06F 13/26G06F 9/45558G06F 13/24G06F 2213/0058G06F 2009/45579G06F 9/30076
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Embodiments of processors, methods, and systems for virtualizing interrupt prioritization and delivery are disclosed. In one embodiment, a processor includes instruction hardware and execution hardware. The instruction hardware is 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. The execution hardware is to execute the first instruction, execution of the first instruction to include determining a first virtual processor-priority 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.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A processor comprising:
 execution circuitry to execute instructions to implement a virtualized execution environment comprising at least one Virtual Machine Monitor (VMM) and a first virtual machine control structure (VMCS), the VMM to interface virtual machines (VMs) with the processor, and the first VMCS to store a current execution state and control information associated with at least a first VM; and   interrupt management circuitry to process interrupts associated with the VMs in accordance with one or more VMCS fields including a first base address field to specify a first base address for a first memory page associated with the first VM;   the interrupt management circuitry to store priority data associated with interrupts of the first VM in the first memory page, the priority data including a processor priority value and a task priority value;   the interrupt management circuitry to set the processor priority value to the larger of the task priority value or a maximum priority value of one or more in-service interrupts; and   the interrupt management circuitry to store end of interrupt (EOI) data in the first memory page to indicate completion of a first interrupt.   
     
     
         2 . The processor of  claim 1  wherein upon the store of the EOI data, the interrupt management circuitry is to remove an indication of the first interrupt from an in-service interrupt register. 
     
     
         3 . The processor of  claim 1  wherein the processor priority value comprises data associated with a processor priority register (PPR). 
     
     
         4 . The processor of  claim 1  wherein the task priority value comprises data associated with a task priority register (TPR). 
     
     
         5 . The processor of  claim 1  wherein the EOI data comprises data associated with an end of interrupt (EOI) register. 
     
     
         6 . A method comprising:
 storing, in a virtual machine control structure (VMCS), a current execution state and control information associated with a virtual machine (VM) interfaced with a processor by a virtual machine monitor (WM) in a virtualized execution environment;   processing interrupts associated with the VM in accordance with one or more VMCS fields including a base address field to specify a base address for a memory page associated with the VM;   storing priority data associated with interrupts of the VM in the memory page, the priority data including a processor priority value and a task priority value;   setting the processor priority value to the larger of the task priority value or a maximum priority value of one or more in-service interrupts; and   storing end of interrupt (EOI) data in the memory page to indicate completion of a first interrupt.   
     
     
         7 . The method of  claim 6  further comprising removing an indication of the first interrupt form an in-service interrupt register responsive to storing the EOI data. 
     
     
         8 . The method of  claim 6  wherein the processor priority value comprises data associated with a processor priority register (PPR). 
     
     
         9 . The method of  claim 6  wherein the task priority value comprises data associated with a task priority register (TPR). 
     
     
         10 . The method of  claim 6  wherein the EOI data comprises data associated with an end of interrupt (EOI) register. 
     
     
         11 . A non-transitory machine-readable medium storing instructions which when executed by a processor cause the processor to perform a method, the method comprising:
 storing, in a virtual machine control structure (VMCS), a current execution state and control information associated with a virtual machine (VM) interfaced with a processor by a virtual machine monitor (WM) in a virtualized execution environment;   processing interrupts associated with the VM in accordance with one or more VMCS fields including a base address field to specify a base address for a memory page associated with the VM;   storing priority data associated with interrupts of the VM in the memory page, the priority data including a processor priority value and a task priority value;   setting the processor priority value to the larger of the task priority value or a maximum priority value of one or more in-service interrupts; and   storing end of interrupt (EOI) data in the memory page to indicate completion of a first interrupt.   
     
     
         12 . The non-transitory machine-readable medium of  claim 11 , wherein the method further comprises removing an indication of the first interrupt form an in-service interrupt register responsive to storing the EOI data. 
     
     
         13 . The non-transitory machine-readable medium of  claim 11 , wherein the processor priority value comprises data associated with a processor priority register (PPR). 
     
     
         14 . The non-transitory machine-readable medium of  claim 11 , wherein the task priority value comprises data associated with a task priority register (TPR). 
     
     
         15 . The non-transitory machine-readable medium of  claim 11 , wherein the EOI data comprises data associated with an end of interrupt (EOI) register.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.