On 5/11/20 6:51 PM, Jim Mattson wrote: > On Mon, May 11, 2020 at 4:33 PM Babu Moger <babu.moger@xxxxxxx> wrote: >> >> Both Intel and AMD support (MPK) Memory Protection Key feature. >> Move the feature detection from VMX to the common code. It should >> work for both the platforms now. >> >> Signed-off-by: Babu Moger <babu.moger@xxxxxxx> >> --- >> arch/x86/kvm/cpuid.c | 4 +++- >> arch/x86/kvm/vmx/vmx.c | 4 ---- >> 2 files changed, 3 insertions(+), 5 deletions(-) >> >> diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c >> index 901cd1fdecd9..3da7d6ea7574 100644 >> --- a/arch/x86/kvm/cpuid.c >> +++ b/arch/x86/kvm/cpuid.c >> @@ -278,6 +278,8 @@ void kvm_set_cpu_caps(void) >> #ifdef CONFIG_X86_64 >> unsigned int f_gbpages = F(GBPAGES); >> unsigned int f_lm = F(LM); >> + /* PKU is not yet implemented for shadow paging. */ >> + unsigned int f_pku = tdp_enabled ? F(PKU) : 0; > > I think we still want to require that OSPKE be set on the host before > exposing PKU to the guest. > Ok I can add this check. + unsigned int f_pku = tdp_enabled && F(OSPKE)? F(PKU) : 0;