HvCallEnableVpVtl

HvCallEnableVpVtl 使 VTL 能够在 VP 上运行。 此 hypercall 应与 HvCallEnablePartitionVtl 结合使用来启用和使用 VTL。 若要在 VP 上启用 VTL,必须先为分区启用 VTL。 此调用不会更改活动 VTL。

接口


HV_STATUS
HvCallEnableVpVtl(
   _In_ HV_PARTITION_ID TargetPartitionId,
   _In_ HV_VP_INDEX VpIndex,
   _In_ HV_VTL TargetVtl,
   _In_ HV_INITIAL_VP_CONTEXT VpVtlContext
   );

Restrictions

通常,VTL 只能由更高的 VTL 启用。 此规则有一个例外:为分区启用的最高 VTL 可以启用更高的目标 VTL。

在 VP 上启用目标 VTL 后,启用 VTL 的所有其他调用必须来自相同或更高的 VTL。 如果调用此 hypercall 来启用已为 VP 启用的 VTL,则此 hypercall 将失败。

调用代码

0x000F (简单)

输入参数

Name Offset 尺寸 提供的信息
TargetPartitionId 0 8 提供此请求所针对的分区的分区 ID。
VpIndex 8 4 指定要对其启用 VTL 的虚拟处理器的索引。
TargetVtl 12 1 指定要由此 hypercall 启用的 VTL。
RsvdZ 13 3
VpVtlContext 16 224 指定 VP 应在目标 VTL 的第一个条目时启动的初始上下文。

另请参阅