qemu/kvm pozwala na emulacje wielu różnych rodzajów procesorów. Jak można sprawdzić czy zadany procesor może być emulowany na konkretnym sprzęcie? Albo też - jak można uzyskać listę procesorów jakie mogą być emulowane na danym hoście?
qemu/kvm pozwala na emulacje wielu różnych rodzajów procesorów. Jak można sprawdzić czy zadany procesor może być emulowany na konkretnym sprzęcie? Albo też - jak można uzyskać listę procesorów jakie mogą być emulowane na danym hoście?
Zadany procesor - możemy sprawdzić dodając parametr check przy cpu, np:
undefine@uml:~$ kvm -cpu Nehalem,check undefine@uml:~$ kvm -cpu SandyBridge,check undefine@uml:~$ kvm -cpu Westmere,check undefine@uml:~$ kvm -cpu Haswell,check warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit 12] warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22] warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1 [bit 3] warning: host doesn't support requested feature: CPUID.07H:EBX.hle [bit 4] warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5] warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8] warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10] warning: host doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11] undefine@uml:~$ kvm -cpu athlon,check warning: host doesn't support requested feature: CPUID.80000001H:EDX.mmxext [bit 22] warning: host doesn't support requested feature: CPUID.80000001H:EDX.3dnowext [bit 30] warning: host doesn't support requested feature: CPUID.80000001H:EDX.3dnow [bit 31]
Jak widać - mogę emulować procesory Nehalem,SandyBridge, Wesmere, ale do Haswell brakuje już kilku instrukcji obsługiwanych przez mój procesor. Podobnie jak z athlonem :-)
Jak dostać listę procesorów obsługiwanych - niestety nie mam pojęcia :-)