Partilhar via


HvCallStartVirtualProcessor

HvCallStartVirtualProcessor é um método esclarecido para iniciar um processador virtual. É funcionalmente equivalente aos métodos tradicionais baseados em INIT, exceto que o VP pode começar com um estado de registro desejado.

Este é o único método para iniciar um VP em uma VTL diferente de zero.

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 Chamada

0x0099 (Simples)

Parâmetros de entrada

Layout x64

Nome Compensação Tamanho Informações Prestadas
PartitionId 0 8 Partition
VpIndex 8 4 VP Index para começar. Para obter o índice VP de uma ID APIC, use HvCallGetVpIndexFromApicId.
TargetVtl 12 1 VTL alvo
VpContext 16 224 Especifica o contexto inicial no qual o VP deve começar.

Disposição do ARM64

Nome Compensação Tamanho Informações Prestadas
PartitionId 0 8 Partition
VpIndex 8 4 VP Index para começar. Para obter o índice VP a partir de um valor MPIDR, use HvCallGetVpIndexFromApicId.
TargetVtl 12 1 VTL alvo
VpContext 16 72 Especifica o contexto inicial no qual o VP deve começar.

Valores de retorno

Código de estado Condição de erro
HV_STATUS_ACCESS_DENIED Acesso negado
HV_STATUS_INVALID_PARTITION_ID O ID de partição especificado é inválido.
HV_STATUS_INVALID_VP_INDEX O processador virtual especificado por HV_VP_INDEX é inválido.
HV_STATUS_INVALID_REGISTER_VALUE O valor de registro fornecido é inválido.
HV_STATUS_INVALID_VP_STATE Um processador virtual não está no estado correto para o desempenho da operação indicada.
HV_STATUS_INVALID_PARTITION_STATE A partição especificada não está no estado "ativo".
HV_STATUS_INVALID_VTL_STATE O estado VTL entra em conflito com a operação solicitada.

Consulte também

HV_INITIAL_VP_CONTEXT