Expand Minimize

HV_X64_FP_CONTROL_STATUS_REGISTER union

The HV_X64_FP_CONTROL_STATUS_REGISTER union identifies how an HvX64RegisterFpControlStatus register is encoded.

Syntax


typedef union _HV_X64_FP_CONTROL_STATUS_REGISTER {
  HV_UINT128 AsUINT128;
  struct {
    UINT16 FpControl;
    UINT16 FpStatus;
    UINT8  FpTag;
    UINT8  IgnNe  :1;
    UINT8  Reserved  :7;
    UINT16 LastFpOp;
    union {
      UINT64 LastFpRip;
      struct {
        UINT32 LastFpEip;
        UINT16 LastFpCs;
      };
    };
  };
} HV_X64_FP_CONTROL_STATUS_REGISTER, *PHV_X64_FP_CONTROL_STATUS_REGISTER;

Members

AsUINT128

A member in the union that can hold one 128-bit value that identifies how an HvX64RegisterFpControlStatus register is encoded.

FpControl

A UINT16 value that specifies the control information for a floating-point number. The control information is set in the first group of 64 bits of the 128-bit AsUINT128 member (0x000000000000FFFF).

FpStatus

A UINT16 value that specifies the status information for a floating-point number. The status information is set in the first group of 64 bits of the 128-bit AsUINT128 member (0x00000000FFFF0000).

FpTag

A UINT8 value that specifies the tag for a floating-point number. The tag is set in the first group of 64 bits of the 128-bit AsUINT128 member (0x000000FF00000000).

IgnNe

A UINT8 value that identifies whether floating-point exceptions will be generated. Setting this member prevents floating-point exceptions from being generated while the floating-point exception handler services a previously-signaled floating-point exception. Setting this member is equivalent to setting the forty-first bit of the first group of 64 bits of the 128-bit AsUINT128 member (0x0000010000000000).

Reserved

This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting the forty-second through forty-eighth bits of the first group of 64 bits of the 128-bit AsUINT128 member (0x0000FE0000000000).

LastFpOp

A UINT64 value that specifies the last operation for a floating-point number. The last operation is set in the first group of 64 bits of the 128-bit AsUINT128 member (0xFFFF000000000000).

LastFpRip

A UINT64 value that specifies the last floating-point instruction pointer (64-bit). LastFpRip is set in the second group of 64 bits of the 128-bit AsUINT128 member (0xFFFFFFFFFFFFFFFF).

LastFpEip

A UINT32 value that specifies the last floating-point instruction pointer (32-bit). LastFpEip is set in the second group of 64 bits of the 128-bit AsUINT128 member (0x00000000FFFFFFFF).

LastFpCs

A UINT16 value that specifies the last floating-point code segment. LastFpCs is set in the second group of 64 bits of the 128-bit AsUINT128 member (0x0000FFFF00000000).

Remarks

The HV_X64_FP_CONTROL_STATUS_REGISTER union is used in the HV_REGISTER_VALUE union.

Requirements

Header

HvHkApi.h (include Hvgdk.h)

See also

HV_REGISTER_VALUE

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.