On Thu, Feb 22, 2024 at 10:03:49PM +1100, Stephen Rothwell wrote: > Hi all, > > After merging the kvm tree, today's linux-next build (arm64 defconfig) > failed like this: > > In file included from <command-line>: > In function 'check_res_bits', > inlined from 'kvm_sys_reg_table_init' at arch/arm64/kvm/sys_regs.c:4109:2: > include/linux/compiler_types.h:449:45: error: call to '__compiletime_assert_591' declared with attribute error: BUILD_BUG_ON failed: ID_AA64DFR1_EL1_RES0 != (GENMASK_ULL(63, 0)) > 449 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) > | ^ > include/linux/compiler_types.h:430:25: note: in definition of macro '__compiletime_assert' > 430 | prefix ## suffix(); \ > | ^~~~~~ > include/linux/compiler_types.h:449:9: note: in expansion of macro '_compiletime_assert' > 449 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) > | ^~~~~~~~~~~~~~~~~~~ > include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' > 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) > | ^~~~~~~~~~~~~~~~~~ > include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG' > 50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) > | ^~~~~~~~~~~~~~~~ > arch/arm64/kvm/check-res-bits.h:58:9: note: in expansion of macro 'BUILD_BUG_ON' > 58 | BUILD_BUG_ON(ID_AA64DFR1_EL1_RES0 != (GENMASK_ULL(63, 0))); > | ^~~~~~~~~~~~ > > I bisected this to the merge of the kvm-arm tree into linux-next but I > could not figure out why it fails :-( > > -- > Cheers, > Stephen Rothwell This fails because https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?id=fdd867fe9b32 added new fields to that register (ID_AA64DFR1_EL1) and commit b80b701d5a6 ("KVM: arm64: Snapshot all non-zero RES0/RES1 sysreg fields for later checking") took a snapshot of the fields, so the RES0 (reserved 0) bits don't match anymore. Not sure how to resolve it in the git branches though. Thanks, Joey