Paolo, Here the second batch of fixes for 6.16. We have a significant rework of our system register accessors so that the RES0/RES1 sanitisation gets applied at the right time, and a bunch of fixes for a single selftest that really *never* worked. Please pull, M. The following changes since commit 4d62121ce9b58ea23c8d62207cbc604e98ecdc0a: KVM: arm64: vgic-debug: Avoid dereferencing NULL ITE pointer (2025-05-30 10:24:49 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-6.16-2 for you to fetch changes up to fad4cf944839da7f5c3376243aa353295c88f588: KVM: arm64: selftests: Determine effective counter width in arch_timer_edge_cases (2025-06-05 14:28:44 +0100) ---------------------------------------------------------------- KVM/arm64 fixes for 6.16, take #2 - Rework of system register accessors for system registers that are directly writen to memory, so that sanitisation of the in-memory value happens at the correct time (after the read, or before the write). For convenience, RMW-style accessors are also provided. - Multiple fixes for the so-called "arch-timer-edge-cases' selftest, which was always broken. ---------------------------------------------------------------- Marc Zyngier (4): KVM: arm64: Add assignment-specific sysreg accessor KVM: arm64: Add RMW specific sysreg accessor KVM: arm64: Don't use __vcpu_sys_reg() to get the address of a sysreg KVM: arm64: Make __vcpu_sys_reg() a pure rvalue operand Sebastian Ott (4): KVM: arm64: selftests: Fix help text for arch_timer_edge_cases KVM: arm64: selftests: Fix thread migration in arch_timer_edge_cases KVM: arm64: selftests: Fix xVAL init in arch_timer_edge_cases KVM: arm64: selftests: Determine effective counter width in arch_timer_edge_cases arch/arm64/include/asm/kvm_host.h | 32 ++++++++++-- arch/arm64/kvm/arch_timer.c | 18 +++---- arch/arm64/kvm/debug.c | 4 +- arch/arm64/kvm/fpsimd.c | 4 +- arch/arm64/kvm/hyp/exception.c | 4 +- arch/arm64/kvm/hyp/include/hyp/switch.h | 4 +- arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h | 6 +-- arch/arm64/kvm/hyp/nvhe/hyp-main.c | 4 +- arch/arm64/kvm/hyp/vhe/switch.c | 4 +- arch/arm64/kvm/hyp/vhe/sysreg-sr.c | 48 ++++++++--------- arch/arm64/kvm/nested.c | 2 +- arch/arm64/kvm/pmu-emul.c | 24 ++++----- arch/arm64/kvm/sys_regs.c | 60 +++++++++++----------- arch/arm64/kvm/sys_regs.h | 4 +- arch/arm64/kvm/vgic/vgic-v3-nested.c | 10 ++-- .../selftests/kvm/arm64/arch_timer_edge_cases.c | 39 +++++++++----- 16 files changed, 151 insertions(+), 116 deletions(-)