Saída de Interceção do Registo

Dados de contexto para uma saída Arm64 causada por um acesso a registos intercetado.

Note

Esta razão de saída e a sua estrutura de contexto aplicam-se apenas às partições Arm64.

Sintaxe

//
// Context data for an exit caused by an intercepted register access
// (WHvMessageTypeRegisterIntercept)
//

//
// Define register intercept message structure.
//
typedef union WHV_REGISTER_ACCESS_INFO
{
    WHV_REGISTER_VALUE SourceValue;
    WHV_REGISTER_NAME DestinationRegister;
} WHV_REGISTER_ACCESS_INFO;

typedef struct WHV_REGISTER_CONTEXT
{
    WHV_INTERCEPT_MESSAGE_HEADER Header;
    struct
    {
        UINT8 IsMemoryOp:1;
        UINT8 Reserved:7;
    };
    UINT8 Reserved8;
    UINT16 Reserved16;
    WHV_REGISTER_NAME RegisterName;
    WHV_REGISTER_ACCESS_INFO AccessInfo;
} WHV_REGISTER_CONTEXT;

Remarks

Informação sobre uma saída causada pelo processador virtual a aceder a um registo do sistema intercetado é fornecida na WHV_REGISTER_CONTEXT estrutura. A saída é reportada com a razão da WHvMessageTypeRegisterIntercept saída.

A saída é gerada quando o convidado escreve um dos registos sintéticos de crash do convidado — WHvRegisterGuestCrashP0 através WHvRegisterGuestCrashP4de , ou WHvRegisterGuestCrashCtl — que um convidado pode usar para reportar um crash à pilha de virtualização.

O Header membro é um WHV_INTERCEPT_MESSAGE_HEADER, que reporta o contador do programa (Pc) e o estado do processador guardado (Cpsr) no momento do acesso, juntamente com a direção do acesso em WHV_INTERCEPT_MESSAGE_HEADER.InterceptAccessType (um WHV_MEMORY_ACCESS_TYPE valor).

O RegisterName membro pertence WHV_REGISTER_NAME ao registo intercetado. O AccessInfo membro carrega o valor para uma escrita de registo e identifica o destino para uma leitura de registo:

  • AccessInfo.SourceValue é a WHV_REGISTER_VALUE que transporta o valor escrito para uma escrita de registo.
  • AccessInfo.DestinationRegister é a WHV_REGISTER_NAME que identifica o registo alvo para uma leitura de registo.

O IsMemoryOp bit indica se o acesso intercetado é uma operação de memória.

Ver também