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.