I hope I didn't miss any features for the freeze. If yours is missing, pls holler.
There are some (old) bugs that have been reported and will I hope get fixed before the release, I will focus on that after the freeze. The following changes since commit 7f2007d1924565c7a38b2c6ba01ebc1a85db0a49: Merge tag 'pull-qobject-2026-07-02' of https://repo.or.cz/qemu/armbru into staging (2026-07-03 07:42:51 +0200) are available in the Git repository at: https://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream for you to fetch changes up to 32a90850e1e4222091df07b4b46d5f46a8b90d24: virtio-net: validate RSS indirections_len in post_load (2026-07-05 09:06:13 -0400) ---------------------------------------------------------------- pci, vhost, virtio, iommu: features, fixes, cleanups A new sp-mem device New tests for vtd New seg-max-adjust flag for vhost-user-blk Watchdog support for arm/virt Fixes, cleanups all over the place. Signed-off-by: Michael S. Tsirkin <[email protected]> ---------------------------------------------------------------- Alejandro Jimenez (4): amd_iommu: Return int from page walk status helpers amd_iommu: Decode XT interrupt control register without bitfields amd_iommu: Decode IRTEs without bitfields amd_iommu: Fix endianness handling for command buffer entries David Hoppenbrouwers (1): amd_iommu: Fix opcode reported in invalid command handling Demi Marie Obenour (1): vhost-user: Guarantee that memory regions do not overlap GuoHan Zhao (3): vhost-user-base: free virtqueue array during cleanup vhost-user-base: clean up vhost_dev on realize failure vhost-user-scmi: free vhost virtqueue array on cleanup Igor Mammedov (13): arm: sbsa_gwdt: fixup default "clock-frequency" arm: add tracing events to sbsa_gwdt arm: sbsa_gwdt: rename device type to sbsa-gwdt arm: virt: create sbsa-gwdt watchdog arm: sbsa-gwdt: add 'wdat' option acpi: introduce WDAT table for GWDT arm: virt: add support for WDAT based watchdog tests: acpi: arm/virt: whitelist new WDAT table tests: acpi: arm/virt: add WDAT table test case tests: acpi: arm/virt: update expected WDAT blob tests: acpi: arm/virt: whitelist GTDT table tests: acpi: arm/virt: add GTDT watchdog table test case tests: acpi: arm/virt: update expected GTDT blob Junjie Cao (4): tests/qtest/libqos: share Intel IOMMU test setup helpers tests/qtest/libqos: add Intel IOMMU invalidation helpers tests/qtest: add IOTLB invalidation test for Intel IOMMU virtio-net: validate RSS indirections_len in post_load Laurent Vivier (1): hw/char/virtio-serial-bus: fix guest-triggerable OOM in control_out() Sergei Heifetz (1): vhost-user-blk: add seg-max-adjust flag Stefan Hajnoczi (3): vhost-user.rst: clarify when rings are started libvhost-user: look for available vq buffers upon SET_VRING_KICK vhost-user: inject kick after SET_VRING_KICK fanhuang (10): hw/mem: add sp-mem device for Specific Purpose Memory qapi, hmp: introspection for the sp-mem device i386/acpi-build: partition device_memory SRAT umbrella for sp-mem hw/i386: hook sp-mem into the pc machine plug path MAINTAINERS: cover sp-mem under Memory devices, add R: tag tests/acpi: add empty expected blobs for sp-mem SRAT test tests/acpi: add bios-tables-test case for sp-mem tests/acpi: generate expected blobs for sp-mem SRAT test tests/qtest: add e820 fw_cfg test tests/qtest: cover sp-mem SOFT_RESERVED e820 entry helei (1): hw/virtio-crypto: enforce max akcipher key length lizhaoxin04 (1): vdpa: fix use-after-free of vqs in vhost_vdpa_device_unrealize no92 (1): intel_iommu: Correctly set pt bit in extended capability register MAINTAINERS | 4 + docs/interop/vhost-user.rst | 47 +++- docs/system/arm/virt.rst | 24 +++ qapi/machine.json | 43 +++- hw/i386/amd_iommu.h | 63 ------ hw/i386/e820_memory_layout.h | 11 +- include/hw/acpi/wdat-gwdt.h | 19 ++ include/hw/arm/virt.h | 3 + include/hw/mem/sp-mem.h | 33 +++ include/hw/virtio/vhost-user-blk.h | 1 + include/hw/watchdog/sbsa_gwdt.h | 3 +- tests/qtest/libqos/qos-intel-iommu.h | 74 +++++++ hw/acpi/wdat-gwdt-stub.c | 16 ++ hw/acpi/wdat-gwdt.c | 99 +++++++++ hw/arm/virt-acpi-build.c | 51 ++++- hw/arm/virt.c | 48 +++++ hw/block/vhost-user-blk.c | 12 ++ hw/char/virtio-serial-bus.c | 34 +-- hw/core/machine-hmp-cmds.c | 11 + hw/core/sysbus-fdt.c | 2 + hw/i386/acpi-build.c | 96 ++++++++- hw/i386/amd_iommu.c | 168 ++++++++++----- hw/i386/intel_iommu.c | 4 +- hw/i386/pc.c | 36 ++++ hw/mem/sp-mem.c | 128 +++++++++++ hw/net/virtio-net.c | 21 +- hw/virtio/vdpa-dev.c | 3 +- hw/virtio/vhost-user-base.c | 21 +- hw/virtio/vhost-user-scmi.c | 12 +- hw/virtio/vhost-user.c | 24 ++- hw/virtio/virtio-crypto.c | 6 + hw/watchdog/sbsa_gwdt.c | 24 ++- subprojects/libvhost-user/libvhost-user.c | 19 +- tests/qtest/bios-tables-test.c | 62 ++++++ tests/qtest/e820-test.c | 129 +++++++++++ tests/qtest/iommu-intel-inv-test.c | 346 ++++++++++++++++++++++++++++++ tests/qtest/iommu-intel-test.c | 78 +------ tests/qtest/libqos/qos-intel-iommu.c | 185 ++++++++++++++++ hw/acpi/meson.build | 2 + hw/arm/Kconfig | 1 + hw/i386/Kconfig | 2 + hw/mem/Kconfig | 4 + hw/mem/meson.build | 1 + hw/watchdog/trace-events | 9 + tests/data/acpi/aarch64/virt/GTDT.gwdt | Bin 0 -> 132 bytes tests/data/acpi/aarch64/virt/WDAT.wdat | Bin 0 -> 260 bytes tests/data/acpi/x86/q35/DSDT.spmem | Bin 0 -> 9910 bytes tests/data/acpi/x86/q35/SRAT.spmem | Bin 0 -> 384 bytes tests/qtest/meson.build | 3 +- 49 files changed, 1715 insertions(+), 267 deletions(-) create mode 100644 include/hw/acpi/wdat-gwdt.h create mode 100644 include/hw/mem/sp-mem.h create mode 100644 hw/acpi/wdat-gwdt-stub.c create mode 100644 hw/acpi/wdat-gwdt.c create mode 100644 hw/mem/sp-mem.c create mode 100644 tests/qtest/e820-test.c create mode 100644 tests/qtest/iommu-intel-inv-test.c create mode 100644 tests/data/acpi/aarch64/virt/GTDT.gwdt create mode 100644 tests/data/acpi/aarch64/virt/WDAT.wdat create mode 100644 tests/data/acpi/x86/q35/DSDT.spmem create mode 100644 tests/data/acpi/x86/q35/SRAT.spmem
