The KVM feature changes were merged a few days ago with all of their enhancements for the in-development Linux 6.17 kernel. Some nice improvements made it this cycle for enhancing the open-source Linux virtualization stack.
KVM on the x86 (x86_64) side of the Kernel-based Virtual Machine includes sharing device posted IRQ code between AMD SVM and Intel VMX code to harden it against bugs and run-time issues. There are also improvements around the MMIO stale data mitigation, advertising support for Load Kernel GS base “LKGS” as part of FRED, and various other common KVM x86/x86_64 enhancements.
KVM specific to AMD processor support includes disabling IPI virtualization on CPUs specific to a particular erratum to allow safely enabling AVIC on Zen 1 / Zen 2 processors, fixing various bugs, dropping an unneeded WBINVD on all CPU cores when destroying a VM, and when reclaiming memory from an SEV guest to only do cache flushes on CPUs that have been used by that particular guest to avoid unnecessarily flushing caches for CPUs that haven’t even dealt with a particular VM. That last change is a nice enhancement for smarter cache flushing when using AMD SEV-enabled KVM virtual machines.
KVM on ARM meanwhile adds a host driver for GICv55 as the next-gen interrupt controller for ARM64. KVM on RISC-V also saw some changes, including improvements around the MMU code in working toward nested virtualization support.
More details on all of the merged KVM improvements for Linux 6.17 via this pull request.