Hello,
Recently I noticed that if I gave no model to qemu, then I would get 'qemu64'
as default cpu model.
Model 'qemu64' defined in qemu and defined in libvirt both support feature
'svm'. And if I start a VM with
'qemu64' as the qemu default model, I can get no 'svm' feature in the
GuestOS:
fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr
sse sse2 ht pni cx16 popcnt hypervisor syscall nx lm lahf_lm
My host cpu is intel E5620, and it doesn't support 'svm' feature:
'fpu', 'vme', 'de', 'pse', 'tsc',
'msr', 'pae', 'mce', 'cx8', 'apic', 'sep',
'mtrr', 'pge', 'mca', 'cmov', 'pat',
'pse36',
'clflush', 'ds', 'acpi', 'mmx', 'fxsr',
'sse', 'sse2', 'ss', 'ht', 'tm', 'pbe',
'pni', 'pclmulqdq', 'dtes64', 'monitor', 'ds_cpl',
'vmx', 'smx', 'est', 'tm2', 'ssse3',
'cx16', 'xtpr', 'pdcm', 'pcid', 'dca',
'sse4.1', 'sse4.2', 'popcnt', 'aes', 'syscall',
'nx',
'pdpe1gb', 'rdtscp', 'lm', 'lahf_lm', 'dts',
'arat', 'constant_tsc'
I can get the same result with libvirt API compareCPU on the host:
model:qemu64; ret:0
model:Conroe; ret:2
model:Penryn; ret:2
model:Nehalem; ret:2
model:Westmere; ret:2
model:SandyBridge; ret:0
model:Haswell; ret:0
Isn't it strange that the host cpu doesn't support 'qemu64' model, but
we can still start a VM with 'qemu64' as
the default model on it?
Best Regards,
-WangYufei