Re: [PATCH v3 3/3] KVM: x86: Move MPK feature detection to common code

From: Babu Moger
Date: Tue May 12 2020 - 11:12:51 EST




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;