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) ---------------------------------------------------------------- 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
