Freigeben über


HvCallGetVpRegisters

Der Hypercall HvCallGetVpRegisters liest den Status eines virtuellen Prozessors vor.

Schnittstelle

HV_STATUS
HvCallGetVpRegisters(
   _In_ HV_PARTITION_ID PartitionId,
   _In_ HV_VP_INDEX VpIndex,
   _In_ HV_INPUT_VTL InputVtl,
   _Inout_ UINT32* RegisterCount,
   _In_reads_(*RegisterCount) const HV_REGISTER_NAME* RegisterNameList,
   _Out_writes_(*RegisterCount) HV_REGISTER_VALUE* RegisterValueList
   );

Der Zustand wird als Eine Reihe von Registerwerten zurückgegeben, die jeweils einem Registernamen entsprechen, der als Eingabe angegeben wird.

Einschränkungen

  • Der Aufrufer muss entweder das übergeordnete Element der durch PartitionId angegebenen Partition sein, oder die angegebene Partition muss "self" sein, und die Partition muss über die AccessVpRegisters-Berechtigung verfügen.

Anrufcode

0x0050 (Rep)

Eingabe-Parameter

Name Offset Größe Bereitgestellte Informationen
PartitionId 0 8 Gibt die Partitions-ID an.
VpIndex 8 4 Gibt den Index des virtuellen Prozessors an.
TargetVtl 12 1 Gibt die Ziel-VTL an.
RsvdZ 13 3

Eingabelistenelement

Name Offset Größe Bereitgestellte Informationen
RegisterName 0 4 Gibt den Namen eines zu lesenden Registers an.

Output List-Element

Name Offset Größe Bereitgestellte Informationen
RegisterValue 0 16 Gibt den Wert des angegebenen Registers zurück.

Early Register List (ARM64)

Auf ARM64 können bestimmte Register mithilfe dieses Hypercalls gelesen werden, bevor das Gastbetriebssystem-ID-Register (HvRegisterGuestOsId) auf einen Wert ungleich Null festgelegt ist. Dies ermöglicht frühzeitigen Zugriff auf Hypervisorinformationen und kritische Systemregister während des Startvorgangs.

Die folgenden Register dürfen vor der Identifizierung des Gastbetriebssystems gelesen werden:

Registername Description
HvRegisterGuestOsId Registrierung des Gastbetriebssystems
HvRegisterHypervisorVersion Hypervisorversionsinformationen
HvRegisterPrivilegesAndFeaturesInfo Partitionsberechtigungen und Featureinformationen
HvRegisterFeaturesInfo Hypervisor-Featureinformationen
HvRegisterImplementationLimitsInfo Implementierungsspezifische Grenzwerte
HvRegisterHardwareFeaturesInfo Hardwarefeatureinformationen
HvRegisterTimeRefCount Zeitverweiszähler
HvArm64RegisterSyntheticVbarEl1 Synthetisches Vektor-Basisadressregister für EL1
HvArm64RegisterSyntheticEsrEl1 Synthetisches Ausnahmesyndromregister für EL1
HvRegisterGuestCrashCtl Registrierung des Gastabsturzsteuerelements
HvRegisterGuestCrashP0 Gastabsturzparameter 0
HvRegisterGuestCrashP1 Gastabsturzparameter 1
HvRegisterGuestCrashP2 Gastabsturzparameter 2
HvRegisterGuestCrashP3 Gastabsturzparameter 3
HvRegisterGuestCrashP4 Gastabsturzparameter 4

Alle anderen Register erfordern, dass die Gastbetriebssystem-ID (ungleich Null) eingerichtet wird, bevor sie über diesen Hypercall gelesen werden können.

Anmerkung: Diese früh zugänglichen Register bieten in erster Linie Hypervisor-Funktionsinformationen und Absturzberichtsfunktionen, sodass Gäste Hypervisorfeatures entdecken und grundlegende Funktionen vor der vollständigen Identifizierung des Gastbetriebssystems einrichten können.

Siehe auch

HV_REGISTER_NAME

HV_REGISTER_VALUE