On 13/01/2015 14:19, Huaicheng Li wrote: > Hi, all > > I have a Linux 3.8 kernel (host) and run QEMU 1.5.3 on it. I want to > test another hypervisor software in qemu so I enabled KVM's nested VMX > function(by passing "nested=1" parameter to the kvm module) and then > started a guest machine. In the guest, I could see the "vmx" instruction > set by reading /proc/cpuinfo and the kvm module can be correctly > inserted. But when I read the value of the IA32_FEATURE_CONTROL MSR > using msr-tools, it showed _0_, but the correct value should be _5_, > since bit 0(virtualization lock bit) and bit 2 of that MSR must be set > to enable the virtualization functionality. But in my vmware workstation > guest with nested virtualization enabled, the value of that MSR is, > indeed, _5_ as well as in the physical machine (of course). Here, I want > to ask > > * Am I missing anything in my operation to totally enable the nested > virtualization function ?? (I googled a lot and it seemed there were no > additional steps)
You have an old kernel. IA32_FEATURE_CONTROL MSR emulation was added in 3.12. > * Since the IA32_FEATURE_CONTROL MSR value should be set in BIOS and are > kept unchanged during the runtime, is there any modified BIOS that qemu > can use to enable the setting ?? Currently my qemu use the default one. This is a bug in your hypervisor. It should be ready to set bit 0 and optionally bit 2 of IA32_FEATURE_CONTROL, if it sees IA32_FEATURE_CONTROL = 0. Paolo