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

Michael S. Tsirkin posted 81 patches 1 year, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221105171116.432921-1-mst@redhat.com
Maintainers: "Gonglei (Arei)" <arei.gonglei@huawei.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Ani Sinha <ani@anisinha.ca>, "Michael S. Tsirkin" <mst@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Shannon Zhao <shannon.zhaosl@gmail.com>, Raphael Norwitz <raphael.norwitz@nutanix.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Yanan Wang <wangyanan55@huawei.com>, Ben Widawsky <ben.widawsky@intel.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Gerd Hoffmann <kraxel@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Peter Xu <peterx@redhat.com>, Jason Wang <jasowang@redhat.com>, Sergio Lopez <slp@redhat.com>, Dmitry Fleytman <dmitry.fleytman@gmail.com>, Jiri Pirko <jiri@resnulli.us>, Keith Busch <kbusch@kernel.org>, Klaus Jensen <its@irrelevant.dk>, Huai-Cheng Kuo <hchkuo@avery-design.com.tw>, Chris Browy <cbrowy@avery-design.com>, Yuval Shaia <yuval.shaia.ml@gmail.com>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, Jagannathan Raman <jag.raman@oracle.com>, John G Johnson <john.g.johnson@oracle.com>, Alex Williamson <alex.williamson@redhat.com>, Eric Auger <eric.auger@redhat.com>, David Hildenbrand <david@redhat.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>, Cleber Rosa <crosa@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>
There is a newer version of this series
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/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                       |    8 +-
include/net/vhost_net.h                          |    4 +
include/sysemu/cryptodev.h                       |   61 +-
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                                |    8 +-
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/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                               |   90 +-
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                        |  339 +--
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                   |  267 ++-
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 -> 8691 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 -> 32460 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 -> 412 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
147 files changed, 7955 insertions(+), 1007 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
[PULL v3 00/81] pci,pc,virtio: features, tests, fixes, cleanups
Posted by Michael S. Tsirkin 1 year, 4 months ago
Changes from v2:
    Fixed a bug in error handling in vhost: Change the sequence of device start.
        Contributor placed on watchlist ;)
    Dropped virtio: re-order vm_running and use_started checks
        Due to failures detected by gitlab.
        We'll have to fix it differently.
    Updated expected files for core-count test to fix bisect.

Changes from v1
    Applied and squashed fixes by Igor, Lei He, Hesham Almatary for
    bugs that tripped up the pipeline.
    Updated expected files for core-count test.


The following changes since commit a11f65ec1b8adcb012b89c92819cbda4dc25aaf1:

  Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging (2022-11-01 13:49:33 -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 228935616cad6225550f4a6b614f7c4f083db509:

  vhost-user: Support vhost_dev_start (2022-11-05 09:33:43 -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

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

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

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

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-user: Fix out of order vring host notification handling
      vhost: Change the sequence of device start
      vhost-user: Support vhost_dev_start

 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/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                       |    8 +-
 include/net/vhost_net.h                          |    4 +
 include/sysemu/cryptodev.h                       |   61 +-
 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                                |    8 +-
 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/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                               |   90 +-
 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                        |  339 +--
 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                   |  267 ++-
 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 -> 8691 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 -> 32460 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 -> 412 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
 147 files changed, 7955 insertions(+), 1007 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
Re: [PULL v3 00/81] pci,pc,virtio: features, tests, fixes, cleanups
Posted by Stefan Hajnoczi 1 year, 4 months ago
Hi Michael and Igor,
Looks like the ACPI commits broken the virtio-vga module:

>>> QTEST_QEMU_IMG=./qemu-img MALLOC_PERTURB_=60 G_TEST_DBUS_DAEMON=/builds/qemu-project/qemu/tests/dbus-vmstate-daemon.sh QTEST_QEMU_BINARY=./qemu-system-or1k QTEST_QEMU_STORAGE_DAEMON_BINARY=./storage-daemon/qemu-storage-daemon /builds/qemu-project/qemu/build/tests/qtest/device-introspect-test --tap -k
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
stderr:
failed to open module:
/builds/qemu-project/qemu/build/qemu-bundle/usr/local/lib64/qemu/hw-display-virtio-vga.so:
undefined symbol: aml_return
qemu-system-or1k: ../util/error.c:59: error_setv: Assertion `*errp ==
NULL' failed.
Broken pipe
../tests/qtest/libqtest.c:188: kill_qemu() detected QEMU death from
signal 6 (Aborted) (core dumped)
TAP parsing error: Too few tests run (expected 6, got 0)
(test program exited with status code -6)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
154/274 qemu:qtest+qtest-or1k / qtest-or1k/machine-none-test OK 0.05s
1 subtests passed
155/274 qemu:qtest+qtest-or1k / qtest-or1k/qmp-test OK 0.19s 4 subtests passed
156/274 qemu:qtest+qtest-or1k / qtest-or1k/qmp-cmd-test ERROR 1.72s
killed by signal 6 SIGABRT
>>> QTEST_QEMU_IMG=./qemu-img G_TEST_DBUS_DAEMON=/builds/qemu-project/qemu/tests/dbus-vmstate-daemon.sh QTEST_QEMU_BINARY=./qemu-system-or1k QTEST_QEMU_STORAGE_DAEMON_BINARY=./storage-daemon/qemu-storage-daemon MALLOC_PERTURB_=53 /builds/qemu-project/qemu/build/tests/qtest/qmp-cmd-test --tap -k
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
stderr:
failed to open module:
/builds/qemu-project/qemu/build/qemu-bundle/usr/local/lib64/qemu/hw-display-virtio-vga.so:
undefined symbol: aml_return
qemu-system-or1k: ../util/error.c:59: error_setv: Assertion `*errp ==
NULL' failed.
Broken pipe
../tests/qtest/libqtest.c:188: kill_qemu() detected QEMU death from
signal 6 (Aborted) (core dumped)
TAP parsing error: Too few tests run (expected 62, got 31)
(test program exited with status code -6)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

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

Stefan
Re: [PULL v3 00/81] pci,pc,virtio: features, tests, fixes, cleanups
Posted by Michael S. Tsirkin 1 year, 4 months ago
On Mon, Nov 07, 2022 at 05:43:44AM -0500, Stefan Hajnoczi wrote:
> Hi Michael and Igor,
> Looks like the ACPI commits broken the virtio-vga module:
> 
> >>> QTEST_QEMU_IMG=./qemu-img MALLOC_PERTURB_=60 G_TEST_DBUS_DAEMON=/builds/qemu-project/qemu/tests/dbus-vmstate-daemon.sh QTEST_QEMU_BINARY=./qemu-system-or1k QTEST_QEMU_STORAGE_DAEMON_BINARY=./storage-daemon/qemu-storage-daemon /builds/qemu-project/qemu/build/tests/qtest/device-introspect-test --tap -k
> ――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
> stderr:
> failed to open module:
> /builds/qemu-project/qemu/build/qemu-bundle/usr/local/lib64/qemu/hw-display-virtio-vga.so:
> undefined symbol: aml_return
> qemu-system-or1k: ../util/error.c:59: error_setv: Assertion `*errp ==
> NULL' failed.
> Broken pipe
> ../tests/qtest/libqtest.c:188: kill_qemu() detected QEMU death from
> signal 6 (Aborted) (core dumped)
> TAP parsing error: Too few tests run (expected 6, got 0)
> (test program exited with status code -6)
> ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
> 154/274 qemu:qtest+qtest-or1k / qtest-or1k/machine-none-test OK 0.05s
> 1 subtests passed
> 155/274 qemu:qtest+qtest-or1k / qtest-or1k/qmp-test OK 0.19s 4 subtests passed
> 156/274 qemu:qtest+qtest-or1k / qtest-or1k/qmp-cmd-test ERROR 1.72s
> killed by signal 6 SIGABRT
> >>> QTEST_QEMU_IMG=./qemu-img G_TEST_DBUS_DAEMON=/builds/qemu-project/qemu/tests/dbus-vmstate-daemon.sh QTEST_QEMU_BINARY=./qemu-system-or1k QTEST_QEMU_STORAGE_DAEMON_BINARY=./storage-daemon/qemu-storage-daemon MALLOC_PERTURB_=53 /builds/qemu-project/qemu/build/tests/qtest/qmp-cmd-test --tap -k
> ――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
> stderr:
> failed to open module:
> /builds/qemu-project/qemu/build/qemu-bundle/usr/local/lib64/qemu/hw-display-virtio-vga.so:
> undefined symbol: aml_return
> qemu-system-or1k: ../util/error.c:59: error_setv: Assertion `*errp ==
> NULL' failed.
> Broken pipe
> ../tests/qtest/libqtest.c:188: kill_qemu() detected QEMU death from
> signal 6 (Aborted) (core dumped)
> TAP parsing error: Too few tests run (expected 62, got 31)
> (test program exited with status code -6)
> ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
> 
> https://gitlab.com/qemu-project/qemu/-/jobs/3281425457
> 
> Stefan


Hmm it passed for me:

https://gitlab.com/mstredhat/qemu/-/jobs/3279401710

Igor you did make a change around VGA:

commit 03d525c27ab0b268cf375d8823f05e91509222b8
Author: Igor Mammedov <imammedo@redhat.com>
Date:   Mon Oct 17 12:21:36 2022 +0200

    acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors
    
    Signed-off-by: Igor Mammedov <imammedo@redhat.com>
    Message-Id: <20221017102146.2254096-2-imammedo@redhat.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    NB: we do not expect any functional change in
    any ACPI tables with this change. It's only a refactoring.
    
    Reviewed-by: Ani Sinha <ani@anisinha.ca>


can you take a look pls?
How bad is it if I drop that patch?


-- 
MST
How is ths different


Re: [PULL v3 00/81] pci,pc,virtio: features, tests, fixes, cleanups
Posted by Igor Mammedov 1 year, 4 months ago
On Mon, 7 Nov 2022 07:30:03 -0500
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> On Mon, Nov 07, 2022 at 05:43:44AM -0500, Stefan Hajnoczi wrote:
> > Hi Michael and Igor,
> > Looks like the ACPI commits broken the virtio-vga module:
> >   
> > >>> QTEST_QEMU_IMG=./qemu-img MALLOC_PERTURB_=60 G_TEST_DBUS_DAEMON=/builds/qemu-project/qemu/tests/dbus-vmstate-daemon.sh QTEST_QEMU_BINARY=./qemu-system-or1k QTEST_QEMU_STORAGE_DAEMON_BINARY=./storage-daemon/qemu-storage-daemon /builds/qemu-project/qemu/build/tests/qtest/device-introspect-test --tap -k  
> > ――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
> > stderr:
> > failed to open module:
> > /builds/qemu-project/qemu/build/qemu-bundle/usr/local/lib64/qemu/hw-display-virtio-vga.so:
> > undefined symbol: aml_return
> > qemu-system-or1k: ../util/error.c:59: error_setv: Assertion `*errp ==
> > NULL' failed.
> > Broken pipe
> > ../tests/qtest/libqtest.c:188: kill_qemu() detected QEMU death from
> > signal 6 (Aborted) (core dumped)
> > TAP parsing error: Too few tests run (expected 6, got 0)
> > (test program exited with status code -6)
> > ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
> > 154/274 qemu:qtest+qtest-or1k / qtest-or1k/machine-none-test OK 0.05s
> > 1 subtests passed
> > 155/274 qemu:qtest+qtest-or1k / qtest-or1k/qmp-test OK 0.19s 4 subtests passed
> > 156/274 qemu:qtest+qtest-or1k / qtest-or1k/qmp-cmd-test ERROR 1.72s
> > killed by signal 6 SIGABRT  
> > >>> QTEST_QEMU_IMG=./qemu-img G_TEST_DBUS_DAEMON=/builds/qemu-project/qemu/tests/dbus-vmstate-daemon.sh QTEST_QEMU_BINARY=./qemu-system-or1k QTEST_QEMU_STORAGE_DAEMON_BINARY=./storage-daemon/qemu-storage-daemon MALLOC_PERTURB_=53 /builds/qemu-project/qemu/build/tests/qtest/qmp-cmd-test --tap -k  
> > ――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
> > stderr:
> > failed to open module:
> > /builds/qemu-project/qemu/build/qemu-bundle/usr/local/lib64/qemu/hw-display-virtio-vga.so:
> > undefined symbol: aml_return
> > qemu-system-or1k: ../util/error.c:59: error_setv: Assertion `*errp ==
> > NULL' failed.
> > Broken pipe
> > ../tests/qtest/libqtest.c:188: kill_qemu() detected QEMU death from
> > signal 6 (Aborted) (core dumped)
> > TAP parsing error: Too few tests run (expected 62, got 31)
> > (test program exited with status code -6)
> > ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
> > 
> > https://gitlab.com/qemu-project/qemu/-/jobs/3281425457
> > 
> > Stefan  
> 
> 
> Hmm it passed for me:
> 
> https://gitlab.com/mstredhat/qemu/-/jobs/3279401710

I'm sorry, I was 'out of service' yesterday.
I see that Ani already fixed the issue, thanks!

> 
> Igor you did make a change around VGA:
> 
> commit 03d525c27ab0b268cf375d8823f05e91509222b8
> Author: Igor Mammedov <imammedo@redhat.com>
> Date:   Mon Oct 17 12:21:36 2022 +0200
> 
>     acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors
>     
>     Signed-off-by: Igor Mammedov <imammedo@redhat.com>
>     Message-Id: <20221017102146.2254096-2-imammedo@redhat.com>
>     Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
>     Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>     NB: we do not expect any functional change in
>     any ACPI tables with this change. It's only a refactoring.
>     
>     Reviewed-by: Ani Sinha <ani@anisinha.ca>
> 
> 
> can you take a look pls?
> How bad is it if I drop that patch?

It can't be dropped without dropping whole series
which heavily depends on it.