HvCallEnableVpVtl

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

接口

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

限制

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

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

调用代码

0x000F (简单)

输入参数

名称 Offset 大小 提供的信息
TargetPartitionId 0 8 提供此请求的分区的分区 ID。
VpIndex 8 4 指定要在其上启用 VTL 的虚拟处理器的索引。
TargetVtl 12 1 指定此 hypercall 要启用的 VTL。
RsvdZ 13 3
VpVtlContext 16 224 指定初始上下文,其中副总裁应该从第一个条目开始到目标 VTL。

请参阅

HV_INITIAL_VP_CONTEXT