Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Dados de contexto de uma saída do Arm64 causada por um acesso de registro interceptado.
Observação
Esse motivo de saída e sua estrutura de contexto se aplicam apenas a 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ções sobre uma saída causada pelo processador virtual que acessa um registro do sistema interceptado são fornecidas na WHV_REGISTER_CONTEXT estrutura. A saída é relatada com o motivo da WHvMessageTypeRegisterIntercept saída.
A saída é gerada quando o convidado grava um dos registros de falha de convidado sintético – WHvRegisterGuestCrashP0 por meio WHvRegisterGuestCrashP4ou WHvRegisterGuestCrashCtl – que um convidado pode usar para relatar uma falha na pilha de virtualização.
O Header membro é um WHV_INTERCEPT_MESSAGE_HEADER, que relata o contador do programa (Pc) e o estado do processador salvo (Cpsr) no momento do acesso, juntamente com a direção de acesso em WHV_INTERCEPT_MESSAGE_HEADER.InterceptAccessType (um WHV_MEMORY_ACCESS_TYPE valor).
O RegisterName membro é o WHV_REGISTER_NAME do registro interceptado. O AccessInfo membro carrega o valor de uma gravação de registro e identifica o destino de um registro de leitura:
-
AccessInfo.SourceValueé umWHV_REGISTER_VALUEque carrega o valor gravado para uma gravação de registro. -
AccessInfo.DestinationRegisteré umWHV_REGISTER_NAMEque identifica o registro de destino para uma leitura de registro.
O IsMemoryOp bit indica se o acesso interceptado é uma operação de memória.