As of QEMU 2.1 we now have a new -cpu option, kvm=on|off which controls
whether we expose KVM as the hypervisor via the MSR hypervisor nodes.
The default is on. The off state is meant to hide kvm from standard
detection routines. This allows us to disable paravirtualization
detection in the guest and can be used to bypass hypervisor checks in
certain guest drivers[1].
How would we like to enable this in libvirt? One option would be a
processor feature, ex:
<feature policy='disable' name='kvm'/>
But since this doesn't map to a cpuid feature, I don't know if that
would be acceptable.
Another option might be to a domain feature, similar to some of the
other hyper-v related flags.
<domain type='kvm'>
<features>
<kvm>
<kvm state='off'>
</kvm>
<hyperv>
<relaxed state='on'>
...
</hyperv>
</features>
...
</domain>
Any other suggestions? Preference? Thanks,
Alex
[1]
http://lists.gnu.org/archive/html/qemu-devel/2014-06/msg00302.html