HvCallEnableVpVtl
HvCallEnableVpVtl 可讓 VTL 在 VP 上執行。 此 hypercall 應該搭配 HvCallEnablePartitionVtl 使用,以啟用和使用 VTL。 若要在 VP 上啟用 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 | 提供此要求所針對之分割區的分割區識別碼。 |
VpIndex |
8 | 4 | 指定要啟用 VTL 的虛擬處理器索引。 |
TargetVtl |
12 | 1 | 指定此 hypercall 要啟用的 VTL。 |
RsvdZ | 13 | 3 | |
VpVtlContext |
16 | 224 | 指定在目標 VTL 的第一個專案開始時,VP 應開始的初始內容。 |