由虛擬處理器重置請求導致的 Arm64 退出的上下文資料。
Note
此退出原因及其上下文結構僅適用於 Arm64 分割區。
語法
//
// Context data for an exit caused by a reset request
// (WHvRunVpExitReasonArm64Reset)
//
typedef enum WHV_ARM64_RESET_TYPE
{
WHvArm64ResetTypePowerOff = 0,
WHvArm64ResetTypeReboot
} WHV_ARM64_RESET_TYPE;
typedef struct WHV_ARM64_RESET_CONTEXT
{
WHV_INTERCEPT_MESSAGE_HEADER Header;
WHV_ARM64_RESET_TYPE ResetType;
UINT32 Reserved;
} WHV_ARM64_RESET_CONTEXT;
Remarks
結構中 WHV_ARM64_RESET_CONTEXT 會提供因訪客請求重置而導致的退出資訊。 退出會以 WHvRunVpExitReasonArm64Reset 退出原因0x8001000c()報告。
成員 Header 為 WHV_INTERCEPT_MESSAGE_HEADER,負責報告程式計數器()Pc及請求時儲存的處理器狀態(Cpsr)。
成員 ResetType 是一個 WHV_ARM64_RESET_TYPE 表示來賓所請求重置類型的值:
-
WHvArm64ResetTypePowerOff——來賓要求關閉電源。 -
WHvArm64ResetTypeReboot—— 賓客要求重啟。
虛擬化堆疊負責執行所請求的動作,例如拆除或重新初始化分割區。