Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dane kontekstowe wyjścia arm64 spowodowane przechwyconym dostępem do rejestru.
Note
Ta przyczyna zakończenia i jego struktura kontekstu mają zastosowanie tylko do partycji Arm64.
Składnia
//
// 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
Informacje o wyjściu spowodowane przez procesor wirtualny, który uzyskuje dostęp do przechwyconego rejestru systemu, są dostępne w WHV_REGISTER_CONTEXT strukturze. Wyjście jest zgłaszane z WHvMessageTypeRegisterIntercept powodu wyjścia.
Wyjście jest generowane, gdy gość zapisuje jeden z syntetycznych rejestrów awarii gościa — WHvRegisterGuestCrashP0 za pośrednictwem WHvRegisterGuestCrashP4, lub WHvRegisterGuestCrashCtl — których gość może użyć do zgłaszania awarii do stosu wirtualizacji.
Element Header członkowski jest elementem WHV_INTERCEPT_MESSAGE_HEADER, który raportuje licznik programu (Pc) i zapisany stan procesora (Cpsr) w momencie dostępu wraz z kierunkiem WHV_MEMORY_ACCESS_TYPE dostępu w WHV_INTERCEPT_MESSAGE_HEADER.InterceptAccessType (wartość).
Element RegisterName członkowski jest WHV_REGISTER_NAME przechwyconym rejestrem. Element AccessInfo członkowski zawiera wartość zapisu rejestru i identyfikuje element docelowy dla odczytu rejestru:
-
AccessInfo.SourceValuejest elementemWHV_REGISTER_VALUE, który niesie wartość zapisaną dla zapisu rejestru. -
AccessInfo.DestinationRegisterjest elementem identyfikującymWHV_REGISTER_NAMEdocelowy rejestr dla odczytu rejestru.
Bit IsMemoryOp wskazuje, czy przechwycony dostęp jest operacją pamięci.