Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Données de contexte pour une sortie Arm64 provoquée par un accès d’inscription intercepté.
Note
Cette raison de sortie et sa structure de contexte s’appliquent uniquement aux partitions Arm64.
Syntaxe
//
// 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
Des informations sur une sortie provoquée par le processeur virtuel accédant à un registre système intercepté sont fournies dans la WHV_REGISTER_CONTEXT structure. La sortie est signalée avec la raison de WHvMessageTypeRegisterIntercept sortie.
La sortie est générée lorsque l’invité écrit l’un des registres d’incidents invités synthétiques ( WHvRegisterGuestCrashP0 via WHvRegisterGuestCrashP4ou WHvRegisterGuestCrashCtl ) qu’un invité peut utiliser pour signaler un incident à la pile de virtualisation.
Le Header membre est un WHV_INTERCEPT_MESSAGE_HEADER, qui signale le compteur de programme (Pc) et l’état du processeur enregistré (Cpsr) au moment de l’accès, ainsi que le sens d’accès dans WHV_INTERCEPT_MESSAGE_HEADER.InterceptAccessType (une WHV_MEMORY_ACCESS_TYPE valeur).
Le RegisterName membre est le WHV_REGISTER_NAME registre intercepté. Le AccessInfo membre porte la valeur d’un registre d’écriture et identifie la cible d’un registre lu :
-
AccessInfo.SourceValueest uneWHV_REGISTER_VALUEvaleur qui porte la valeur écrite pour un registre d’écriture. -
AccessInfo.DestinationRegisterest unWHV_REGISTER_NAMEqui identifie le registre cible pour une lecture de registre.
Le IsMemoryOp bit indique si l’accès intercepté est une opération de mémoire.