Generic:

* Clean up locking of all vCPUs for a VM by using the *_nest_lock()
  family of functions, and move duplicated code to virt/kvm/.
  kernel/ patches acked by Peter Zijlstra.

* Add MGLRU support to the access tracking perf test.

ARM fixes:

* Make the irqbypass hooks resilient to changes in the GSI<->MSI
  routing, avoiding behind stale vLPI mappings being left behind. The
  fix is to resolve the VGIC IRQ using the host IRQ (which is stable)
  and nuking the vLPI mapping upon a routing change.

* Close another VGIC race where vCPU creation races with VGIC
  creation, leading to in-flight vCPUs entering the kernel w/o private
  IRQs allocated.

* Fix a build issue triggered by the recently added workaround for
  Ampere's AC04_CPU_23 erratum.

* Correctly sign-extend the VA when emulating a TLBI instruction
  potentially targeting a VNCR mapping.

* Avoid dereferencing a NULL pointer in the VGIC debug code, which can
  happen if the device doesn't have any mapping yet.

s390:

* Fix interaction between some filesystems and Secure Execution

* Some cleanups and refactorings, preparing for an upcoming big series

x86:

* Wait for target vCPU to acknowledge KVM_REQ_UPDATE_PROTECTED_GUEST_STATE to
  fix a race between AP destroy and VMRUN.

* Decrypt and dump the VMSA in dump_vmcb() if debugging enabled for the VM.

* Refine and harden handling of spurious faults.

* Add support for ALLOWED_SEV_FEATURES.

* Add #VMGEXIT to the set of handlers special cased for CONFIG_RETPOLINE=y.

* Treat DEBUGCTL[5:2] as reserved to pave the way for virtualizing features
  that utilize those bits.

* Don't account temporary allocations in sev_send_update_data().

* Add support for KVM_CAP_X86_BUS_LOCK_EXIT on SVM, via Bus Lock Threshold.

* Unify virtualization of IBRS on nested VM-Exit, and cross-vCPU IBPB, between
  SVM and VMX.

* Advertise support to userspace for WRMSRNS and PREFETCHI.

* Rescan I/O APIC routes after handling EOI that needed to be intercepted due
  to the old/previous routing, but not the new/current routing.

* Add a module param to control and enumerate support for device posted
  interrupts.

* Fix a potential overflow with nested virt on Intel systems running 32-bit kernels.

* Flush shadow VMCSes on emergency reboot.

* Add support for SNP to the various SEV selftests.

* Add a selftest to verify fastops instructions via forced emulation.

* Refine and optimize KVM's software processing of the posted interrupt bitmap, and share
  the harvesting code between KVM and the kernel's Posted MSI handler
Merge tag 'kvmarm-fixes-6.16-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

KVM/arm64 fixes for 6.16, take #1

- Make the irqbypass hooks resilient to changes in the GSI<->MSI
  routing, avoiding behind stale vLPI mappings being left behind. The
  fix is to resolve the VGIC IRQ using the host IRQ (which is stable)
  and nuking the vLPI mapping upon a routing change.

- Close another VGIC race where vCPU creation races with VGIC
  creation, leading to in-flight vCPUs entering the kernel w/o private
  IRQs allocated.

- Fix a build issue triggered by the recently added workaround for
  Ampere's AC04_CPU_23 erratum.

- Correctly sign-extend the VA when emulating a TLBI instruction
  potentially targeting a VNCR mapping.

- Avoid dereferencing a NULL pointer in the VGIC debug code, which can
  happen if the device doesn't have any mapping yet.