On Sun, Oct 05, 2025 at 03:16:03PM -0400, Michael S. Tsirkin wrote:
> The following changes since commit 81e3121bef89bcd3ccb261899e5a36246199065d:
>
> Merge tag 'pull-vfio-20251003' of https://github.com/legoater/qemu into
> staging (2025-10-03 04:57:58 -0700)
>
> 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 e27b177339ea4d391ed7538fbdbad34518937408:
>
> pci: Fix wrong parameter passing to pci_device_get_iommu_bus_devfn()
> (2025-10-05 09:13:26 -0400)
it is:
commit e209d4d7a31b9f82925a2205e6e19e61a3facbe0
virtio: improve virtqueue mapping error messages
now.
sorry.
> ----------------------------------------------------------------
> virtio,pci,pc: features, fixes
>
> users can now control VM bit in smbios.
> vhost-user-device is now user-createable.
> intel_iommu now supports PRI
> virtio-net now supports GSO over UDP tunnel
> ghes now supports error injection
> amd iommu now supports dma remapping for vfio
>
> small fixes all over the place.
>
> Signed-off-by: Michael S. Tsirkin <[email protected]>
>
> ----------------------------------------------------------------
> Alejandro Jimenez (20):
> memory: Adjust event ranges to fit within notifier boundaries
> amd_iommu: Document '-device amd-iommu' common options
> amd_iommu: Reorder device and page table helpers
> amd_iommu: Helper to decode size of page invalidation command
> amd_iommu: Add helper function to extract the DTE
> amd_iommu: Return an error when unable to read PTE from guest memory
> amd_iommu: Add helpers to walk AMD v1 Page Table format
> amd_iommu: Add a page walker to sync shadow page tables on invalidation
> amd_iommu: Add basic structure to support IOMMU notifier updates
> amd_iommu: Sync shadow page tables on page invalidation
> amd_iommu: Use iova_tree records to determine large page size on UNMAP
> amd_iommu: Unmap all address spaces under the AMD IOMMU on reset
> amd_iommu: Add replay callback
> amd_iommu: Invalidate address translations on INVALIDATE_IOMMU_ALL
> amd_iommu: Toggle memory regions based on address translation mode
> amd_iommu: Set all address spaces to use passthrough mode on reset
> amd_iommu: Add dma-remap property to AMD vIOMMU device
> amd_iommu: Toggle address translation mode on devtab entry invalidation
> amd_iommu: Do not assume passthrough translation when DTE[TV]=0
> amd_iommu: Refactor amdvi_page_walk() to use common code for page walk
>
> Alessandro Ratti (1):
> virtio: Add function name to error messages
>
> Alex Bennée (1):
> hw/virtio: rename vhost-user-device and make user creatable
>
> CLEMENT MATHIEU--DRIF (5):
> pcie: Add a way to get the outstanding page request allocation (pri)
> from the config space.
> intel_iommu: Bypass barrier wait descriptor
> intel_iommu: Declare PRI constants and structures
> intel_iommu: Declare registers for PRI
> intel_iommu: Add PRI operations support
>
> Damien Bergamini (1):
> pcie_sriov: Fix broken MMIO accesses from SR-IOV VFs
>
> Daniil Tatianin (1):
> hw/smbios: allow clearing the VM bit in SMBIOS table 0
>
> Igor Mammedov (2):
> smbios: cap DIMM size to 2Tb as workaround for broken Windows
> x86: ich9: fix default value of 'No Reboot' bit in GCS
>
> Joao Martins (2):
> intel-iommu: Move dma_translation to x86-iommu
> amd_iommu: HATDis/HATS=11 support
>
> Li Zhaoxin (1):
> vdpa-dev: add get_vhost() callback for vhost-vdpa device
>
> Mauro Carvalho Chehab (17):
> Revert "hw/acpi/ghes: Make ghes_record_cper_errors() static"
> acpi/ghes: Cleanup the code which gets ghes ged state
> acpi/ghes: prepare to change the way HEST offsets are calculated
> acpi/ghes: add a firmware file with HEST address
> acpi/ghes: Use HEST table offsets when preparing GHES records
> acpi/ghes: don't hard-code the number of sources for HEST table
> acpi/ghes: add a notifier to notify when error data is ready
> acpi/generic_event_device: Update GHES migration to cover hest addr
> acpi/generic_event_device: add logic to detect if HEST addr is available
> acpi/generic_event_device: add an APEI error device
> tests/acpi: virt: allow acpi table changes at DSDT and HEST tables
> arm/virt: Wire up a GED error device for ACPI / GHES
> qapi/acpi-hest: add an interface to do generic CPER error injection
> acpi/generic_event_device.c: enable use_hest_addr for QEMU 10.x
> tests/acpi: virt: update HEST and DSDT tables
> docs: hest: add new "etc/acpi_table_hest_addr" and update workflow
> scripts/ghes_inject: add a script to generate GHES error inject
>
> Paolo Abeni (14):
> net: bundle all offloads in a single struct
> linux-headers: deal with counted_by annotation
> linux-headers: Update to Linux v6.17-rc1
> virtio: introduce extended features type
> virtio: serialize extended features state
> virtio: add support for negotiating extended features
> virtio-pci: implement support for extended features
> vhost: add support for negotiating extended features
> qmp: update virtio features map to support extended features
> vhost-backend: implement extended features support
> vhost-net: implement extended features support
> virtio-net: implement extended features support
> net: implement tunnel probing
> net: implement UDP tunnel features offloading
>
> Stefan Hajnoczi (6):
> vhost: use virtio_config_get_guest_notifier()
> virtio: unify virtio_notify_irqfd() and virtio_notify()
> virtio: support irqfd in virtio_notify_config()
> tests/libqos: extract qvirtqueue_set_avail_idx()
> tests/virtio-scsi: add a virtio_error() IOThread test
> pcie_sriov: make pcie_sriov_pf_exit() safe on non-SR-IOV devices
>
> Zhenzhong Duan (3):
> intel_iommu: Enable Enhanced Set Root Table Pointer Support (ESRTPS)
> intel_iommu: Simplify caching mode check with VFIO device
> pci: Fix wrong parameter passing to pci_device_get_iommu_bus_devfn()
>
> peng guo (1):
> hw/i386/pc: Avoid overlap between CXL window and PCI 64bit BARs in QEMU
>
> docs/pcie_sriov.txt | 5 +-
> qapi/acpi-hest.json | 36 +
> qapi/qapi-schema.json | 1 +
> qapi/virtio.json | 9 +-
> hw/i386/amd_iommu.h | 51 +
> hw/i386/intel_iommu_internal.h | 52 +
> hw/virtio/virtio-qmp.h | 3 +-
> include/hw/acpi/acpi_dev_interface.h | 1 +
> include/hw/acpi/aml-build.h | 2 +
> include/hw/acpi/generic_event_device.h | 1 +
> include/hw/acpi/ghes.h | 51 +-
> include/hw/arm/virt.h | 2 +
> include/hw/firmware/smbios.h | 2 +-
> include/hw/i386/intel_iommu.h | 1 +
> include/hw/i386/x86-iommu.h | 1 +
> include/hw/pci/pcie.h | 1 +
> include/hw/pci/pcie_sriov.h | 4 -
> include/hw/southbridge/ich9.h | 2 +-
> include/hw/virtio/vhost-backend.h | 6 +
> include/hw/virtio/vhost-user-base.h | 2 +-
> include/hw/virtio/vhost.h | 56 +-
> include/hw/virtio/virtio-features.h | 126 +++
> include/hw/virtio/virtio-net.h | 2 +-
> include/hw/virtio/virtio-pci.h | 2 +-
> include/hw/virtio/virtio.h | 16 +-
> include/net/net.h | 20 +-
> include/net/vhost_net.h | 33 +-
> include/standard-headers/drm/drm_fourcc.h | 56 +-
> include/standard-headers/linux/ethtool.h | 4 +-
> include/standard-headers/linux/input-event-codes.h | 8 +
> include/standard-headers/linux/input.h | 1 +
> include/standard-headers/linux/pci_regs.h | 9 +
> include/standard-headers/linux/vhost_types.h | 5 +
> include/standard-headers/linux/virtio_net.h | 33 +
> linux-headers/asm-arm64/unistd_64.h | 2 +
> linux-headers/asm-generic/unistd.h | 8 +-
> linux-headers/asm-loongarch/unistd_64.h | 2 +
> linux-headers/asm-mips/unistd_n32.h | 2 +
> linux-headers/asm-mips/unistd_n64.h | 2 +
> linux-headers/asm-mips/unistd_o32.h | 2 +
> linux-headers/asm-powerpc/kvm.h | 13 -
> linux-headers/asm-powerpc/unistd_32.h | 2 +
> linux-headers/asm-powerpc/unistd_64.h | 2 +
> linux-headers/asm-riscv/kvm.h | 1 +
> linux-headers/asm-riscv/unistd_32.h | 2 +
> linux-headers/asm-riscv/unistd_64.h | 2 +
> linux-headers/asm-s390/unistd_32.h | 2 +
> linux-headers/asm-s390/unistd_64.h | 2 +
> linux-headers/asm-x86/unistd_32.h | 2 +
> linux-headers/asm-x86/unistd_64.h | 2 +
> linux-headers/asm-x86/unistd_x32.h | 2 +
> linux-headers/linux/iommufd.h | 154 ++-
> linux-headers/linux/kvm.h | 2 +
> linux-headers/linux/vfio.h | 12 +-
> linux-headers/linux/vhost.h | 35 +
> net/tap-linux.h | 9 +
> net/tap_int.h | 5 +-
> tests/qtest/libqos/virtio.h | 2 +
> hw/acpi/aml-build.c | 10 +
> hw/acpi/generic_event_device.c | 44 +
> hw/acpi/ghes-stub.c | 7 +-
> hw/acpi/ghes.c | 233 +++--
> hw/acpi/ghes_cper.c | 40 +
> hw/acpi/ghes_cper_stub.c | 20 +
> hw/arm/virt-acpi-build.c | 35 +-
> hw/arm/virt.c | 20 +-
> hw/block/virtio-blk.c | 6 +-
> hw/core/machine.c | 10 +-
> hw/i386/acpi-build.c | 6 +-
> hw/i386/amd_iommu.c | 1066
> +++++++++++++++++---
> hw/i386/intel_iommu.c | 384 ++++++-
> hw/i386/pc.c | 40 +-
> hw/i386/pc_piix.c | 1 +
> hw/i386/pc_q35.c | 1 +
> hw/i386/x86-iommu.c | 1 +
> hw/isa/lpc_ich9.c | 7 +-
> hw/net/e1000e_core.c | 5 +-
> hw/net/igb_core.c | 5 +-
> hw/net/igbvf.c | 6 +-
> hw/net/vhost_net-stub.c | 8 +-
> hw/net/vhost_net.c | 45 +-
> hw/net/virtio-net.c | 234 +++--
> hw/net/vmxnet3.c | 13 +-
> hw/nvme/ctrl.c | 8 +-
> hw/pci/pci.c | 21 +-
> hw/pci/pcie.c | 8 +
> hw/pci/pcie_sriov.c | 17 +-
> hw/scsi/virtio-scsi.c | 6 +-
> hw/smbios/smbios.c | 11 +-
> hw/virtio/vdpa-dev.c | 7 +
> hw/virtio/vhost-backend.c | 62 +-
> ...r-device-pci.c => vhost-user-test-device-pci.c} | 17 +-
> ...host-user-device.c => vhost-user-test-device.c} | 9 +-
> hw/virtio/vhost.c | 79 +-
> hw/virtio/virtio-balloon.c | 2 +-
> hw/virtio/virtio-bus.c | 11 +-
> hw/virtio/virtio-hmp-cmds.c | 3 +-
> hw/virtio/virtio-pci.c | 76 +-
> hw/virtio/virtio-qmp.c | 91 +-
> hw/virtio/virtio.c | 138 ++-
> net/net.c | 17 +-
> net/netmap.c | 3 +-
> net/tap-bsd.c | 8 +-
> net/tap-linux.c | 38 +-
> net/tap-solaris.c | 9 +-
> net/tap-stub.c | 8 +-
> net/tap.c | 21 +-
> system/memory.c | 10 +-
> target/arm/kvm.c | 7 +-
> tests/qtest/libqos/virtio.c | 16 +-
> tests/qtest/virtio-scsi-test.c | 32 +
> MAINTAINERS | 10 +
> docs/specs/acpi_hest_ghes.rst | 28 +-
> docs/system/devices/vhost-user.rst | 20 +-
> hw/acpi/Kconfig | 5 +
> hw/acpi/meson.build | 2 +
> hw/virtio/Kconfig | 5 +
> hw/virtio/meson.build | 5 +-
> hw/virtio/trace-events | 1 -
> linux-headers/LICENSES/preferred/GPL-2.0 | 10 +-
> qapi/meson.build | 1 +
> qemu-options.hx | 25 +-
> scripts/arm_processor_error.py | 476 +++++++++
> scripts/ghes_inject.py | 51 +
> scripts/qmp_helper.py | 703 +++++++++++++
> scripts/update-linux-headers.sh | 1 +
> tests/data/acpi/aarch64/virt/DSDT | Bin 5293 -> 5337 bytes
> tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt | Bin 5379 -> 5423 bytes
> tests/data/acpi/aarch64/virt/DSDT.acpipcihp | Bin 6202 -> 6246 bytes
> tests/data/acpi/aarch64/virt/DSDT.hpoffacpiindex | Bin 5347 -> 5391 bytes
> tests/data/acpi/aarch64/virt/DSDT.memhp | Bin 6654 -> 6698 bytes
> tests/data/acpi/aarch64/virt/DSDT.pxb | Bin 7768 -> 7812 bytes
> tests/data/acpi/aarch64/virt/DSDT.smmuv3-dev | Bin 10230 -> 10274
> bytes
> tests/data/acpi/aarch64/virt/DSDT.smmuv3-legacy | Bin 10230 -> 10274
> bytes
> tests/data/acpi/aarch64/virt/DSDT.topology | Bin 5495 -> 5539 bytes
> tests/data/acpi/aarch64/virt/DSDT.viot | Bin 5310 -> 5354 bytes
> tests/data/acpi/aarch64/virt/HEST | Bin 132 -> 224 bytes
> 137 files changed, 4476 insertions(+), 722 deletions(-)
> create mode 100644 qapi/acpi-hest.json
> create mode 100644 include/hw/virtio/virtio-features.h
> create mode 100644 hw/acpi/ghes_cper.c
> create mode 100644 hw/acpi/ghes_cper_stub.c
> rename hw/virtio/{vhost-user-device-pci.c => vhost-user-test-device-pci.c}
> (77%)
> rename hw/virtio/{vhost-user-device.c => vhost-user-test-device.c} (87%)
> create mode 100644 scripts/arm_processor_error.py
> create mode 100755 scripts/ghes_inject.py
> create mode 100755 scripts/qmp_helper.py
>