Expand Minimize

HV_INTERRUPT_TYPE enumeration

The HV_INTERRUPT_TYPE enumeration contains values that identify the behavior of a virtual interrupt.

Syntax


typedef enum _HV_INTERRUPT_TYPE { 
  HvX64InterruptTypeFixed           = 0x0000,
  HvX64InterruptTypeLowestPriority  = 0x0001,
  HvX64InterruptTypeSmi             = 0x0002,
  HvX64InterruptTypeNmi             = 0x0004,
  HvX64InterruptTypeInit            = 0x0005,
  HvX64InterruptTypeSipi            = 0x0006,
  HvX64InterruptTypeExtInt          = 0x0007,
  HvX64InterruptTypeMaximum         = 0x008
} HV_INTERRUPT_TYPE, *PHV_INTERRUPT_TYPE;

Constants

HvX64InterruptTypeFixed

The hypervisor generates a fixed interrupt that is latched into the local APIC's interrupt request register (IRR). A fixed interrupt can be edge-triggered or level-triggered. Withdrawing an edge-triggered interrupt does not clear the corresponding bit in the IRR. Withdrawing a level-triggered interrupt clears the corresponding bit in the IRR.

HvX64InterruptTypeLowestPriority

This type is like a fixed interrupt (HvX64InterruptTypeFixed) except that it is delivered only to the lowest-priority destination virtual processor.

HvX64InterruptTypeSmi

The hypervisor generates a system-management interrupt on a virtual processor.

HvX64InterruptTypeNmi

The hypervisor generates a non-maskable interrupt on a virtual processor.

HvX64InterruptTypeInit

The hypervisor generates an INIT interrupt on a virtual processor.

HvX64InterruptTypeSipi

The hypervisor generates a start inter-processor interrupt (SIPI) on a target virtual processor. If the target processor is in wait-for-SIPI state, the SIPI causes the target processor to begin executing in real mode at an address that is determined by the SIPI vector as specified by the x64 architecture.

HvX64InterruptTypeExtInt

The hypervisor generates a fixed level-triggered interrupt. The behavior of this type of interrupt is the same as with HvX64InterruptTypeFixed, with the following exceptions:

  • This interrupt type is always directed at the boot processor.

  • This interrupt type can be used when the APIC is software-disabled.

Regardless of whether the APIC is enabled, the PPR (process priority register) is not used to determine whether the interrupt will be serviced. This interrupt type is also special in that it is always directed at the boot processor. It also requires the use of a separate hypercall, HvClearVirtualInterrupt, to clear an acknowledged interrupt before subsequent interrupts of this type can be asserted.

HvX64InterruptTypeMaximum

This value indicates that the maximum value in this enumeration has been exceeded.

Remarks

The HV_INTERRUPT_TYPE enumeration is used in the HV_INTERRUPT_CONTROL union.

Requirements

Header

HvHalApi.h (include Hvgdk.h)

See also

HV_INTERRUPT_CONTROL
HvClearVirtualInterrupt

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.