Re: [PATCH v2 12/12] KVM: x86/pmu: Clear reserved bit PERF_CTL2[43] for AMD erratum 1292

From: Jim Mattson
Date: Tue Mar 08 2022 - 11:14:53 EST


On Tue, Mar 8, 2022 at 3:25 AM Like Xu <like.xu.linux@xxxxxxxxx> wrote:
>
> On 5/3/2022 3:06 am, Jim Mattson wrote:
> > We should continue to synthesize a #GP for an attempt to set "must be
> > zero" bits or for rule violations, like "address must be canonical."
>
> Actually, I do stand in the same position as you.
>
> > However, we have absolutely no business making up our own hardware
> > specification. This is a bug, and it should be fixed, like any other
> > bug.
> Current virtual hardware interfaces do not strictly comply with vendor
> specifications
> and may not be the same in the first step of enablement, or some of them may have
> to be compromised later out of various complexity.
>
> The behavior of AMD's "synthesize a #GP" to "reserved without qualification" bits
> is clearly a legacy tech decision (not sure if it was intentional). We may need
> a larger
> independent patch set to apply this one-time surgery, including of course this
> pmu issue.
>
> What do you think ?

The PMU issue needs to be fixed ASAP, since a Linux guest will set the
"host-only" bit on a CPU that doesn't support it, and Linux expects
the bit to be ignored and the remainder of the PerfEvtSeln to be
written. Currently, KVM synthesizes #GP and the PerfEvtSeln is not
written.

I don't believe it is necessary to fix all related issues at one time.
Incremental fixes should be fine.