Expand Minimize

HV_X64_VP_EXECUTION_STATE union

The HV_X64_VP_EXECUTION_STATE union describes flags that specify miscellaneous states of the virtual processor.

Syntax


typedef union _HV_X64_VP_EXECUTION_STATE {
  UINT16 AsUINT16;
  struct {
    UINT16 Cpl  :2;
    UINT16 Cr0Pe  :1;
    UINT16 Cr0Am  :1;
    UINT16 EferLma  :1;
    UINT16 DebugActive  :1;
    UINT16 InterruptionPending  :1;
    UINT16 Reserved  :9;
  };
} HV_X64_VP_EXECUTION_STATE, *PHV_X64_VP_EXECUTION_STATE;

Members

AsUINT16

A member in the union that can hold one 16-bit value that describes miscellaneous states of the virtual processor.

Cpl

A UINT16 value that indicates the current privilege level (CPL) at the time of the intercept. Real mode has an implied CPL of 0, and v86 has an implied CPL of 3. In other modes, the CPL is defined by the low-order two bits of the code segment (CS). The CPL is set in the first through second bits of the 16-bit AsUINT16 member (0x0003).

Cr0Pe

A UINT16 value that indicates whether the processor is executing within protected mode. Setting this member is equivalent to setting the third bit of the 16-bit AsUINT16 member (0x0004).

Cr0Am

A UINT16 value that indicates whether alignment must be checked for non-privileged accesses. Setting this member is equivalent to setting the fourth bit of the 16-bit AsUINT16 member (0x0008).

EferLma

A UINT16 value that indicates whether the processor is executing within long mode (64-bit mode). Setting this member is equivalent to setting the fifth bit of the 16-bit AsUINT16 member (0x0010).

DebugActive

A UINT16 value that indicates whether one or more debug registers are marked as active. If this flag is set, the recipient of the message might need to perform additional work to correctly emulate the behavior of the debug breakpoint facilities.

Setting this member is equivalent to setting the sixth bit of the 16-bit AsUINT16 member (0x0020).

InterruptionPending

A UINT16 value that indicates whether the intercept was generated while delivering an interruption. The interruption is held pending and, unless removed, will be re-delivered when the virtual processor is resumed. For information about the Pending Interruption register, see Virtual Processor Register Formats. Setting this member is equivalent to setting the seventh bit of the 16-bit AsUINT16 member (0x0040).

Reserved

This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting the remaining 9 bits (0xFF80) of the 16-bit AsUINT16 member to zeros.

Remarks

The HV_X64_VP_EXECUTION_STATE union is used in the HV_X64_INTERCEPT_MESSAGE_HEADER structure.

Requirements

Header

HvImApi.h (include Hvgdk.h)

See also

HV_X64_INTERCEPT_MESSAGE_HEADER

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.