Compartir a través de


HvCallStartVirtualProcessor

HvCallStartVirtualProcessor es un método optimizado para iniciar un procesador virtual. Es funcionalmente equivalente a los métodos tradicionales basados en INIT, excepto que la VP puede comenzar con un estado de registro deseado.

Este es el único método para iniciar una VP en un VTL distinto de cero.

Interfaz

HV_STATUS
HvCallStartVirtualProcessor(
   _In_ HV_PARTITION_ID PartitionId,
   _In_ HV_VP_INDEX VpIndex,
   _In_ HV_VTL TargetVtl,
   _In_ HV_INITIAL_VP_CONTEXT VpContext
   );

Código de llamada

0x0099 (Simple)

Parámetros de entrada

Diseño x64

Nombre Desplazar Tamaño Información proporcionada
PartitionId 0 8 Partición
VpIndex 8 4 Índice VP que se va a iniciar. Para obtener el índice vp de un identificador de APIC, use HvCallGetVpIndexFromApicId.
TargetVtl 12 1 VTL de destino
VpContext 16 224 Especifica el contexto inicial en el que se debe iniciar la VP.

Diseño arm64

Nombre Desplazar Tamaño Información proporcionada
PartitionId 0 8 Partición
VpIndex 8 4 Índice VP que se va a iniciar. Para obtener el índice VP de un valor MPIDR, use HvCallGetVpIndexFromApicId.
TargetVtl 12 1 VTL de destino
VpContext 16 72 Especifica el contexto inicial en el que se debe iniciar la VP.

Valores devueltos

Código de estado Condición de error
HV_STATUS_ACCESS_DENIED Acceso denegado
HV_STATUS_INVALID_PARTITION_ID El identificador de partición especificado no es válido.
HV_STATUS_INVALID_VP_INDEX El procesador virtual especificado por HV_VP_INDEX no es válido.
HV_STATUS_INVALID_REGISTER_VALUE El valor de registro proporcionado no es válido.
HV_STATUS_INVALID_VP_STATE Un procesador virtual no está en el estado correcto para el rendimiento de la operación indicada.
HV_STATUS_INVALID_PARTITION_STATE La partición especificada no está en estado "activo".
HV_STATUS_INVALID_VTL_STATE El estado de VTL entra en conflicto con la operación solicitada.

Consulte también

HV_INITIAL_VP_CONTEXT