Messages in this thread | | | From | Maxim Levitsky <> | Subject | [PATCH v3 0/2] Fix issue with not starting nesting guests on my system | Date | Wed, 27 May 2020 17:04:23 +0300 |
| |
On my AMD machine I noticed that I can't start any nested guests, because nested KVM (everything from master git branches) complains that it can't find msr MSR_IA32_UMWAIT_CONTROL which my system doesn't support at all anyway.
I traced it to the recently added UMWAIT support to qemu and kvm. The kvm portion exposed the new MSR in KVM_GET_MSR_INDEX_LIST without checking that it the underlying feature is supported in CPUID. It happened to work when non nested because as a precation kvm, tries to read each MSR on host before adding it to that list, and when read gets a #GP it ignores it.
When running nested, the L1 hypervisor can be set to ignore unknown msr read/writes (I need this for some other guests), thus this safety check doesn't work anymore.
V2: * added a patch to setup correctly the X86_FEATURE_WAITPKG kvm capability * dropped the cosmetic fix patch as it is now fixed in kvm/queue
V3: addressed the review feedback and possibly made the commit messages a bit better Thanks!
Best regards, Maxim Levitsky
Maxim Levitsky (2): KVM: VMX: enable X86_FEATURE_WAITPKG in KVM capabilities KVM: x86: don't expose MSR_IA32_UMWAIT_CONTROL unconditionally
arch/x86/kvm/vmx/vmx.c | 3 +++ arch/x86/kvm/x86.c | 4 ++++ 2 files changed, 7 insertions(+)
-- 2.26.2
| |