Virtual Machine Extensions (VMX)

VMX é o conjunto de extensões feito à tecnologia IA-32 que constituem a tecnologia Intel VT-x.
Essas extensões incluem novos modos de operação, novas instruções e novas estruturas de controle descritas à seguir.

Modos de operação

  • VMX operation: nova forma do processador operar. Possui dois modos de operação:
    • VMX root: onde o VMM executa.
    • VMX non-root: onde o SO convidado executa.
Ambos possuem 4 níveis de privilégio cada, do nível 0 (zero) ao 3.

Transições

  • VMX transitions
    • VM entry: do modo VMX root para o modo VMX non-root
    • VM exit: do modo VMX non-root para o modo VMX root

Estruturas

  • VMCS (Virtual Machine Control Structure): controla o modo de operação VMX non-root e as transições entre os modos. O VMM pode usar um VMCS para cada MV e, no caso em que a MV possui múltiplos núcleos, o MMV pode usar um VMCS para cada processador lógico.

Instruções (VMX instructions)

  • VMPTRLD: possui apenas um operando fonte de 64bits que está na memória, esse operando é um ponteiro para uma instância de um VMCS. Esta instrução torna o ponteiro para um VMCS passado como operando o ponteiro corrente.
  • VMPTRST: possui apenas um operando destino de 64 bits. Ela salva o ponteiro de VMCS corrente no destino.
  • VMCLEAR: possui um único operando de 64 bits localizado em memória. Torna o VMCS apontado inativo.
  • VMREAD: lê um componente do VMCS (o código deste componente é passado em um registrador) e salva no destino que pode ser um registrador ou na memória.
  • VMWRITE: escreve em um componente do VMCS (o código deste componente é passado em um registrador) o valor do operando fonte que pode ser um registrador ou uma posição de memória.
  • VMCALL: permite que o SO convidado no modo VMX non-root solicite algum serviço do VMM. Uma transição VM exit ocorre, passando o controle para o VMM no modo VMX root. Esta é a única instrução que pode ser executada em modo VMX non-root sem causar erro.
  • VMLAUNCH: lança uma MV gerenciada pelo VMCS. Ocorre uma VM entry e o controle é passado para a MV.
  • VMRESUME: retoma a execução da MV gerenciada pelo VMCS. Ocorre uma VM entry e o controle é passado à MV.
  • VMXON: permite que o processador execute no modo VMX operation (VMX root ou VMX non-root)
  • VMXOFF: esta instrução deixa o modo VMX operation. O VMM pode querer desligar ele mesmo.

Refências

  • Intel® Virtualization Technology Specification for the IA-32 Intel® Architecture

Last edited Aug 15, 2007 at 8:41 PM by mkferreira, version 1

Comments

No comments yet.