Czy można utworzyć maszynę wirtualną z określonym procesorem, który obsługuje tylko określony zestaw instrukcji.
Na przykład chcę wypróbować coś na maszynie, która ma procesor, który nie obsługuje instrukcji AVX lub SSE, czy można utworzyć maszynę wirtualną z procesorem, który nie obsługuje AVX ani SSE?
Odpowiedzi:
Dokumentacja VMware wspomina o „CPUID Mask”, ale nie wiem, jak to jest konfigurowalne.
Jeśli chcesz eksperymentować z innymi maszynami VMM, QEMU może włączać i wyłączać flagi CPUID w wierszu polecenia. Na przykład
qemu-system-i386 -cpu n270,fpu=off
prowadzi do wirtualnego procesora z funkcjami n270, ale z wyłączoną flagą procesora. Pełna lista obsługiwanych modeli procesorów i flag CPUID znajduje się pod adresemqemu-system-i386 -cpu help
.źródło
Sortuj VMware i VirtualBox nie obsługują emulacji, a jedynie wirtualizację. Oznacza to, że nie możesz dodawać funkcji. Jednak usunięcie funkcji nie powinno stanowić problemu.
W tym artykule podano szczegółowe informacje na temat fałszowania identyfikatora CPUID zgłoszonego gościowi. Pamiętaj, że tak naprawdę nie wyłącza to żadnych funkcji.
Instrukcje dotyczące produktów VMware (oferta):
Instrukcje do VirtualBox (cytat):
To, jak uzyskasz te wartości CPUID, zależy od ciebie, prawdopodobnie będziesz musiał zapoznać się z instrukcją architektury swojego dostawcy procesora.
Jeśli chcesz emulować funkcje, musisz użyć emulatora. QEMU może wykonywać zarówno wirtualizację, jak i pełną emulację. Obsługuje również wiele architektur CPU innych niż x86 / x64.
źródło