ARM:

* New Stage-2 page table dumper, reusing the main ptdump infrastructure

* FP8 support

* Nested virtualization now supports the address translation (FEAT_ATS1A)
  family of instructions

* Add selftest checks for a bunch of timer emulation corner cases

* Fix multiple cases where KVM/arm64 doesn't correctly handle the guest
  trying to use a GICv3 that wasn't advertised

* Remove REG_HIDDEN_USER from the sysreg infrastructure, making
  things little simpler

* Prevent MTE tags being restored by userspace if we are actively
  logging writes, as that's a recipe for disaster

* Correct the refcount on a page that is not considered for MTE tag
  copying (such as a device)

* When walking a page table to split block mappings, synchronize only
  at the end the walk rather than on every store

* Fix boundary check when transfering memory using FFA

* Fix pKVM TLB invalidation, only affecting currently out of tree
  code but worth addressing for peace of mind

LoongArch:

* Revert qspinlock to test-and-set simple lock on VM.

* Add Loongson Binary Translation extension support.

* Add PMU support for guest.

* Enable paravirt feature control from VMM.

* Implement function kvm_para_has_feature().

RISC-V:

* Fix sbiret init before forwarding to userspace

* Don't zero-out PMU snapshot area before freeing data

* Allow legacy PMU access from guest

* Fix to allow hpmcounter31 from the guest
Merge tag 'kvm-riscv-6.12-1' of https://github.com/kvm-riscv/linux into HEAD

KVM/riscv changes for 6.12

- Fix sbiret init before forwarding to userspace
- Don't zero-out PMU snapshot area before freeing data
- Allow legacy PMU access from guest
- Fix to allow hpmcounter31 from the guest