RE: [PATCH 3/3] KVM:SVM: Enable INVPCID feature on AMD

From: Babu Moger
Date: Mon Jun 15 2020 - 10:59:18 EST




> -----Original Message-----
> From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> Sent: Monday, June 15, 2020 8:47 AM
> To: Jim Mattson <jmattson@xxxxxxxxxx>; Moger, Babu
> <Babu.Moger@xxxxxxx>
> Cc: Wanpeng Li <wanpengli@xxxxxxxxxxx>; Joerg Roedel <joro@xxxxxxxxxx>;
> the arch/x86 maintainers <x86@xxxxxxxxxx>; Sean Christopherson
> <sean.j.christopherson@xxxxxxxxx>; Ingo Molnar <mingo@xxxxxxxxxx>;
> Borislav Petkov <bp@xxxxxxxxx>; H . Peter Anvin <hpa@xxxxxxxxx>; Vitaly
> Kuznetsov <vkuznets@xxxxxxxxxx>; Thomas Gleixner <tglx@xxxxxxxxxxxxx>;
> LKML <linux-kernel@xxxxxxxxxxxxxxx>; kvm list <kvm@xxxxxxxxxxxxxxx>
> Subject: Re: [PATCH 3/3] KVM:SVM: Enable INVPCID feature on AMD
>
> On 13/06/20 02:04, Jim Mattson wrote:
> >> I think I have misunderstood this part. I was not inteding to change the
> >> #GP behaviour. I will remove this part. My intension of these series is to
> >> handle invpcid in shadow page mode. I have verified that part. Hope I did
> >> not miss anything else.
> > You don't really have to intercept INVPCID when tdp is in use, right?
> > There are certainly plenty of operations for which kvm does not
> > properly raise #UD when they aren't enumerated in the guest CPUID.
> >
>
> Indeed; for RDRAND and RDSEED it makes sense to do so because the
> instructions may introduce undesirable nondeterminism (or block all the
> packages in your core as they have been doing for a few weeks).
> Therefore on Intel we trap them and raise #UD; on AMD this is not
> possible because RDRAND has no intercept.
>
> In general however we do not try to hard to raise #UD and that is
> usually not even possible.

Yes. Sure. Thanks.
>
> Paolo