Arm64 Reset Exit

仮想プロセッサ リセット要求によって発生する 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 — ゲストが再起動を要求しました。

仮想化スタックは、たとえばパーティションを破棄または再初期化するなどして、要求されたアクションを実行します。

こちらも参照ください