Hi Paolo, Here's the first batch of fixes for 5.12. We have a handful of low level world-switch regressions, a page table walker fix, more PMU tidying up, and a workaround for systems with creative firmware. Note that this is based on -rc1 despite the breakage, as I didn't feel like holding these patches until -rc2. Please pull, M. The following changes since commit fe07bfda2fb9cdef8a4d4008a409bb02f35f1bd8: Linux 5.12-rc1 (2021-02-28 16:05:19 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-5.12-1 for you to fetch changes up to e85583b3f1fe62c9b371a3100c1c91af94005ca9: KVM: arm64: Fix range alignment when walking page tables (2021-03-04 09:54:12 +0000) ---------------------------------------------------------------- KVM/arm64 fixes for 5.12, take #1 - Fix SPE context save/restore on nVHE - Fix some subtle host context corruption on vcpu exit - Fix panic handling on nVHE - Prevent the hypervisor from accessing PMU registers when there is none - Workaround broken firmwares advertising bogus GICv2 compatibility - Fix Stage-2 unaligned range unmapping ---------------------------------------------------------------- Andrew Scull (1): KVM: arm64: Fix nVHE hyp panic host context restore Jia He (1): KVM: arm64: Fix range alignment when walking page tables Marc Zyngier (4): KVM: arm64: Turn kvm_arm_support_pmu_v3() into a static key KVM: arm64: Don't access PMSELR_EL0/PMUSERENR_EL0 when no PMU is available KVM: arm64: Rename __vgic_v3_get_ich_vtr_el2() to __vgic_v3_get_gic_config() KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 compatibility Suzuki K Poulose (1): KVM: arm64: nvhe: Save the SPE context early Will Deacon (1): KVM: arm64: Avoid corrupting vCPU context register in guest exit arch/arm64/include/asm/kvm_asm.h | 4 ++-- arch/arm64/include/asm/kvm_hyp.h | 8 ++++++- arch/arm64/kernel/image-vars.h | 3 +++ arch/arm64/kvm/hyp/entry.S | 2 +- arch/arm64/kvm/hyp/include/hyp/switch.h | 9 +++++--- arch/arm64/kvm/hyp/nvhe/debug-sr.c | 12 ++++++++-- arch/arm64/kvm/hyp/nvhe/host.S | 15 +++++++------ arch/arm64/kvm/hyp/nvhe/hyp-main.c | 6 ++--- arch/arm64/kvm/hyp/nvhe/switch.c | 14 +++++++++--- arch/arm64/kvm/hyp/pgtable.c | 1 + arch/arm64/kvm/hyp/vgic-v3-sr.c | 40 +++++++++++++++++++++++++++++++-- arch/arm64/kvm/perf.c | 10 +++++++++ arch/arm64/kvm/pmu-emul.c | 10 --------- arch/arm64/kvm/vgic/vgic-v3.c | 12 +++++++--- include/kvm/arm_pmu.h | 9 ++++++-- 15 files changed, 116 insertions(+), 39 deletions(-)