Compartir a través de


HvCallGetVpRegisters

La hiperllamada HvCallGetVpRegisters lee el estado de un procesador virtual.

Interfaz

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
   );

El estado se devuelve como una serie de valores de registro, cada uno correspondiente a un nombre de registro proporcionado como entrada.

Restrictions

  • El autor de la llamada debe ser el elemento primario de la partición especificada por PartitionId o la partición especificada debe ser "self" y la partición debe tener el privilegio AccessVpRegisters.

Código de llamada

0x0050 (Rep)

Parámetros de entrada

Nombre Desplazar Tamaño Información proporcionada
PartitionId 0 8 Especifica el identificador de partición.
VpIndex 8 4 Especifica el índice del procesador virtual.
TargetVtl 12 1 especifica el VTL de destino.
RsvdZ 13 3

Elemento Input List

Nombre Desplazar Tamaño Información proporcionada
RegisterName 0 4 Especifica el nombre de un registro que se va a leer.

Elemento Output List

Nombre Desplazar Tamaño Información proporcionada
RegisterValue 0 16 Devuelve el valor del registro especificado.

Lista de registros anticipados (ARM64)

En ARM64, se pueden leer determinados registros con esta hiperllamada antes de que el registro de identificador de sistema operativo invitado (HvRegisterGuestOsId) esté establecido en un valor distinto de cero. Esto permite el acceso anticipado a la información del hipervisor y a los registros críticos del sistema durante el proceso de arranque.

Se permite leer los registros siguientes antes de la identificación del sistema operativo invitado:

Nombre del registro Description
HvRegisterGuestOsId Registro de identificación del sistema operativo invitado
HvRegisterHypervisorVersion Información de la versión del hipervisor
HvRegisterPrivilegesAndFeaturesInfo Privilegios de partición e información de características
HvRegisterFeaturesInfo Información de características del hipervisor
HvRegisterImplementationLimitsInfo Límites específicos de la implementación
HvRegisterHardwareFeaturesInfo Información de características de hardware
HvRegisterTimeRefCount Contador de referencia de hora
HvArm64RegisterSyntheticVbarEl1 Registro de direcciones base de vectores sintéticos para EL1
HvArm64RegisterSyntheticEsrEl1 Registro de síndrome de excepción sintética para EL1
HvRegisterGuestCrashCtl Registro del control de bloqueo de invitado
HvRegisterGuestCrashP0 Parámetro de bloqueo de invitado 0
HvRegisterGuestCrashP1 Parámetro de bloqueo de invitado 1
HvRegisterGuestCrashP2 Parámetro de bloqueo de invitado 2
HvRegisterGuestCrashP3 Parámetro de bloqueo de invitado 3
HvRegisterGuestCrashP4 Parámetro de bloqueo de invitado 4

Todos los demás registros requieren que se establezca el identificador del sistema operativo invitado (distinto de cero) antes de que se puedan leer a través de esta hiperllamada.

Nota: Estos registros accesibles anticipadamente proporcionan principalmente información de funcionalidad de hipervisor y funcionalidad de informes de bloqueos, lo que permite a los invitados detectar características del hipervisor y establecer funcionalidad básica antes de la identificación completa del sistema operativo invitado.

Consulte también

HV_REGISTER_NAME

HV_REGISTER_VALUE