[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200527140425.3484-1-mlevitsk@redhat.com>
Date: Wed, 27 May 2020 17:04:23 +0300
From: Maxim Levitsky <mlevitsk@...hat.com>
To: kvm@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
Borislav Petkov <bp@...en8.de>,
Sean Christopherson <sean.j.christopherson@...el.com>,
Jingqi Liu <jingqi.liu@...el.com>, Tao Xu <tao3.xu@...el.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, Joerg Roedel <joro@...tes.org>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
x86@...nel.org (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)),
Maxim Levitsky <mlevitsk@...hat.com>
Subject: [PATCH v3 0/2] Fix issue with not starting nesting guests on my system
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
Powered by blists - more mailing lists