Re: [GIT PULL] KVM changes for Linux 6.9 merge window

From: Paolo Bonzini
Date: Sat Mar 16 2024 - 04:48:44 EST


On Sat, Mar 16, 2024 at 12:50 AM Oliver Upton <oliver.upton@xxxxxxxxx> wrote:
>
> On Fri, Mar 15, 2024 at 04:32:10PM -0700, Oliver Upton wrote:
> > On Fri, Mar 15, 2024 at 03:28:29PM -0700, Linus Torvalds wrote:
> > > The immediate cause of the failure is commit b80b701d5a67 ("KVM:
> > > arm64: Snapshot all non-zero RES0/RES1 sysreg fields for later
> > > checking") but I hope it worked at *some* point. I can't see how.
> >
> > Looks like commit fdd867fe9b32 ("arm64/sysreg: Add register fields for
> > ID_AA64DFR1_EL1") changed the register definition that tripped the
> > BUILD_BUG_ON().
> >
> > But it'd be *wildly* unfair to blame that, the KVM assertions are added
> > out of fear of new register definitions breaking our sysreg emulation.
> >
> > > I would guess / assume that commit cfc680bb04c5 ("arm64: sysreg: Add
> > > layout for ID_AA64MMFR4_EL1") is also involved, but having recoiled in
> > > horror from the awk script, I really can't even begin to guess at what
> > > is going on.

Linus, were you compiling with allyesconfig so that you got
CONFIG_KVM_ARM64_RES_BITS_PARANOIA on?

> > So unless anyone screams, I say we revert:
> >
> > 99101dda29e3 ("KVM: arm64: Make build-time check of RES0/RES1 bits optional")

Yes, in retrospect it's kinda obvious that, even if it cures default
config, allyesconfig still fails with this change.

> b80b701d5a67 ("KVM: arm64: Snapshot all non-zero RES0/RES1 sysreg fields for later checking")

You can also make CONFIG_KVM_ARM64_RES_BITS_PARANOIA depend on !COMPILE_TEST.

Paolo