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