Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja hypercallGetVpRegisters HvCallErs odczytuje stan procesora wirtualnego.
Interfejs
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
);
Stan jest zwracany jako seria wartości rejestru, z których każda odpowiada nazwie rejestru podanej jako dane wejściowe.
Restrictions
- Obiekt wywołujący musi być elementem nadrzędnym partycji określonej przez PartitionId lub określona partycja musi być "samodzielna", a partycja musi mieć uprawnienie AccessVpRegisters.
Kod wywołania
0x0050 (Rep)
Parametry wejściowe
| Name | Przesunięcie | Rozmiar | Podane informacje |
|---|---|---|---|
PartitionId |
0 | 8 | Określa identyfikator partycji. |
VpIndex |
8 | 4 | Określa indeks procesora wirtualnego. |
TargetVtl |
12 | 1 | określa docelową bibliotekę VTL. |
| RsvdZ | 13 | 3 |
Input List, element
| Name | Przesunięcie | Rozmiar | Podane informacje |
|---|---|---|---|
RegisterName |
0 | 4 | Określa nazwę rejestru do odczytania. |
Output List, element
| Name | Przesunięcie | Rozmiar | Podane informacje |
|---|---|---|---|
RegisterValue |
0 | 16 | Zwraca wartość określonego rejestru. |
Lista wczesnych rejestrów (ARM64)
W usłudze ARM64 niektóre rejestry mogą być odczytywane przy użyciu tego hiperwołania, zanim rejestr identyfikatora systemu operacyjnego gościa (HvRegisterGuestOsId) zostanie ustawiona na wartość inną niż zero. Umożliwia to wczesny dostęp do informacji funkcji hypervisor i krytycznych rejestrów systemu podczas procesu rozruchu.
Przed identyfikacją systemu operacyjnego gościa dozwolone są następujące rejestry:
| Nazwa rejestracji | Description |
|---|---|
HvRegisterGuestOsId |
Rejestr identyfikacji systemu operacyjnego gościa |
HvRegisterHypervisorVersion |
Informacje o wersji funkcji Hypervisor |
HvRegisterPrivilegesAndFeaturesInfo |
Uprawnienia partycji i informacje o funkcjach |
HvRegisterFeaturesInfo |
Informacje o funkcji Hypervisor |
HvRegisterImplementationLimitsInfo |
Limity specyficzne dla implementacji |
HvRegisterHardwareFeaturesInfo |
Informacje o funkcji sprzętu |
HvRegisterTimeRefCount |
Licznik odwołania do czasu |
HvArm64RegisterSyntheticVbarEl1 |
Rejestr adresów podstawowych wektorów syntetycznych dla EL1 |
HvArm64RegisterSyntheticEsrEl1 |
Rejestr zespołu wyjątków syntetycznych dla EL1 |
HvRegisterGuestCrashCtl |
Rejestr kontroli awarii gościa |
HvRegisterGuestCrashP0 |
Parametr awarii gościa 0 |
HvRegisterGuestCrashP1 |
Parametr awarii gościa 1 |
HvRegisterGuestCrashP2 |
Parametr awarii gościa 2 |
HvRegisterGuestCrashP3 |
Parametr awarii gościa 3 |
HvRegisterGuestCrashP4 |
Parametr awarii gościa 4 |
Wszystkie inne rejestry wymagają ustanowienia identyfikatora systemu operacyjnego gościa (bez zera), zanim będzie można je odczytać za pośrednictwem tego hiperwołania.
Nuta: Te wczesne rejestry zapewniają przede wszystkim funkcje funkcji hypervisor i funkcji raportowania awarii, umożliwiając gościom odnajdywanie funkcji hypervisor i ustanawianie podstawowych funkcji przed pełną identyfikacją systemu operacyjnego gościa.