Expand Minimize

HV_X64_HYPERCALL_INPUT union

The HV_X64_HYPERCALL_INPUT union defines the format of the hypercall input value.

Syntax


typedef union _HV_X64_HYPERCALL_INPUT {
  struct {
    UINT32 CallCode  :16;
    UINT32 IsFast  :1;
    UINT32 Reserved1  :15;
    UINT32 CountOfElements  :12;
    UINT32 Reserved2  :4;
    UINT32 RepStartIndex  :12;
    UINT32 Reserved3  :4;
  };
  UINT64 AsUINT64;
} HV_X64_HYPERCALL_INPUT, *PHV_X64_HYPERCALL_INPUT;

Members

CallCode

A 32-bit value that specifies the hypercall that the caller requests. CallCode is set in bits 0 through 15 of the 64-bit AsUINT64 member (0x000000000000FFFF). For a list of the hypercall codes, see Hypercall Function Code Reference.

IsFast

A 64-bit value that indicates whether the hypercall uses the register-based calling convention. When set, the hypercall uses the register-based calling convention. When clear, the hypercall uses the memory-based calling convention. Setting this member is equivalent to setting bit 16 of the 64-bit AsUINT64 member (0x0000000000010000).

Reserved1

This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting bits 17 through 31 of the 64-bit AsUINT64 member (0x00000000FFFE0000) to zeros.

CountOfElements

The number of rep hypercalls. This member is for a rep hypercall and must be zero for a simple hypercall. Setting the rep number in this member is equivalent to setting the rep number in bits 32 through 43 (0x00000FFF00000000) of the 64-bit AsUINT64 member.

Reserved2

This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting bits 44 through 47 of the 64-bit AsUINT64 member (0x0000F00000000000) to zeros.

RepStartIndex

The starting rep hypercall index. This member is for a rep hypercall and must be zero for a simple hypercall. Setting the rep index in this member is equivalent to setting the rep index in bits 48 through 59 (0x0FFF000000000000) of the 64-bit AsUINT64 member.

Reserved3

This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting bits 60 through 63 of the 64-bit AsUINT64 member (0xF000000000000000) to zeros.

AsUINT64

A member in the union that can hold one 64-bit value that defines the format of the hypercall input value.

Remarks

For more information about the hypercall input value, see Hypercall Input Values.

Requirements

Header

Hvgdk.h (include Hvgdk.h)

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.