Compartilhar via


HvCallStartVirtualProcessor

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

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

Interfase

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 Offset Tamanho Informações fornecidas
PartitionId 0 8 Partição
VpIndex 8 4 Índice VP a ser iniciado. Para obter o índice VP de uma ID APIC, use HvCallGetVpIndexFromApicId.
TargetVtl 12 1 VTL de destino
VpContext 16 224 Especifica o contexto inicial no qual o VP deve ser iniciado.

ARM64 Layout

Nome Offset Tamanho Informações fornecidas
PartitionId 0 8 Partição
VpIndex 8 4 Índice VP a ser iniciado. Para obter o índice VP de um valor MPIDR, use HvCallGetVpIndexFromApicId.
TargetVtl 12 1 VTL de destino
VpContext 16 Setenta e dois Especifica o contexto inicial no qual o VP deve ser iniciado.

Valores retornados

Código de status Condição de erro
HV_STATUS_ACCESS_DENIED Acesso negado
HV_STATUS_INVALID_PARTITION_ID A ID de partição especificada é inválida.
HV_STATUS_INVALID_VP_INDEX O processador virtual especificado por HV_VP_INDEX é inválido.
HV_STATUS_INVALID_REGISTER_VALUE O valor do 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