VM com uma CPU específica

3

É possível criar uma VM com uma CPU específica que suporte apenas um conjunto de instruções específico.

Por exemplo, eu quero tentar algo em uma máquina que tem uma CPU que não suporta instrução AVX ou SSE, é possível criar uma VM com uma CPU que não tem suporte a AVX ou SSE?

    
por Humam Helfawi 03.03.2018 / 18:17

2 respostas

3

A documentação do VMware menciona uma "CPUID Mask", mas não sei como isso é configurável.

Se você estiver disposto a experimentar outros VMMs, o QEMU poderá ativar e desativar sinalizadores de CPUID na linha de comando. Por exemplo, qemu-system-i386 -cpu n270,fpu=off leva a uma CPU virtual com os recursos de um n270, mas com o sinalizador fpu desativado. Há uma lista completa de modelos de CPU suportados e sinalizadores de CPUID em qemu-system-i386 -cpu help .

    
por 03.03.2018 / 18:31
3

Classificar-se. VMware e VirtualBox não suportam emulação, apenas virtualização. Isso significa que você não pode adicionar recursos . No entanto, remover recursos não deve representar um problema.

Este artigo tem alguns detalhes sobre como falsificar o CPUID conforme relatado para o convidado. Lembre-se de que isso não desativa recursos.

Instruções para produtos VMware (citação):

Use editor (e.g. notepad) open virtual machine configure file (.vmx)
Adding following lines:

cpuid.1.eax = "00000000000000110100011010101001"
cpuid.1.edx = "10111111111010111111101111111011"

If CPUID is still not change or invalid, try adding:

cpuid.1.ebx = "00000000000000110100011010101001"
cpuid.1.ecx = "10111111111010111111101111111011"

Save configure file and start your Virtual Machine.

Instruções para o VirtualBox (citação):

Open Command Prompt and switch to VirtualBox working directory.
Run following command to change CPUID.

vboxmanage modifyvm  --cpuidset 1 000306a9 00100800 3d9ae3bf bfebfbff

Start your Virtual Machine.

Como você obtém esses valores de CPUID, provavelmente precisará consultar o manual de arquitetura de conjuntos de instruções do fornecedor da CPU.

Se você deseja emular recursos, precisará usar um emulador. O QEMU pode fazer virtualização e emulação total. Ele também suporta muitas arquiteturas de CPU diferentes de x86 / x64.

    
por 03.03.2018 / 18:33

Tags