Expand Minimize

HV_PORT_INFO structure

The HV_PORT_INFO structure contains information about a port.

Syntax


typedef struct _HV_PORT_INFO {
  HV_PORT_TYPE PortType;
  UINT32       Padding;
  union {
    struct {
      HV_SYNIC_SINT_INDEX TargetSint;
      HV_VP_INDEX         TargetVp;
      UINT64              RsvdZ;
    } MessagePortInfo;
    struct {
      HV_SYNIC_SINT_INDEX TargetSint;
      HV_VP_INDEX         TargetVp;
      UINT16              BaseFlagNumber;
      UINT16              FlagCount;
      UINT32              RsvdZ;
    } EventPortInfo;
    struct {
      HV_GPA MonitorAddress;
      UINT64 RsvdZ;
    } MonitorPortInfo;
  };
} HV_PORT_INFO, *PHV_PORT_INFO;

Members

PortType

An HV_PORT_TYPE value that identifies the type of the port for which HV_PORT_INFO provides information.

Padding

Padding bytes for the first 64-bit value to the native interface.

MessagePortInfo

A structure that describes the message port information if PortType is set to HvPortTypeMessage. This structure contains the following members:

TargetSint

An HV_SYNIC_SINT_INDEX value that specifies the synthetic interrupt source to use for the port and can be in the range of 1 through 15. SINT0 is reserved for hypervisor use.

TargetVp

An HV_VP_INDEX value that specifies the virtual processor that will be targeted by messages that are received through the created port. In most cases, a value of HV_ANY_VP is recommended, which instructs the hypervisor to route the message to any virtual processor in the target partition.

RsvdZ

A 64-bit value that is reserved and should be set to zero.

EventPortInfo

A structure that describes the event port information if PortType is set to HvPortTypeEvent. This structure contains the following members:

TargetSint

An HV_SYNIC_SINT_INDEX value that specifies the synthetic interrupt source to use for the port and can be in the range of 1 through 15. SINT0 is reserved for hypervisor use.

TargetVp

An HV_VP_INDEX value that specifies the virtual processor that will be targeted by events that are received through the created port. In most cases, a value of HV_ANY_VP is recommended, which instructs the hypervisor to route the event signal to any virtual processor in the target partition.

BaseFlagNumber

A 16-bit value that specifies the starting event flag number to be assigned to the port and can be in the range of 0 through 2047.

FlagCount

A 16-bit value that specifies the number of event flags, starting at BaseFlagNumber, which are to be assigned to the port and cannot be greater than 2048.

RsvdZ

A 32-bit value that is reserved and should be set to zero.

MonitorPortInfo

A structure that describes the monitor port information if PortType is set to HvPortTypeMonitor. This structure contains the following members:

MonitorAddress

An HV_GPA value that specifies the guest physical address to be used for the port. HV_GPA is defined as an unsigned 64-bit (UINT64) value.

RsvdZ

A 64-bit value that is reserved and should be set to zero.

Remarks

A client specifies port information in an HV_PORT_INFO structure. The client then passes a pointer to this HV_PORT_INFO structure in a call to the HvCreatePort function to create the port.

Requirements

Header

HvSynicApi.h (include Hvgdk.h)

See also

HV_PORT_TYPE
HvCreatePort

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.