mbox

[PULL,00/86] pci,pc,virtio: features, tests, fixes, cleanups

Message ID 20221031124928.128475-1-mst@redhat.com
State New
Headers show

Pull-request

https://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream

Message

Michael S. Tsirkin Oct. 31, 2022, 12:50 p.m. UTC
Holiday here tomorrow, so most likely this is it for features for this release.

The following changes since commit 75d30fde55485b965a1168a21d016dd07b50ed32:

  Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging (2022-10-30 15:07:25 -0400)

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 3e624c953b9c37f5aafdf92c16c721818ec8c648:

  intel-iommu: PASID support (2022-10-31 08:46:50 -0400)

----------------------------------------------------------------
pci,pc,virtio: features, tests, fixes, cleanups

lots of acpi rework
first version of biosbits infrastructure
ASID support in vhost-vdpa
core_count2 support in smbios
PCIe DOE emulation
virtio vq reset
HMAT support
part of infrastructure for viommu support in vhost-vdpa
VTD PASID support
fixes, tests all over the place

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

----------------------------------------------------------------
Akihiko Odaki (1):
      msix: Assert that specified vector is in range

Alex Bennée (1):
      virtio: re-order vm_running and use_started checks

Ani Sinha (7):
      hw/i386/e820: remove legacy reserved entries for e820
      acpi/tests/avocado/bits: initial commit of test scripts that are run by biosbits
      acpi/tests/avocado/bits: disable acpi PSS tests that are failing in biosbits
      acpi/tests/avocado/bits: add biosbits config file for running bios tests
      acpi/tests/avocado/bits: add acpi and smbios avocado tests that uses biosbits
      acpi/tests/avocado/bits/doc: add a doc file to describe the acpi bits test
      MAINTAINERS: add myself as the maintainer for acpi biosbits avocado tests

Bernhard Beschow (3):
      hw/i386/acpi-build: Remove unused struct
      hw/i386/acpi-build: Resolve redundant attribute
      hw/i386/acpi-build: Resolve north rather than south bridges

Brice Goglin (4):
      hmat acpi: Don't require initiator value in -numa
      tests: acpi: add and whitelist *.hmat-noinitiator expected blobs
      tests: acpi: q35: add test for hmat nodes without initiators
      tests: acpi: q35: update expected blobs *.hmat-noinitiators expected HMAT:

Christian A. Ehrhardt (1):
      hw/acpi/erst.c: Fix memory handling issues

Cindy Lu (1):
      vfio: move implement of vfio_get_xlat_addr() to memory.c

David Daney (1):
      virtio-rng-pci: Allow setting nvectors, so we can use MSI-X

Eric Auger (1):
      hw/virtio/virtio-iommu-pci: Enforce the device is plugged on the root bus

Gregory Price (1):
      hw/i386/pc.c: CXL Fixed Memory Window should not reserve e820 in bios

Hesham Almatary (3):
      tests: Add HMAT AArch64/virt empty table files
      tests: acpi: aarch64/virt: add a test for hmat nodes with no initiators
      tests: virt: Update expected *.acpihmatvirt tables

Huai-Cheng Kuo (3):
      hw/pci: PCIe Data Object Exchange emulation
      hw/cxl/cdat: CXL CDAT Data Object Exchange implementation
      hw/mem/cxl-type3: Add CXL CDAT Data Object Exchange

Igor Mammedov (11):
      acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors
      tests: acpi: whitelist DSDT before generating PCI-ISA bridge AML automatically
      acpi: pc/q35: drop ad-hoc PCI-ISA bridge AML routines and let bus ennumeration generate AML
      tests: acpi: update expected DSDT after ISA bridge is moved directly under PCI host bridge
      tests: acpi: whitelist DSDT before generating ICH9_SMB AML automatically
      acpi: add get_dev_aml_func() helper
      acpi: enumerate SMB bridge automatically along with other PCI devices
      tests: acpi: update expected blobs
      tests: acpi: pc/q35 whitelist DSDT before \_GPE cleanup
      acpi: pc/35: sanitize _GPE declaration order
      tests: acpi: update expected blobs

Jason Wang (4):
      intel-iommu: don't warn guest errors when getting rid2pasid entry
      intel-iommu: drop VTDBus
      intel-iommu: convert VTD_PE_GET_FPD_ERR() to be a function
      intel-iommu: PASID support

Jonathan Cameron (2):
      hw/mem/cxl-type3: Add MSIX support
      hw/pci-bridge/cxl-upstream: Add a CDAT table access DOE

Julia Suvorova (5):
      hw/smbios: add core_count2 to smbios table type 4
      bios-tables-test: teach test to use smbios 3.0 tables
      tests/acpi: allow changes for core_count2 test
      bios-tables-test: add test for number of cores > 255
      tests/acpi: update tables for new core count test

Kangjie Xu (10):
      virtio: introduce virtio_queue_enable()
      virtio: core: vq reset feature negotation support
      virtio-pci: support queue enable
      vhost: expose vhost_virtqueue_start()
      vhost: expose vhost_virtqueue_stop()
      vhost-net: vhost-kernel: introduce vhost_net_virtqueue_reset()
      vhost-net: vhost-kernel: introduce vhost_net_virtqueue_restart()
      virtio-net: introduce flush_or_purge_queued_packets()
      virtio-net: support queue_enable
      vhost: vhost-kernel: enable vq reset feature

Lei He (4):
      virtio-crypto: Support asynchronous mode
      crypto: Support DER encodings
      crypto: Support export akcipher to pkcs8
      cryptodev: Add a lkcf-backend for cryptodev

Lev Kujawski (2):
      qpci_device_enable: Allow for command bits hardwired to 0
      hw/ide/piix: Ignore writes of hardwired PCI command register bits

Markus Armbruster (1):
      MAINTAINERS: Add qapi/virtio.json to section "virtio"

Michael S. Tsirkin (1):
      bios-tables-test: do not ignore allowed diff list

Miguel Luis (4):
      tests/acpi: virt: allow acpi MADT and FADT changes
      acpi: fadt: support revision 6.0 of the ACPI specification
      acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A
      tests/acpi: virt: update ACPI MADT and FADT binaries

Robert Hoo (5):
      tests/acpi: allow SSDT changes
      acpi/ssdt: Fix aml_or() and aml_and() in if clause
      acpi/nvdimm: define macro for NVDIMM Device _DSM
      acpi/nvdimm: Implement ACPI NVDIMM Label Methods
      test/acpi/bios-tables-test: SSDT: update golden master binaries

Thomas Huth (1):
      tests/qtest/cxl-test: Remove temporary directories after testing

Xiang Chen (1):
      hw/arm/virt: Enable HMAT on arm virt machine

Xuan Zhuo (5):
      virtio: introduce __virtio_queue_reset()
      virtio: introduce virtio_queue_reset()
      virtio-pci: support queue reset
      virtio-net: support queue reset
      virtio-net: enable vq reset feature

Yajun Wu (3):
      vhost: Change the sequence of device start
      vhost-user: Support vhost_dev_start
      vhost-user: Fix out of order vring host notification handling

 tests/avocado/acpi-bits/bits-config/bits-cfg.txt |   18 +
 qapi/qom.json                                    |    2 +
 crypto/der.h                                     |  211 +-
 crypto/rsakey.h                                  |   11 +-
 hw/display/vga_int.h                             |    2 +
 hw/i386/e820_memory_layout.h                     |    8 -
 hw/i386/fw_cfg.h                                 |    1 -
 hw/i386/intel_iommu_internal.h                   |   16 +-
 hw/smbios/smbios_build.h                         |    9 +-
 include/crypto/akcipher.h                        |   21 +
 include/exec/memory.h                            |    4 +
 include/hw/acpi/acpi_aml_interface.h             |   13 +-
 include/hw/cxl/cxl_cdat.h                        |  166 ++
 include/hw/cxl/cxl_component.h                   |    7 +
 include/hw/cxl/cxl_device.h                      |    3 +
 include/hw/cxl/cxl_pci.h                         |    1 +
 include/hw/firmware/smbios.h                     |   12 +
 include/hw/i386/intel_iommu.h                    |   18 +-
 include/hw/ide/pci.h                             |    1 +
 include/hw/pci/msix.h                            |    4 +-
 include/hw/pci/pci_bus.h                         |    2 +
 include/hw/pci/pci_ids.h                         |    3 +
 include/hw/pci/pcie.h                            |    1 +
 include/hw/pci/pcie_doe.h                        |  123 ++
 include/hw/pci/pcie_regs.h                       |    4 +
 include/hw/virtio/vhost.h                        |    5 +
 include/hw/virtio/virtio-pci.h                   |    5 +
 include/hw/virtio/virtio.h                       |   16 +-
 include/net/vhost_net.h                          |    4 +
 include/sysemu/cryptodev.h                       |   61 +-
 tests/qtest/libqos/pci.h                         |    1 +
 backends/cryptodev-builtin.c                     |   69 +-
 backends/cryptodev-lkcf.c                        |  645 ++++++
 backends/cryptodev-vhost-user.c                  |   53 +-
 backends/cryptodev.c                             |   44 +-
 crypto/akcipher.c                                |   18 +
 crypto/der.c                                     |  313 ++-
 crypto/rsakey.c                                  |   42 +
 hw/acpi/aml-build.c                              |   13 +-
 hw/acpi/erst.c                                   |    6 +-
 hw/acpi/nvdimm.c                                 |  106 +-
 hw/arm/virt-acpi-build.c                         |   33 +-
 hw/block/vhost-user-blk.c                        |   18 +-
 hw/core/machine.c                                |   10 +-
 hw/cxl/cxl-cdat.c                                |  224 ++
 hw/display/acpi-vga-stub.c                       |    7 +
 hw/display/acpi-vga.c                            |   26 +
 hw/display/vga-pci.c                             |    4 +
 hw/i386/acpi-build.c                             |  203 +-
 hw/i386/e820_memory_layout.c                     |   20 +-
 hw/i386/fw_cfg.c                                 |    3 -
 hw/i386/intel_iommu.c                            |  692 +++---
 hw/i386/microvm.c                                |    2 -
 hw/i386/pc.c                                     |    2 -
 hw/ide/piix.c                                    |   24 +
 hw/isa/lpc_ich9.c                                |   23 +
 hw/isa/piix3.c                                   |   17 +-
 hw/mem/cxl_type3.c                               |  264 +++
 hw/net/e1000e.c                                  |   15 +-
 hw/net/rocker/rocker.c                           |   23 +-
 hw/net/vhost_net-stub.c                          |   12 +
 hw/net/vhost_net.c                               |   91 +-
 hw/net/virtio-net.c                              |   57 +-
 hw/net/vmxnet3.c                                 |   27 +-
 hw/nvme/ctrl.c                                   |    5 +-
 hw/pci-bridge/cxl_upstream.c                     |  195 +-
 hw/pci/msix.c                                    |   24 +-
 hw/pci/pcie_doe.c                                |  367 ++++
 hw/rdma/vmw/pvrdma_main.c                        |    7 +-
 hw/remote/vfio-user-obj.c                        |    9 +-
 hw/smbios/smbios.c                               |   19 +-
 hw/vfio/common.c                                 |   66 +-
 hw/virtio/vhost-user.c                           |   79 +-
 hw/virtio/vhost.c                                |   16 +-
 hw/virtio/virtio-crypto.c                        |  326 +--
 hw/virtio/virtio-iommu-pci.c                     |   12 +-
 hw/virtio/virtio-pci.c                           |   83 +-
 hw/virtio/virtio-rng-pci.c                       |   14 +
 hw/virtio/virtio.c                               |   62 +-
 softmmu/memory.c                                 |   72 +
 tests/qtest/bios-tables-test.c                   |  269 ++-
 tests/qtest/cxl-test.c                           |    3 +
 tests/qtest/ide-test.c                           |    1 +
 tests/qtest/libqos/pci.c                         |   13 +-
 tests/unit/test-crypto-der.c                     |  126 +-
 MAINTAINERS                                      |   15 +
 backends/meson.build                             |    3 +
 docs/devel/acpi-bits.rst                         |  145 ++
 docs/devel/index-build.rst                       |    1 +
 hw/arm/Kconfig                                   |    1 +
 hw/cxl/meson.build                               |    1 +
 hw/display/meson.build                           |   17 +
 hw/i386/trace-events                             |    2 +
 hw/pci/meson.build                               |    1 +
 tests/avocado/acpi-bits.py                       |  396 ++++
 tests/avocado/acpi-bits/bits-tests/smbios.py2    | 2430 ++++++++++++++++++++++
 tests/avocado/acpi-bits/bits-tests/testacpi.py2  |  283 +++
 tests/avocado/acpi-bits/bits-tests/testcpuid.py2 |   83 +
 tests/data/acpi/pc/DSDT                          |  Bin 6422 -> 6501 bytes
 tests/data/acpi/pc/DSDT.acpierst                 |  Bin 6382 -> 6461 bytes
 tests/data/acpi/pc/DSDT.acpihmat                 |  Bin 7747 -> 7826 bytes
 tests/data/acpi/pc/DSDT.bridge                   |  Bin 9496 -> 9575 bytes
 tests/data/acpi/pc/DSDT.cphp                     |  Bin 6886 -> 6965 bytes
 tests/data/acpi/pc/DSDT.dimmpxm                  |  Bin 8076 -> 8155 bytes
 tests/data/acpi/pc/DSDT.hpbridge                 |  Bin 6382 -> 6461 bytes
 tests/data/acpi/pc/DSDT.hpbrroot                 |  Bin 3069 -> 3107 bytes
 tests/data/acpi/pc/DSDT.ipmikcs                  |  Bin 6494 -> 6573 bytes
 tests/data/acpi/pc/DSDT.memhp                    |  Bin 7781 -> 7860 bytes
 tests/data/acpi/pc/DSDT.nohpet                   |  Bin 6280 -> 6359 bytes
 tests/data/acpi/pc/DSDT.numamem                  |  Bin 6428 -> 6507 bytes
 tests/data/acpi/pc/DSDT.roothp                   |  Bin 6656 -> 6699 bytes
 tests/data/acpi/pc/SSDT.dimmpxm                  |  Bin 734 -> 1815 bytes
 tests/data/acpi/q35/APIC.acpihmat-noinitiator    |  Bin 0 -> 144 bytes
 tests/data/acpi/q35/APIC.core-count2             |  Bin 0 -> 2478 bytes
 tests/data/acpi/q35/DSDT                         |  Bin 8320 -> 8412 bytes
 tests/data/acpi/q35/DSDT.acpierst                |  Bin 8337 -> 8429 bytes
 tests/data/acpi/q35/DSDT.acpihmat                |  Bin 9645 -> 9737 bytes
 tests/data/acpi/q35/DSDT.acpihmat-noinitiator    |  Bin 0 -> 8553 bytes
 tests/data/acpi/q35/DSDT.applesmc                |  Bin 8366 -> 8458 bytes
 tests/data/acpi/q35/DSDT.bridge                  |  Bin 11449 -> 11541 bytes
 tests/data/acpi/q35/DSDT.core-count2             |  Bin 0 -> 32414 bytes
 tests/data/acpi/q35/DSDT.cphp                    |  Bin 8784 -> 8876 bytes
 tests/data/acpi/q35/DSDT.cxl                     |  Bin 9646 -> 9738 bytes
 tests/data/acpi/q35/DSDT.dimmpxm                 |  Bin 9974 -> 10066 bytes
 tests/data/acpi/q35/DSDT.ipmibt                  |  Bin 8395 -> 8487 bytes
 tests/data/acpi/q35/DSDT.ipmismbus               |  Bin 8409 -> 8500 bytes
 tests/data/acpi/q35/DSDT.ivrs                    |  Bin 8337 -> 8429 bytes
 tests/data/acpi/q35/DSDT.memhp                   |  Bin 9679 -> 9771 bytes
 tests/data/acpi/q35/DSDT.mmio64                  |  Bin 9450 -> 9542 bytes
 tests/data/acpi/q35/DSDT.multi-bridge            |  Bin 8640 -> 8732 bytes
 tests/data/acpi/q35/DSDT.nohpet                  |  Bin 8178 -> 8270 bytes
 tests/data/acpi/q35/DSDT.numamem                 |  Bin 8326 -> 8418 bytes
 tests/data/acpi/q35/DSDT.pvpanic-isa             |  Bin 8421 -> 8513 bytes
 tests/data/acpi/q35/DSDT.tis.tpm12               |  Bin 8926 -> 9018 bytes
 tests/data/acpi/q35/DSDT.tis.tpm2                |  Bin 8952 -> 9044 bytes
 tests/data/acpi/q35/DSDT.viot                    |  Bin 9429 -> 9521 bytes
 tests/data/acpi/q35/DSDT.xapic                   |  Bin 35683 -> 35775 bytes
 tests/data/acpi/q35/FACP.core-count2             |  Bin 0 -> 244 bytes
 tests/data/acpi/q35/HMAT.acpihmat-noinitiator    |  Bin 0 -> 288 bytes
 tests/data/acpi/q35/SRAT.acpihmat-noinitiator    |  Bin 0 -> 312 bytes
 tests/data/acpi/q35/SSDT.dimmpxm                 |  Bin 734 -> 1815 bytes
 tests/data/acpi/virt/APIC                        |  Bin 168 -> 172 bytes
 tests/data/acpi/virt/APIC.acpihmatvirt           |  Bin 0 -> 396 bytes
 tests/data/acpi/virt/APIC.memhp                  |  Bin 168 -> 172 bytes
 tests/data/acpi/virt/APIC.numamem                |  Bin 168 -> 172 bytes
 tests/data/acpi/virt/DSDT.acpihmatvirt           |  Bin 0 -> 5282 bytes
 tests/data/acpi/virt/FACP                        |  Bin 268 -> 276 bytes
 tests/data/acpi/virt/FACP.memhp                  |  Bin 268 -> 276 bytes
 tests/data/acpi/virt/FACP.numamem                |  Bin 268 -> 276 bytes
 tests/data/acpi/virt/HMAT.acpihmatvirt           |  Bin 0 -> 288 bytes
 tests/data/acpi/virt/PPTT.acpihmatvirt           |  Bin 0 -> 196 bytes
 tests/data/acpi/virt/SRAT.acpihmatvirt           |  Bin 0 -> 240 bytes
 tests/data/acpi/virt/SSDT.memhp                  |  Bin 736 -> 1817 bytes
 153 files changed, 7991 insertions(+), 1014 deletions(-)
 create mode 100644 tests/avocado/acpi-bits/bits-config/bits-cfg.txt
 create mode 100644 include/hw/cxl/cxl_cdat.h
 create mode 100644 include/hw/pci/pcie_doe.h
 create mode 100644 backends/cryptodev-lkcf.c
 create mode 100644 hw/cxl/cxl-cdat.c
 create mode 100644 hw/display/acpi-vga-stub.c
 create mode 100644 hw/display/acpi-vga.c
 create mode 100644 hw/pci/pcie_doe.c
 create mode 100644 docs/devel/acpi-bits.rst
 create mode 100644 tests/avocado/acpi-bits.py
 create mode 100644 tests/avocado/acpi-bits/bits-tests/smbios.py2
 create mode 100644 tests/avocado/acpi-bits/bits-tests/testacpi.py2
 create mode 100644 tests/avocado/acpi-bits/bits-tests/testcpuid.py2
 create mode 100644 tests/data/acpi/q35/APIC.acpihmat-noinitiator
 create mode 100644 tests/data/acpi/q35/APIC.core-count2
 create mode 100644 tests/data/acpi/q35/DSDT.acpihmat-noinitiator
 create mode 100644 tests/data/acpi/q35/DSDT.core-count2
 create mode 100644 tests/data/acpi/q35/FACP.core-count2
 create mode 100644 tests/data/acpi/q35/HMAT.acpihmat-noinitiator
 create mode 100644 tests/data/acpi/q35/SRAT.acpihmat-noinitiator
 create mode 100644 tests/data/acpi/virt/APIC.acpihmatvirt
 create mode 100644 tests/data/acpi/virt/DSDT.acpihmatvirt
 create mode 100644 tests/data/acpi/virt/HMAT.acpihmatvirt
 create mode 100644 tests/data/acpi/virt/PPTT.acpihmatvirt
 create mode 100644 tests/data/acpi/virt/SRAT.acpihmatvirt

Comments

Michael S. Tsirkin Oct. 31, 2022, 3:03 p.m. UTC | #1
On Mon, Oct 31, 2022 at 08:50:43AM -0400, Michael S. Tsirkin wrote:
> 
> Holiday here tomorrow, so most likely this is it for features for this release.
> 
> The following changes since commit 75d30fde55485b965a1168a21d016dd07b50ed32:
> 
>   Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging (2022-10-30 15:07:25 -0400)
> 
> 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 3e624c953b9c37f5aafdf92c16c721818ec8c648:
> 
>   intel-iommu: PASID support (2022-10-31 08:46:50 -0400)

Correction it's 07ee04a2016da0bd1eae615678db26b86923d383

I included a bad commit at the very bottom of the stack.

> ----------------------------------------------------------------
> pci,pc,virtio: features, tests, fixes, cleanups
> 
> lots of acpi rework
> first version of biosbits infrastructure
> ASID support in vhost-vdpa
> core_count2 support in smbios
> PCIe DOE emulation
> virtio vq reset
> HMAT support
> part of infrastructure for viommu support in vhost-vdpa
> VTD PASID support
> fixes, tests all over the place
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> ----------------------------------------------------------------
> Akihiko Odaki (1):
>       msix: Assert that specified vector is in range
> 
> Alex Bennée (1):
>       virtio: re-order vm_running and use_started checks
> 
> Ani Sinha (7):
>       hw/i386/e820: remove legacy reserved entries for e820
>       acpi/tests/avocado/bits: initial commit of test scripts that are run by biosbits
>       acpi/tests/avocado/bits: disable acpi PSS tests that are failing in biosbits
>       acpi/tests/avocado/bits: add biosbits config file for running bios tests
>       acpi/tests/avocado/bits: add acpi and smbios avocado tests that uses biosbits
>       acpi/tests/avocado/bits/doc: add a doc file to describe the acpi bits test
>       MAINTAINERS: add myself as the maintainer for acpi biosbits avocado tests
> 
> Bernhard Beschow (3):
>       hw/i386/acpi-build: Remove unused struct
>       hw/i386/acpi-build: Resolve redundant attribute
>       hw/i386/acpi-build: Resolve north rather than south bridges
> 
> Brice Goglin (4):
>       hmat acpi: Don't require initiator value in -numa
>       tests: acpi: add and whitelist *.hmat-noinitiator expected blobs
>       tests: acpi: q35: add test for hmat nodes without initiators
>       tests: acpi: q35: update expected blobs *.hmat-noinitiators expected HMAT:
> 
> Christian A. Ehrhardt (1):
>       hw/acpi/erst.c: Fix memory handling issues
> 
> Cindy Lu (1):
>       vfio: move implement of vfio_get_xlat_addr() to memory.c
> 
> David Daney (1):
>       virtio-rng-pci: Allow setting nvectors, so we can use MSI-X
> 
> Eric Auger (1):
>       hw/virtio/virtio-iommu-pci: Enforce the device is plugged on the root bus
> 
> Gregory Price (1):
>       hw/i386/pc.c: CXL Fixed Memory Window should not reserve e820 in bios
> 
> Hesham Almatary (3):
>       tests: Add HMAT AArch64/virt empty table files
>       tests: acpi: aarch64/virt: add a test for hmat nodes with no initiators
>       tests: virt: Update expected *.acpihmatvirt tables
> 
> Huai-Cheng Kuo (3):
>       hw/pci: PCIe Data Object Exchange emulation
>       hw/cxl/cdat: CXL CDAT Data Object Exchange implementation
>       hw/mem/cxl-type3: Add CXL CDAT Data Object Exchange
> 
> Igor Mammedov (11):
>       acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors
>       tests: acpi: whitelist DSDT before generating PCI-ISA bridge AML automatically
>       acpi: pc/q35: drop ad-hoc PCI-ISA bridge AML routines and let bus ennumeration generate AML
>       tests: acpi: update expected DSDT after ISA bridge is moved directly under PCI host bridge
>       tests: acpi: whitelist DSDT before generating ICH9_SMB AML automatically
>       acpi: add get_dev_aml_func() helper
>       acpi: enumerate SMB bridge automatically along with other PCI devices
>       tests: acpi: update expected blobs
>       tests: acpi: pc/q35 whitelist DSDT before \_GPE cleanup
>       acpi: pc/35: sanitize _GPE declaration order
>       tests: acpi: update expected blobs
> 
> Jason Wang (4):
>       intel-iommu: don't warn guest errors when getting rid2pasid entry
>       intel-iommu: drop VTDBus
>       intel-iommu: convert VTD_PE_GET_FPD_ERR() to be a function
>       intel-iommu: PASID support
> 
> Jonathan Cameron (2):
>       hw/mem/cxl-type3: Add MSIX support
>       hw/pci-bridge/cxl-upstream: Add a CDAT table access DOE
> 
> Julia Suvorova (5):
>       hw/smbios: add core_count2 to smbios table type 4
>       bios-tables-test: teach test to use smbios 3.0 tables
>       tests/acpi: allow changes for core_count2 test
>       bios-tables-test: add test for number of cores > 255
>       tests/acpi: update tables for new core count test
> 
> Kangjie Xu (10):
>       virtio: introduce virtio_queue_enable()
>       virtio: core: vq reset feature negotation support
>       virtio-pci: support queue enable
>       vhost: expose vhost_virtqueue_start()
>       vhost: expose vhost_virtqueue_stop()
>       vhost-net: vhost-kernel: introduce vhost_net_virtqueue_reset()
>       vhost-net: vhost-kernel: introduce vhost_net_virtqueue_restart()
>       virtio-net: introduce flush_or_purge_queued_packets()
>       virtio-net: support queue_enable
>       vhost: vhost-kernel: enable vq reset feature
> 
> Lei He (4):
>       virtio-crypto: Support asynchronous mode
>       crypto: Support DER encodings
>       crypto: Support export akcipher to pkcs8
>       cryptodev: Add a lkcf-backend for cryptodev
> 
> Lev Kujawski (2):
>       qpci_device_enable: Allow for command bits hardwired to 0
>       hw/ide/piix: Ignore writes of hardwired PCI command register bits
> 
> Markus Armbruster (1):
>       MAINTAINERS: Add qapi/virtio.json to section "virtio"
> 
> Michael S. Tsirkin (1):
>       bios-tables-test: do not ignore allowed diff list
> 
> Miguel Luis (4):
>       tests/acpi: virt: allow acpi MADT and FADT changes
>       acpi: fadt: support revision 6.0 of the ACPI specification
>       acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A
>       tests/acpi: virt: update ACPI MADT and FADT binaries
> 
> Robert Hoo (5):
>       tests/acpi: allow SSDT changes
>       acpi/ssdt: Fix aml_or() and aml_and() in if clause
>       acpi/nvdimm: define macro for NVDIMM Device _DSM
>       acpi/nvdimm: Implement ACPI NVDIMM Label Methods
>       test/acpi/bios-tables-test: SSDT: update golden master binaries
> 
> Thomas Huth (1):
>       tests/qtest/cxl-test: Remove temporary directories after testing
> 
> Xiang Chen (1):
>       hw/arm/virt: Enable HMAT on arm virt machine
> 
> Xuan Zhuo (5):
>       virtio: introduce __virtio_queue_reset()
>       virtio: introduce virtio_queue_reset()
>       virtio-pci: support queue reset
>       virtio-net: support queue reset
>       virtio-net: enable vq reset feature
> 
> Yajun Wu (3):
>       vhost: Change the sequence of device start
>       vhost-user: Support vhost_dev_start
>       vhost-user: Fix out of order vring host notification handling
> 
>  tests/avocado/acpi-bits/bits-config/bits-cfg.txt |   18 +
>  qapi/qom.json                                    |    2 +
>  crypto/der.h                                     |  211 +-
>  crypto/rsakey.h                                  |   11 +-
>  hw/display/vga_int.h                             |    2 +
>  hw/i386/e820_memory_layout.h                     |    8 -
>  hw/i386/fw_cfg.h                                 |    1 -
>  hw/i386/intel_iommu_internal.h                   |   16 +-
>  hw/smbios/smbios_build.h                         |    9 +-
>  include/crypto/akcipher.h                        |   21 +
>  include/exec/memory.h                            |    4 +
>  include/hw/acpi/acpi_aml_interface.h             |   13 +-
>  include/hw/cxl/cxl_cdat.h                        |  166 ++
>  include/hw/cxl/cxl_component.h                   |    7 +
>  include/hw/cxl/cxl_device.h                      |    3 +
>  include/hw/cxl/cxl_pci.h                         |    1 +
>  include/hw/firmware/smbios.h                     |   12 +
>  include/hw/i386/intel_iommu.h                    |   18 +-
>  include/hw/ide/pci.h                             |    1 +
>  include/hw/pci/msix.h                            |    4 +-
>  include/hw/pci/pci_bus.h                         |    2 +
>  include/hw/pci/pci_ids.h                         |    3 +
>  include/hw/pci/pcie.h                            |    1 +
>  include/hw/pci/pcie_doe.h                        |  123 ++
>  include/hw/pci/pcie_regs.h                       |    4 +
>  include/hw/virtio/vhost.h                        |    5 +
>  include/hw/virtio/virtio-pci.h                   |    5 +
>  include/hw/virtio/virtio.h                       |   16 +-
>  include/net/vhost_net.h                          |    4 +
>  include/sysemu/cryptodev.h                       |   61 +-
>  tests/qtest/libqos/pci.h                         |    1 +
>  backends/cryptodev-builtin.c                     |   69 +-
>  backends/cryptodev-lkcf.c                        |  645 ++++++
>  backends/cryptodev-vhost-user.c                  |   53 +-
>  backends/cryptodev.c                             |   44 +-
>  crypto/akcipher.c                                |   18 +
>  crypto/der.c                                     |  313 ++-
>  crypto/rsakey.c                                  |   42 +
>  hw/acpi/aml-build.c                              |   13 +-
>  hw/acpi/erst.c                                   |    6 +-
>  hw/acpi/nvdimm.c                                 |  106 +-
>  hw/arm/virt-acpi-build.c                         |   33 +-
>  hw/block/vhost-user-blk.c                        |   18 +-
>  hw/core/machine.c                                |   10 +-
>  hw/cxl/cxl-cdat.c                                |  224 ++
>  hw/display/acpi-vga-stub.c                       |    7 +
>  hw/display/acpi-vga.c                            |   26 +
>  hw/display/vga-pci.c                             |    4 +
>  hw/i386/acpi-build.c                             |  203 +-
>  hw/i386/e820_memory_layout.c                     |   20 +-
>  hw/i386/fw_cfg.c                                 |    3 -
>  hw/i386/intel_iommu.c                            |  692 +++---
>  hw/i386/microvm.c                                |    2 -
>  hw/i386/pc.c                                     |    2 -
>  hw/ide/piix.c                                    |   24 +
>  hw/isa/lpc_ich9.c                                |   23 +
>  hw/isa/piix3.c                                   |   17 +-
>  hw/mem/cxl_type3.c                               |  264 +++
>  hw/net/e1000e.c                                  |   15 +-
>  hw/net/rocker/rocker.c                           |   23 +-
>  hw/net/vhost_net-stub.c                          |   12 +
>  hw/net/vhost_net.c                               |   91 +-
>  hw/net/virtio-net.c                              |   57 +-
>  hw/net/vmxnet3.c                                 |   27 +-
>  hw/nvme/ctrl.c                                   |    5 +-
>  hw/pci-bridge/cxl_upstream.c                     |  195 +-
>  hw/pci/msix.c                                    |   24 +-
>  hw/pci/pcie_doe.c                                |  367 ++++
>  hw/rdma/vmw/pvrdma_main.c                        |    7 +-
>  hw/remote/vfio-user-obj.c                        |    9 +-
>  hw/smbios/smbios.c                               |   19 +-
>  hw/vfio/common.c                                 |   66 +-
>  hw/virtio/vhost-user.c                           |   79 +-
>  hw/virtio/vhost.c                                |   16 +-
>  hw/virtio/virtio-crypto.c                        |  326 +--
>  hw/virtio/virtio-iommu-pci.c                     |   12 +-
>  hw/virtio/virtio-pci.c                           |   83 +-
>  hw/virtio/virtio-rng-pci.c                       |   14 +
>  hw/virtio/virtio.c                               |   62 +-
>  softmmu/memory.c                                 |   72 +
>  tests/qtest/bios-tables-test.c                   |  269 ++-
>  tests/qtest/cxl-test.c                           |    3 +
>  tests/qtest/ide-test.c                           |    1 +
>  tests/qtest/libqos/pci.c                         |   13 +-
>  tests/unit/test-crypto-der.c                     |  126 +-
>  MAINTAINERS                                      |   15 +
>  backends/meson.build                             |    3 +
>  docs/devel/acpi-bits.rst                         |  145 ++
>  docs/devel/index-build.rst                       |    1 +
>  hw/arm/Kconfig                                   |    1 +
>  hw/cxl/meson.build                               |    1 +
>  hw/display/meson.build                           |   17 +
>  hw/i386/trace-events                             |    2 +
>  hw/pci/meson.build                               |    1 +
>  tests/avocado/acpi-bits.py                       |  396 ++++
>  tests/avocado/acpi-bits/bits-tests/smbios.py2    | 2430 ++++++++++++++++++++++
>  tests/avocado/acpi-bits/bits-tests/testacpi.py2  |  283 +++
>  tests/avocado/acpi-bits/bits-tests/testcpuid.py2 |   83 +
>  tests/data/acpi/pc/DSDT                          |  Bin 6422 -> 6501 bytes
>  tests/data/acpi/pc/DSDT.acpierst                 |  Bin 6382 -> 6461 bytes
>  tests/data/acpi/pc/DSDT.acpihmat                 |  Bin 7747 -> 7826 bytes
>  tests/data/acpi/pc/DSDT.bridge                   |  Bin 9496 -> 9575 bytes
>  tests/data/acpi/pc/DSDT.cphp                     |  Bin 6886 -> 6965 bytes
>  tests/data/acpi/pc/DSDT.dimmpxm                  |  Bin 8076 -> 8155 bytes
>  tests/data/acpi/pc/DSDT.hpbridge                 |  Bin 6382 -> 6461 bytes
>  tests/data/acpi/pc/DSDT.hpbrroot                 |  Bin 3069 -> 3107 bytes
>  tests/data/acpi/pc/DSDT.ipmikcs                  |  Bin 6494 -> 6573 bytes
>  tests/data/acpi/pc/DSDT.memhp                    |  Bin 7781 -> 7860 bytes
>  tests/data/acpi/pc/DSDT.nohpet                   |  Bin 6280 -> 6359 bytes
>  tests/data/acpi/pc/DSDT.numamem                  |  Bin 6428 -> 6507 bytes
>  tests/data/acpi/pc/DSDT.roothp                   |  Bin 6656 -> 6699 bytes
>  tests/data/acpi/pc/SSDT.dimmpxm                  |  Bin 734 -> 1815 bytes
>  tests/data/acpi/q35/APIC.acpihmat-noinitiator    |  Bin 0 -> 144 bytes
>  tests/data/acpi/q35/APIC.core-count2             |  Bin 0 -> 2478 bytes
>  tests/data/acpi/q35/DSDT                         |  Bin 8320 -> 8412 bytes
>  tests/data/acpi/q35/DSDT.acpierst                |  Bin 8337 -> 8429 bytes
>  tests/data/acpi/q35/DSDT.acpihmat                |  Bin 9645 -> 9737 bytes
>  tests/data/acpi/q35/DSDT.acpihmat-noinitiator    |  Bin 0 -> 8553 bytes
>  tests/data/acpi/q35/DSDT.applesmc                |  Bin 8366 -> 8458 bytes
>  tests/data/acpi/q35/DSDT.bridge                  |  Bin 11449 -> 11541 bytes
>  tests/data/acpi/q35/DSDT.core-count2             |  Bin 0 -> 32414 bytes
>  tests/data/acpi/q35/DSDT.cphp                    |  Bin 8784 -> 8876 bytes
>  tests/data/acpi/q35/DSDT.cxl                     |  Bin 9646 -> 9738 bytes
>  tests/data/acpi/q35/DSDT.dimmpxm                 |  Bin 9974 -> 10066 bytes
>  tests/data/acpi/q35/DSDT.ipmibt                  |  Bin 8395 -> 8487 bytes
>  tests/data/acpi/q35/DSDT.ipmismbus               |  Bin 8409 -> 8500 bytes
>  tests/data/acpi/q35/DSDT.ivrs                    |  Bin 8337 -> 8429 bytes
>  tests/data/acpi/q35/DSDT.memhp                   |  Bin 9679 -> 9771 bytes
>  tests/data/acpi/q35/DSDT.mmio64                  |  Bin 9450 -> 9542 bytes
>  tests/data/acpi/q35/DSDT.multi-bridge            |  Bin 8640 -> 8732 bytes
>  tests/data/acpi/q35/DSDT.nohpet                  |  Bin 8178 -> 8270 bytes
>  tests/data/acpi/q35/DSDT.numamem                 |  Bin 8326 -> 8418 bytes
>  tests/data/acpi/q35/DSDT.pvpanic-isa             |  Bin 8421 -> 8513 bytes
>  tests/data/acpi/q35/DSDT.tis.tpm12               |  Bin 8926 -> 9018 bytes
>  tests/data/acpi/q35/DSDT.tis.tpm2                |  Bin 8952 -> 9044 bytes
>  tests/data/acpi/q35/DSDT.viot                    |  Bin 9429 -> 9521 bytes
>  tests/data/acpi/q35/DSDT.xapic                   |  Bin 35683 -> 35775 bytes
>  tests/data/acpi/q35/FACP.core-count2             |  Bin 0 -> 244 bytes
>  tests/data/acpi/q35/HMAT.acpihmat-noinitiator    |  Bin 0 -> 288 bytes
>  tests/data/acpi/q35/SRAT.acpihmat-noinitiator    |  Bin 0 -> 312 bytes
>  tests/data/acpi/q35/SSDT.dimmpxm                 |  Bin 734 -> 1815 bytes
>  tests/data/acpi/virt/APIC                        |  Bin 168 -> 172 bytes
>  tests/data/acpi/virt/APIC.acpihmatvirt           |  Bin 0 -> 396 bytes
>  tests/data/acpi/virt/APIC.memhp                  |  Bin 168 -> 172 bytes
>  tests/data/acpi/virt/APIC.numamem                |  Bin 168 -> 172 bytes
>  tests/data/acpi/virt/DSDT.acpihmatvirt           |  Bin 0 -> 5282 bytes
>  tests/data/acpi/virt/FACP                        |  Bin 268 -> 276 bytes
>  tests/data/acpi/virt/FACP.memhp                  |  Bin 268 -> 276 bytes
>  tests/data/acpi/virt/FACP.numamem                |  Bin 268 -> 276 bytes
>  tests/data/acpi/virt/HMAT.acpihmatvirt           |  Bin 0 -> 288 bytes
>  tests/data/acpi/virt/PPTT.acpihmatvirt           |  Bin 0 -> 196 bytes
>  tests/data/acpi/virt/SRAT.acpihmatvirt           |  Bin 0 -> 240 bytes
>  tests/data/acpi/virt/SSDT.memhp                  |  Bin 736 -> 1817 bytes
>  153 files changed, 7991 insertions(+), 1014 deletions(-)
>  create mode 100644 tests/avocado/acpi-bits/bits-config/bits-cfg.txt
>  create mode 100644 include/hw/cxl/cxl_cdat.h
>  create mode 100644 include/hw/pci/pcie_doe.h
>  create mode 100644 backends/cryptodev-lkcf.c
>  create mode 100644 hw/cxl/cxl-cdat.c
>  create mode 100644 hw/display/acpi-vga-stub.c
>  create mode 100644 hw/display/acpi-vga.c
>  create mode 100644 hw/pci/pcie_doe.c
>  create mode 100644 docs/devel/acpi-bits.rst
>  create mode 100644 tests/avocado/acpi-bits.py
>  create mode 100644 tests/avocado/acpi-bits/bits-tests/smbios.py2
>  create mode 100644 tests/avocado/acpi-bits/bits-tests/testacpi.py2
>  create mode 100644 tests/avocado/acpi-bits/bits-tests/testcpuid.py2
>  create mode 100644 tests/data/acpi/q35/APIC.acpihmat-noinitiator
>  create mode 100644 tests/data/acpi/q35/APIC.core-count2
>  create mode 100644 tests/data/acpi/q35/DSDT.acpihmat-noinitiator
>  create mode 100644 tests/data/acpi/q35/DSDT.core-count2
>  create mode 100644 tests/data/acpi/q35/FACP.core-count2
>  create mode 100644 tests/data/acpi/q35/HMAT.acpihmat-noinitiator
>  create mode 100644 tests/data/acpi/q35/SRAT.acpihmat-noinitiator
>  create mode 100644 tests/data/acpi/virt/APIC.acpihmatvirt
>  create mode 100644 tests/data/acpi/virt/DSDT.acpihmatvirt
>  create mode 100644 tests/data/acpi/virt/HMAT.acpihmatvirt
>  create mode 100644 tests/data/acpi/virt/PPTT.acpihmatvirt
>  create mode 100644 tests/data/acpi/virt/SRAT.acpihmatvirt
>
Stefan Hajnoczi Oct. 31, 2022, 7:14 p.m. UTC | #2
On Mon, 31 Oct 2022 at 08:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> Lei He (4):
>       virtio-crypto: Support asynchronous mode

The following clang warning breaks the build. Please resend a fixed
pull request, thanks!

clang -m64 -mcx16 -Ilibqemu-x86_64-softmmu.fa.p -I. -I.. -Itarget/i386
-I../target/i386 -Iqapi -Itrace -Iui -Iui/shader
-I/usr/include/pixman-1 -I/usr/include/capstone
-I/usr/include/spice-server -I/usr/include/spice-1
-I/usr/include/cacard -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4
-I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/PCSC -flto
-fcolor-diagnostics -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g
-isystem /builds/qemu-project/qemu/linux-headers -isystem
linux-headers -iquote . -iquote /builds/qemu-project/qemu -iquote
/builds/qemu-project/qemu/include -iquote
/builds/qemu-project/qemu/tcg/i386 -pthread -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
-Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
-fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition
-Wtype-limits -Wformat-security -Wformat-y2k -Winit-self
-Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels
-Wexpansion-to-defined -Wno-initializer-overrides
-Wno-missing-include-dirs -Wno-shift-negative-value
-Wno-string-plus-int -Wno-typedef-redefinition
-Wno-tautological-type-limit-compare -Wno-psabi
-Wno-gnu-variable-sized-type-not-at-end -fstack-protector-strong
-fsanitize=safe-stack -fsanitize=cfi-icall
-fsanitize-cfi-icall-generalize-pointers -fno-sanitize-trap=cfi-icall
-fPIE -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H
'-DCONFIG_TARGET="x86_64-softmmu-config-target.h"'
'-DCONFIG_DEVICES="x86_64-softmmu-config-devices.h"' -MD -MQ
libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -MF
libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o.d -o
libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -c
../hw/virtio/virtio-crypto.c
../hw/virtio/virtio-crypto.c:569:30: error: unused variable
'in_iov_copy' [-Werror,-Wunused-variable]
g_autofree struct iovec *in_iov_copy = req->in_iov;
^

https://gitlab.com/qemu-project/qemu/-/jobs/3253703167

Stefan
Stefan Hajnoczi Oct. 31, 2022, 7:19 p.m. UTC | #3
On Mon, 31 Oct 2022 at 15:14, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>
> On Mon, 31 Oct 2022 at 08:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> > Lei He (4):
> >       virtio-crypto: Support asynchronous mode
>
> The following clang warning breaks the build. Please resend a fixed
> pull request, thanks!

On second thought, I have fixed up the merge commit manually since
Michael is offline tomorrow for the soft freeze deadline. If CI passes
then I'll apply this pull request (with my fixup) and you won't need
to resend.

>
> clang -m64 -mcx16 -Ilibqemu-x86_64-softmmu.fa.p -I. -I.. -Itarget/i386
> -I../target/i386 -Iqapi -Itrace -Iui -Iui/shader
> -I/usr/include/pixman-1 -I/usr/include/capstone
> -I/usr/include/spice-server -I/usr/include/spice-1
> -I/usr/include/cacard -I/usr/include/glib-2.0
> -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4
> -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/PCSC -flto
> -fcolor-diagnostics -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g
> -isystem /builds/qemu-project/qemu/linux-headers -isystem
> linux-headers -iquote . -iquote /builds/qemu-project/qemu -iquote
> /builds/qemu-project/qemu/include -iquote
> /builds/qemu-project/qemu/tcg/i386 -pthread -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
> -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition
> -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self
> -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels
> -Wexpansion-to-defined -Wno-initializer-overrides
> -Wno-missing-include-dirs -Wno-shift-negative-value
> -Wno-string-plus-int -Wno-typedef-redefinition
> -Wno-tautological-type-limit-compare -Wno-psabi
> -Wno-gnu-variable-sized-type-not-at-end -fstack-protector-strong
> -fsanitize=safe-stack -fsanitize=cfi-icall
> -fsanitize-cfi-icall-generalize-pointers -fno-sanitize-trap=cfi-icall
> -fPIE -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H
> '-DCONFIG_TARGET="x86_64-softmmu-config-target.h"'
> '-DCONFIG_DEVICES="x86_64-softmmu-config-devices.h"' -MD -MQ
> libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -MF
> libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o.d -o
> libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -c
> ../hw/virtio/virtio-crypto.c
> ../hw/virtio/virtio-crypto.c:569:30: error: unused variable
> 'in_iov_copy' [-Werror,-Wunused-variable]
> g_autofree struct iovec *in_iov_copy = req->in_iov;
> ^
>
> https://gitlab.com/qemu-project/qemu/-/jobs/3253703167
>
> Stefan
Michael S. Tsirkin Oct. 31, 2022, 7:31 p.m. UTC | #4
On Mon, Oct 31, 2022 at 03:19:25PM -0400, Stefan Hajnoczi wrote:
> On Mon, 31 Oct 2022 at 15:14, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> >
> > On Mon, 31 Oct 2022 at 08:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> > > Lei He (4):
> > >       virtio-crypto: Support asynchronous mode
> >
> > The following clang warning breaks the build. Please resend a fixed
> > pull request, thanks!
> 
> On second thought, I have fixed up the merge commit manually since
> Michael is offline tomorrow for the soft freeze deadline. If CI passes
> then I'll apply this pull request (with my fixup) and you won't need
> to resend.

Hmm what's the fixup?
I came up with:

diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c
index 39c8f5914e..855b5d60a2 100644
--- a/hw/virtio/virtio-crypto.c
+++ b/hw/virtio/virtio-crypto.c
@@ -495,6 +495,7 @@ static void virtio_crypto_free_request(VirtIOCryptoReq *req)
         }
     }
 
+    g_free(req->in_iov);
     g_free(req);
 }
 
@@ -566,7 +567,6 @@ static void virtio_crypto_req_complete(void *opaque, int ret)
     VirtIOCrypto *vcrypto = req->vcrypto;
     VirtIODevice *vdev = VIRTIO_DEVICE(vcrypto);
     uint8_t status = -ret;
-    g_autofree struct iovec *in_iov_copy = req->in_iov;
 
     if (req->flags == CRYPTODEV_BACKEND_ALG_SYM) {
         virtio_crypto_sym_input_data_helper(vdev, req, status,



> >
> > clang -m64 -mcx16 -Ilibqemu-x86_64-softmmu.fa.p -I. -I.. -Itarget/i386
> > -I../target/i386 -Iqapi -Itrace -Iui -Iui/shader
> > -I/usr/include/pixman-1 -I/usr/include/capstone
> > -I/usr/include/spice-server -I/usr/include/spice-1
> > -I/usr/include/cacard -I/usr/include/glib-2.0
> > -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4
> > -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/PCSC -flto
> > -fcolor-diagnostics -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g
> > -isystem /builds/qemu-project/qemu/linux-headers -isystem
> > linux-headers -iquote . -iquote /builds/qemu-project/qemu -iquote
> > /builds/qemu-project/qemu/include -iquote
> > /builds/qemu-project/qemu/tcg/i386 -pthread -D_GNU_SOURCE
> > -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> > -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
> > -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition
> > -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self
> > -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels
> > -Wexpansion-to-defined -Wno-initializer-overrides
> > -Wno-missing-include-dirs -Wno-shift-negative-value
> > -Wno-string-plus-int -Wno-typedef-redefinition
> > -Wno-tautological-type-limit-compare -Wno-psabi
> > -Wno-gnu-variable-sized-type-not-at-end -fstack-protector-strong
> > -fsanitize=safe-stack -fsanitize=cfi-icall
> > -fsanitize-cfi-icall-generalize-pointers -fno-sanitize-trap=cfi-icall
> > -fPIE -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H
> > '-DCONFIG_TARGET="x86_64-softmmu-config-target.h"'
> > '-DCONFIG_DEVICES="x86_64-softmmu-config-devices.h"' -MD -MQ
> > libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -MF
> > libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o.d -o
> > libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -c
> > ../hw/virtio/virtio-crypto.c
> > ../hw/virtio/virtio-crypto.c:569:30: error: unused variable
> > 'in_iov_copy' [-Werror,-Wunused-variable]
> > g_autofree struct iovec *in_iov_copy = req->in_iov;
> > ^
> >
> > https://gitlab.com/qemu-project/qemu/-/jobs/3253703167
> >
> > Stefan
Michael S. Tsirkin Oct. 31, 2022, 7:35 p.m. UTC | #5
On Mon, Oct 31, 2022 at 03:31:54PM -0400, Michael S. Tsirkin wrote:
> On Mon, Oct 31, 2022 at 03:19:25PM -0400, Stefan Hajnoczi wrote:
> > On Mon, 31 Oct 2022 at 15:14, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> > >
> > > On Mon, 31 Oct 2022 at 08:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > Lei He (4):
> > > >       virtio-crypto: Support asynchronous mode
> > >
> > > The following clang warning breaks the build. Please resend a fixed
> > > pull request, thanks!
> > 
> > On second thought, I have fixed up the merge commit manually since
> > Michael is offline tomorrow for the soft freeze deadline. If CI passes
> > then I'll apply this pull request (with my fixup) and you won't need
> > to resend.
> 
> Hmm what's the fixup?
> I came up with:
> 
> diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c
> index 39c8f5914e..855b5d60a2 100644
> --- a/hw/virtio/virtio-crypto.c
> +++ b/hw/virtio/virtio-crypto.c
> @@ -495,6 +495,7 @@ static void virtio_crypto_free_request(VirtIOCryptoReq *req)
>          }
>      }
>  
> +    g_free(req->in_iov);
>      g_free(req);
>  }
>  
> @@ -566,7 +567,6 @@ static void virtio_crypto_req_complete(void *opaque, int ret)
>      VirtIOCrypto *vcrypto = req->vcrypto;
>      VirtIODevice *vdev = VIRTIO_DEVICE(vcrypto);
>      uint8_t status = -ret;
> -    g_autofree struct iovec *in_iov_copy = req->in_iov;
>  
>      if (req->flags == CRYPTODEV_BACKEND_ALG_SYM) {
>          virtio_crypto_sym_input_data_helper(vdev, req, status,
> 


Not that is not right either.

> 
> > >
> > > clang -m64 -mcx16 -Ilibqemu-x86_64-softmmu.fa.p -I. -I.. -Itarget/i386
> > > -I../target/i386 -Iqapi -Itrace -Iui -Iui/shader
> > > -I/usr/include/pixman-1 -I/usr/include/capstone
> > > -I/usr/include/spice-server -I/usr/include/spice-1
> > > -I/usr/include/cacard -I/usr/include/glib-2.0
> > > -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4
> > > -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/PCSC -flto
> > > -fcolor-diagnostics -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g
> > > -isystem /builds/qemu-project/qemu/linux-headers -isystem
> > > linux-headers -iquote . -iquote /builds/qemu-project/qemu -iquote
> > > /builds/qemu-project/qemu/include -iquote
> > > /builds/qemu-project/qemu/tcg/i386 -pthread -D_GNU_SOURCE
> > > -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> > > -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
> > > -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition
> > > -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self
> > > -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels
> > > -Wexpansion-to-defined -Wno-initializer-overrides
> > > -Wno-missing-include-dirs -Wno-shift-negative-value
> > > -Wno-string-plus-int -Wno-typedef-redefinition
> > > -Wno-tautological-type-limit-compare -Wno-psabi
> > > -Wno-gnu-variable-sized-type-not-at-end -fstack-protector-strong
> > > -fsanitize=safe-stack -fsanitize=cfi-icall
> > > -fsanitize-cfi-icall-generalize-pointers -fno-sanitize-trap=cfi-icall
> > > -fPIE -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H
> > > '-DCONFIG_TARGET="x86_64-softmmu-config-target.h"'
> > > '-DCONFIG_DEVICES="x86_64-softmmu-config-devices.h"' -MD -MQ
> > > libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -MF
> > > libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o.d -o
> > > libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -c
> > > ../hw/virtio/virtio-crypto.c
> > > ../hw/virtio/virtio-crypto.c:569:30: error: unused variable
> > > 'in_iov_copy' [-Werror,-Wunused-variable]
> > > g_autofree struct iovec *in_iov_copy = req->in_iov;
> > > ^
> > >
> > > https://gitlab.com/qemu-project/qemu/-/jobs/3253703167
> > >
> > > Stefan
Michael S. Tsirkin Oct. 31, 2022, 7:41 p.m. UTC | #6
On Mon, Oct 31, 2022 at 03:35:28PM -0400, Michael S. Tsirkin wrote:
> On Mon, Oct 31, 2022 at 03:31:54PM -0400, Michael S. Tsirkin wrote:
> > On Mon, Oct 31, 2022 at 03:19:25PM -0400, Stefan Hajnoczi wrote:
> > > On Mon, 31 Oct 2022 at 15:14, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> > > >
> > > > On Mon, 31 Oct 2022 at 08:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > > Lei He (4):
> > > > >       virtio-crypto: Support asynchronous mode
> > > >
> > > > The following clang warning breaks the build. Please resend a fixed
> > > > pull request, thanks!
> > > 
> > > On second thought, I have fixed up the merge commit manually since
> > > Michael is offline tomorrow for the soft freeze deadline. If CI passes
> > > then I'll apply this pull request (with my fixup) and you won't need
> > > to resend.
> > 
> > Hmm what's the fixup?
> > I came up with:
> > 
> > diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c
> > index 39c8f5914e..855b5d60a2 100644
> > --- a/hw/virtio/virtio-crypto.c
> > +++ b/hw/virtio/virtio-crypto.c
> > @@ -495,6 +495,7 @@ static void virtio_crypto_free_request(VirtIOCryptoReq *req)
> >          }
> >      }
> >  
> > +    g_free(req->in_iov);
> >      g_free(req);
> >  }
> >  
> > @@ -566,7 +567,6 @@ static void virtio_crypto_req_complete(void *opaque, int ret)
> >      VirtIOCrypto *vcrypto = req->vcrypto;
> >      VirtIODevice *vdev = VIRTIO_DEVICE(vcrypto);
> >      uint8_t status = -ret;
> > -    g_autofree struct iovec *in_iov_copy = req->in_iov;
> >  
> >      if (req->flags == CRYPTODEV_BACKEND_ALG_SYM) {
> >          virtio_crypto_sym_input_data_helper(vdev, req, status,
> > 
> 
> 
> Not that is not right either.


Or maybe yes ... still wanted to see what you came up with.
Pretty tired here.

> > 
> > > >
> > > > clang -m64 -mcx16 -Ilibqemu-x86_64-softmmu.fa.p -I. -I.. -Itarget/i386
> > > > -I../target/i386 -Iqapi -Itrace -Iui -Iui/shader
> > > > -I/usr/include/pixman-1 -I/usr/include/capstone
> > > > -I/usr/include/spice-server -I/usr/include/spice-1
> > > > -I/usr/include/cacard -I/usr/include/glib-2.0
> > > > -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4
> > > > -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/PCSC -flto
> > > > -fcolor-diagnostics -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g
> > > > -isystem /builds/qemu-project/qemu/linux-headers -isystem
> > > > linux-headers -iquote . -iquote /builds/qemu-project/qemu -iquote
> > > > /builds/qemu-project/qemu/include -iquote
> > > > /builds/qemu-project/qemu/tcg/i386 -pthread -D_GNU_SOURCE
> > > > -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> > > > -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
> > > > -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition
> > > > -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self
> > > > -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels
> > > > -Wexpansion-to-defined -Wno-initializer-overrides
> > > > -Wno-missing-include-dirs -Wno-shift-negative-value
> > > > -Wno-string-plus-int -Wno-typedef-redefinition
> > > > -Wno-tautological-type-limit-compare -Wno-psabi
> > > > -Wno-gnu-variable-sized-type-not-at-end -fstack-protector-strong
> > > > -fsanitize=safe-stack -fsanitize=cfi-icall
> > > > -fsanitize-cfi-icall-generalize-pointers -fno-sanitize-trap=cfi-icall
> > > > -fPIE -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H
> > > > '-DCONFIG_TARGET="x86_64-softmmu-config-target.h"'
> > > > '-DCONFIG_DEVICES="x86_64-softmmu-config-devices.h"' -MD -MQ
> > > > libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -MF
> > > > libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o.d -o
> > > > libqemu-x86_64-softmmu.fa.p/hw_virtio_virtio-crypto.c.o -c
> > > > ../hw/virtio/virtio-crypto.c
> > > > ../hw/virtio/virtio-crypto.c:569:30: error: unused variable
> > > > 'in_iov_copy' [-Werror,-Wunused-variable]
> > > > g_autofree struct iovec *in_iov_copy = req->in_iov;
> > > > ^
> > > >
> > > > https://gitlab.com/qemu-project/qemu/-/jobs/3253703167
> > > >
> > > > Stefan
Stefan Hajnoczi Oct. 31, 2022, 7:56 p.m. UTC | #7
Hi Michael,
The fuzzer is not happy with qpci_device_enable():
https://gitlab.com/qemu-project/qemu/-/jobs/3253817499

Stefan
Stefan Hajnoczi Oct. 31, 2022, 7:57 p.m. UTC | #8
Hi Michael,
I removed the local variable in virtio_crypto_req_complete() since it's unused:

 -    g_autofree struct iovec *in_iov_copy = req->in_iov;

Stefan
Stefan Hajnoczi Oct. 31, 2022, 8:06 p.m. UTC | #9
Here is another CI failure:

qemu-system-i386: current -smp configuration requires kernel irqchip
and X2APIC API support.
Broken pipe
../tests/qtest/libqtest.c:179: kill_qemu() tried to terminate QEMU
process but encountered exit status 1 (expected 0)
TAP parsing error: Too few tests run (expected 49, got 22)
(test program exited with status code -6)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
6/202 qemu:qtest+qtest-i386 / qtest-i386/test-hmp OK 7.46s 9 subtests passed
▶ 7/202 ERROR:../tests/qtest/bios-tables-test.c:533:test_acpi_asl:
assertion failed: (all_tables_match) ERROR
7/202 qemu:qtest+qtest-aarch64 / qtest-aarch64/bios-tables-test ERROR
108.34s killed by signal 6 SIGABRT
>>> G_TEST_DBUS_DAEMON=/builds/qemu-project/qemu/tests/dbus-vmstate-daemon.sh QTEST_QEMU_BINARY=./qemu-system-aarch64 MALLOC_PERTURB_=89 /builds/qemu-project/qemu/build/tests/qtest/bios-tables-test --tap -k
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
stderr:
acpi-test: Warning! APIC binary file mismatch. Actual
[aml:/tmp/aml-UKB6U1], Expected
[aml:tests/data/acpi/virt/APIC.acpihmatvirt].
See source file tests/qtest/bios-tables-test.c for instructions on how
to update expected files.
to see ASL diff between mismatched files install IASL, rebuild QEMU
from scratch and re-run tests with V=1 environment variable set**
ERROR:../tests/qtest/bios-tables-test.c:533:test_acpi_asl: assertion
failed: (all_tables_match)
(test program exited with status code -6)

https://gitlab.com/qemu-project/qemu/-/jobs/3253817453
Stefan Hajnoczi Oct. 31, 2022, 8:12 p.m. UTC | #10
Another CI failure:
https://gitlab.com/qemu-project/qemu/-/jobs/3253817492

Stefan
Michael S. Tsirkin Oct. 31, 2022, 8:36 p.m. UTC | #11
On Mon, Oct 31, 2022 at 04:12:24PM -0400, Stefan Hajnoczi wrote:
> Another CI failure:
> https://gitlab.com/qemu-project/qemu/-/jobs/3253817492
> 
> Stefan

Thanks!
Freeze rules only require pull request on list so I think it's ok if I
handle the failout and resubmit day after tomorrow, right?
Stefan Hajnoczi Oct. 31, 2022, 8:40 p.m. UTC | #12
On Mon, 31 Oct 2022 at 16:37, Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Mon, Oct 31, 2022 at 04:12:24PM -0400, Stefan Hajnoczi wrote:
> > Another CI failure:
> > https://gitlab.com/qemu-project/qemu/-/jobs/3253817492
> >
> > Stefan
>
> Thanks!
> Freeze rules only require pull request on list so I think it's ok if I
> handle the failout and resubmit day after tomorrow, right?

Yes, exactly. That's fine!
https://wiki.qemu.org/Planning/SoftFeatureFreeze

Happy Election Day :)

Stefan
Michael S. Tsirkin Nov. 1, 2022, 10:32 a.m. UTC | #13
On Mon, Oct 31, 2022 at 04:06:03PM -0400, Stefan Hajnoczi wrote:
> Here is another CI failure:
> 
> qemu-system-i386: current -smp configuration requires kernel irqchip
> and X2APIC API support.
> Broken pipe
> ../tests/qtest/libqtest.c:179: kill_qemu() tried to terminate QEMU
> process but encountered exit status 1 (expected 0)
> TAP parsing error: Too few tests run (expected 49, got 22)
> (test program exited with status code -6)
> ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
> 6/202 qemu:qtest+qtest-i386 / qtest-i386/test-hmp OK 7.46s 9 subtests passed
> ▶ 7/202 ERROR:../tests/qtest/bios-tables-test.c:533:test_acpi_asl:
> assertion failed: (all_tables_match) ERROR
> 7/202 qemu:qtest+qtest-aarch64 / qtest-aarch64/bios-tables-test ERROR
> 108.34s killed by signal 6 SIGABRT
> >>> G_TEST_DBUS_DAEMON=/builds/qemu-project/qemu/tests/dbus-vmstate-daemon.sh QTEST_QEMU_BINARY=./qemu-system-aarch64 MALLOC_PERTURB_=89 /builds/qemu-project/qemu/build/tests/qtest/bios-tables-test --tap -k
> ――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
> stderr:
> acpi-test: Warning! APIC binary file mismatch. Actual
> [aml:/tmp/aml-UKB6U1], Expected
> [aml:tests/data/acpi/virt/APIC.acpihmatvirt].
> See source file tests/qtest/bios-tables-test.c for instructions on how
> to update expected files.
> to see ASL diff between mismatched files install IASL, rebuild QEMU
> from scratch and re-run tests with V=1 environment variable set**
> ERROR:../tests/qtest/bios-tables-test.c:533:test_acpi_asl: assertion
> failed: (all_tables_match)
> (test program exited with status code -6)
> 
> https://gitlab.com/qemu-project/qemu/-/jobs/3253817453


Hesham Jonathan pls take a look, if you post a fixup today
or early tomorrow I can squash it
and then this patchset can still be included in the release.

Thanks!
Igor Mammedov Nov. 1, 2022, 1:25 p.m. UTC | #14
On Mon, 31 Oct 2022 08:50:41 -0400
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> 
> Holiday here tomorrow, so most likely this is it for features for this release.
> 
> The following changes since commit 75d30fde55485b965a1168a21d016dd07b50ed32:
> 
>   Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging (2022-10-30 15:07:25 -0400)
> 
> 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 3e624c953b9c37f5aafdf92c16c721818ec8c648:
> 
>   intel-iommu: PASID support (2022-10-31 08:46:50 -0400)
> 
> ----------------------------------------------------------------
> pci,pc,virtio: features, tests, fixes, cleanups
> 
> lots of acpi rework

expected DSDT tables updates should be updated to include

> first version of biosbits infrastructure
> ASID support in vhost-vdpa
> core_count2 support in smbios

tables added by this test which was merged before above refactoring
to avoid failure (it was masked by 1/86)

or simpler, swap order they are being merged and then just regenerate
tables for this test case only.

> PCIe DOE emulation
> virtio vq reset
> HMAT support
> part of infrastructure for viommu support in vhost-vdpa
> VTD PASID support
> fixes, tests all over the place
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>