Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.