[PULL 00/73] virtio,pc,pci: features, fixes

Michael S. Tsirkin posted 73 patches 1 year, 1 month ago
There is a newer version of this series
qapi/cryptodev.json                           |  89 ++++++
qapi/cxl.json                                 | 128 ++++++++
qapi/qapi-schema.json                         |   2 +
qapi/qom.json                                 |   8 +-
qapi/stats.json                               |  10 +-
hw/pci/pci-internal.h                         |   1 -
include/hw/acpi/ich9.h                        |   1 +
include/hw/acpi/pcihp.h                       |  11 +-
include/hw/acpi/piix4.h                       |   2 -
include/hw/cxl/cxl.h                          |   1 +
include/hw/cxl/cxl_component.h                |  27 ++
include/hw/cxl/cxl_device.h                   |  11 +
include/hw/hotplug.h                          |   2 +
include/hw/pci/pci_bridge.h                   |   1 +
include/hw/pci/pcie_aer.h                     |   1 +
include/hw/pci/pcie_port.h                    |   2 +
include/hw/pci/pcie_regs.h                    |   3 +
include/hw/qdev-core.h                        |  13 +-
include/hw/virtio/vhost-backend.h             |   4 +
include/hw/virtio/vhost-vdpa.h                |   3 +
include/monitor/hmp.h                         |   1 +
include/sysemu/cryptodev.h                    | 113 ++++---
backends/cryptodev-builtin.c                  |  42 ++-
backends/cryptodev-hmp-cmds.c                 |  54 ++++
backends/cryptodev-lkcf.c                     |  19 +-
backends/cryptodev-vhost-user.c               |  13 +-
backends/cryptodev-vhost.c                    |   4 +-
backends/cryptodev.c                          | 433 ++++++++++++++++++++++++--
hw/acpi/acpi-pci-hotplug-stub.c               |   9 +-
hw/acpi/ich9.c                                |  21 +-
hw/acpi/pci-bridge.c                          |  14 +-
hw/acpi/pcihp.c                               | 112 ++-----
hw/acpi/piix4.c                               |  33 +-
hw/cxl/cxl-component-utils.c                  |  20 +-
hw/cxl/cxl-host.c                             |  31 +-
hw/i386/acpi-build.c                          | 179 ++++++++---
hw/isa/lpc_ich9.c                             |   1 +
hw/mem/cxl_type3.c                            | 294 +++++++++++++++++
hw/mem/cxl_type3_stubs.c                      |  17 +
hw/pci-bridge/cxl_root_port.c                 |  64 ++++
hw/pci-bridge/pci_expander_bridge.c           |  44 ++-
hw/pci/pci.c                                  |  57 ++++
hw/pci/pcie_aer.c                             |  14 +-
hw/pci/pcie_port.c                            |  46 +++
hw/s390x/virtio-ccw.c                         |   1 +
hw/virtio/vhost-shadow-virtqueue.c            |   8 +-
hw/virtio/vhost-user.c                        |   4 +-
hw/virtio/vhost-vdpa.c                        | 130 +++++---
hw/virtio/vhost.c                             |   3 +
hw/virtio/virtio-crypto.c                     |  48 ++-
hw/virtio/virtio-mmio.c                       |   5 +-
hw/virtio/virtio-pci.c                        |   1 +
hw/virtio/virtio.c                            |  11 +-
net/vhost-vdpa.c                              | 198 ++++++++++--
stats/stats-hmp-cmds.c                        |   5 +
stats/stats-qmp-cmds.c                        |   2 +
tests/qtest/bios-tables-test.c                | 125 +++-----
MAINTAINERS                                   |   2 +
backends/meson.build                          |   1 +
hmp-commands-info.hx                          |  14 +
hw/mem/meson.build                            |   2 +
hw/virtio/trace-events                        |   1 +
qapi/meson.build                              |   2 +
tests/data/acpi/pc/DSDT                       | Bin 6360 -> 6488 bytes
tests/data/acpi/pc/DSDT.acpierst              | Bin 6283 -> 6411 bytes
tests/data/acpi/pc/DSDT.acpihmat              | Bin 7685 -> 7813 bytes
tests/data/acpi/pc/DSDT.bridge                | Bin 12487 -> 12615 bytes
tests/data/acpi/pc/DSDT.cphp                  | Bin 6824 -> 6952 bytes
tests/data/acpi/pc/DSDT.dimmpxm               | Bin 8014 -> 8142 bytes
tests/data/acpi/pc/DSDT.hpbridge              | Bin 6289 -> 6451 bytes
tests/data/acpi/pc/DSDT.hpbrroot              | Bin 3081 -> 3343 bytes
tests/data/acpi/pc/DSDT.ipmikcs               | Bin 6432 -> 6560 bytes
tests/data/acpi/pc/DSDT.memhp                 | Bin 7719 -> 7847 bytes
tests/data/acpi/pc/DSDT.nohpet                | Bin 6218 -> 6346 bytes
tests/data/acpi/pc/DSDT.numamem               | Bin 6366 -> 6494 bytes
tests/data/acpi/pc/DSDT.roothp                | Bin 9745 -> 9873 bytes
tests/data/acpi/q35/DSDT                      | Bin 8252 -> 8361 bytes
tests/data/acpi/q35/DSDT.acpierst             | Bin 8269 -> 8378 bytes
tests/data/acpi/q35/DSDT.acpihmat             | Bin 9577 -> 9686 bytes
tests/data/acpi/q35/DSDT.acpihmat-noinitiator | Bin 8531 -> 8640 bytes
tests/data/acpi/q35/DSDT.applesmc             | Bin 8298 -> 8407 bytes
tests/data/acpi/q35/DSDT.bridge               | Bin 11481 -> 11590 bytes
tests/data/acpi/q35/DSDT.core-count2          | Bin 32392 -> 32501 bytes
tests/data/acpi/q35/DSDT.cphp                 | Bin 8716 -> 8825 bytes
tests/data/acpi/q35/DSDT.cxl                  | Bin 9564 -> 9673 bytes
tests/data/acpi/q35/DSDT.dimmpxm              | Bin 9906 -> 10015 bytes
tests/data/acpi/q35/DSDT.ipmibt               | Bin 8327 -> 8436 bytes
tests/data/acpi/q35/DSDT.ipmismbus            | Bin 8340 -> 8449 bytes
tests/data/acpi/q35/DSDT.ivrs                 | Bin 8269 -> 8378 bytes
tests/data/acpi/q35/DSDT.memhp                | Bin 9611 -> 9720 bytes
tests/data/acpi/q35/DSDT.mmio64               | Bin 9382 -> 9491 bytes
tests/data/acpi/q35/DSDT.multi-bridge         | Bin 12337 -> 12770 bytes
tests/data/acpi/q35/DSDT.noacpihp             | Bin 0 -> 8248 bytes
tests/data/acpi/q35/DSDT.nohpet               | Bin 8110 -> 8219 bytes
tests/data/acpi/q35/DSDT.numamem              | Bin 8258 -> 8367 bytes
tests/data/acpi/q35/DSDT.pvpanic-isa          | Bin 8353 -> 8462 bytes
tests/data/acpi/q35/DSDT.tis.tpm12            | Bin 8858 -> 8967 bytes
tests/data/acpi/q35/DSDT.tis.tpm2             | Bin 8884 -> 8993 bytes
tests/data/acpi/q35/DSDT.viot                 | Bin 9361 -> 9470 bytes
tests/data/acpi/q35/DSDT.xapic                | Bin 35615 -> 35724 bytes
100 files changed, 2043 insertions(+), 475 deletions(-)
create mode 100644 qapi/cryptodev.json
create mode 100644 qapi/cxl.json
create mode 100644 backends/cryptodev-hmp-cmds.c
create mode 100644 hw/mem/cxl_type3_stubs.c
create mode 100644 tests/data/acpi/q35/DSDT.noacpihp
[PULL 00/73] virtio,pc,pci: features, fixes
Posted by Michael S. Tsirkin 1 year, 1 month ago
The following changes since commit 9832009d9dd2386664c15cc70f6e6bfe062be8bd:

  Merge tag 'pull-riscv-to-apply-20230306' of https://gitlab.com/palmer-dabbelt/qemu into staging (2023-03-07 12:53:00 +0000)

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 52062b213c13bd7fff966d36b554c04609c925d6:

  virtio: refresh vring region cache after updating a virtqueue size (2023-03-07 19:51:07 -0500)

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

Several features that landed at the last possible moment:

Passthrough HDM decoder emulation
Refactor cryptodev
RAS error emulation and injection
acpi-index support on non-hotpluggable slots
Dynamically switch to vhost shadow virtqueues at vdpa net migration

Plus a couple of bugfixes that look important to have in the release.

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

----------------------------------------------------------------
Albert Esteve (1):
      hw/virtio/vhost-user: avoid using unitialized errp

Carlos López (2):
      virtio: fix reachable assertion due to stale value of cached region size
      virtio: refresh vring region cache after updating a virtqueue size

Eugenio Pérez (14):
      vdpa net: move iova tree creation from init to start
      vdpa: Remember last call fd set
      vdpa: Negotiate _F_SUSPEND feature
      vdpa: rewind at get_base, not set_base
      vdpa: add vhost_vdpa->suspended parameter
      vdpa: add vhost_vdpa_suspend
      vdpa: move vhost reset after get vring base
      vdpa: add vdpa net migration state notifier
      vdpa: disable RAM block discard only for the first device
      vdpa net: block migration if the device has CVQ
      vdpa: block migration if device has unsupported features
      vdpa: block migration if SVQ does not admit a feature
      vdpa net: allow VHOST_F_LOG_ALL
      vdpa: return VHOST_F_LOG_ALL in vhost-vdpa devices

Igor Mammedov (34):
      Revert "tests/qtest: Check for devices in bios-tables-test"
      tests: acpi: whitelist new q35.noacpihp test and pc.hpbrroot
      tests: acpi: add test_acpi_q35_tcg_no_acpi_hotplug test and extend test_acpi_piix4_no_acpi_pci_hotplug
      tests: acpi: update expected blobs
      tests: acpi: whitelist q35/DSDT.multi-bridge before extending testcase
      tests: acpi: extend multi-bridge case with case 'root-port,id=HOHP,hotplug=off root-port,bus=NOHP'
      x86: pcihp: fix missing PCNT callchain when intermediate root-port has 'hotplug=off' set
      tests: acpi: whitelist pc/DSDT.hpbrroot and pc/DSDT.hpbridge tests
      x86: pcihp: fix missing bridge AML when intermediate root-port has 'hotplug=off' set
      tests: acpi: update expected blobs
      pcihp: piix4: do not redirect hotplug controller to piix4 when ACPI hotplug is disabled
      pci: fix 'hotplugglable' property behavior
      tests: acpi: whitelist DSDT blobs before isolating PCI _DSM func 0 prolog
      pcihp: move PCI _DSM function 0 prolog into separate function
      tests: acpi: update expected blobs
      tests: acpi: whitelist DSDT before adding EDSM method
      acpi: pci: add EDSM method to DSDT
      tests: acpi: update expected blobs
      tests: acpi: whitelist DSDT before adding device with acpi-index to testcases
      tests: acpi: add device with acpi-index on non-hotpluggble bus
      acpi: pci: support acpi-index for non-hotpluggable devices
      tests: acpi: update expected blobs
      tests: acpi: whitelist DSDT before exposing non zero functions
      acpi: pci: describe all functions on populated slots
      tests: acpi: update expected blobs
      tests: acpi: whitelist DSDT before adding non-0 function device with acpi-index to testcases
      tests: acpi: add non zero function device with acpi-index on non-hotpluggble bus
      tests: acpi: update expected blobs
      pci: move acpi-index uniqueness check to generic PCI device code
      acpi: pci: drop BSEL usage when deciding that device isn't hotpluggable
      acpi: pci: move BSEL into build_append_pcihp_slots()
      acpi: pci: move out ACPI PCI hotplug generator from generic slot generator build_append_pci_bus_devices()
      pcihp: move fields enabling hotplug into AcpiPciHpState
      pcihp: add ACPI PCI hotplug specific is_hotpluggable_bus() callback

Jonathan Cameron (10):
      hw/pci/aer: Implement PCI_ERR_UNCOR_MASK register
      hw/pci/aer: Add missing routing for AER errors
      hw/pci-bridge/cxl_root_port: Wire up AER
      hw/pci-bridge/cxl_root_port: Wire up MSI
      hw/mem/cxl-type3: Add AER extended capability
      hw/cxl: Fix endian issues in CXL RAS capability defaults / masks
      hw/pci/aer: Make PCIE AER error injection facility available for other emulation to use.
      hw/mem/cxl_type3: Add CXL RAS Error Injection Support.
      hw/pci: Add pcie_count_ds_port() and pcie_find_port_first() helpers
      hw/pxb-cxl: Support passthrough HDM Decoders unless overridden

Zhenwei Pi (12):
      cryptodev: Introduce cryptodev.json
      cryptodev: Remove 'name' & 'model' fields
      cryptodev: Introduce cryptodev alg type in QAPI
      cryptodev: Introduce server type in QAPI
      cryptodev: Introduce 'query-cryptodev' QMP command
      cryptodev-builtin: Detect akcipher capability
      hmp: add cryptodev info command
      cryptodev: Use CryptoDevBackendOpInfo for operation
      cryptodev: Account statistics
      cryptodev: support QoS
      cryptodev: Support query-stats QMP command
      MAINTAINERS: add myself as the maintainer for cryptodev

 qapi/cryptodev.json                           |  89 ++++++
 qapi/cxl.json                                 | 128 ++++++++
 qapi/qapi-schema.json                         |   2 +
 qapi/qom.json                                 |   8 +-
 qapi/stats.json                               |  10 +-
 hw/pci/pci-internal.h                         |   1 -
 include/hw/acpi/ich9.h                        |   1 +
 include/hw/acpi/pcihp.h                       |  11 +-
 include/hw/acpi/piix4.h                       |   2 -
 include/hw/cxl/cxl.h                          |   1 +
 include/hw/cxl/cxl_component.h                |  27 ++
 include/hw/cxl/cxl_device.h                   |  11 +
 include/hw/hotplug.h                          |   2 +
 include/hw/pci/pci_bridge.h                   |   1 +
 include/hw/pci/pcie_aer.h                     |   1 +
 include/hw/pci/pcie_port.h                    |   2 +
 include/hw/pci/pcie_regs.h                    |   3 +
 include/hw/qdev-core.h                        |  13 +-
 include/hw/virtio/vhost-backend.h             |   4 +
 include/hw/virtio/vhost-vdpa.h                |   3 +
 include/monitor/hmp.h                         |   1 +
 include/sysemu/cryptodev.h                    | 113 ++++---
 backends/cryptodev-builtin.c                  |  42 ++-
 backends/cryptodev-hmp-cmds.c                 |  54 ++++
 backends/cryptodev-lkcf.c                     |  19 +-
 backends/cryptodev-vhost-user.c               |  13 +-
 backends/cryptodev-vhost.c                    |   4 +-
 backends/cryptodev.c                          | 433 ++++++++++++++++++++++++--
 hw/acpi/acpi-pci-hotplug-stub.c               |   9 +-
 hw/acpi/ich9.c                                |  21 +-
 hw/acpi/pci-bridge.c                          |  14 +-
 hw/acpi/pcihp.c                               | 112 ++-----
 hw/acpi/piix4.c                               |  33 +-
 hw/cxl/cxl-component-utils.c                  |  20 +-
 hw/cxl/cxl-host.c                             |  31 +-
 hw/i386/acpi-build.c                          | 179 ++++++++---
 hw/isa/lpc_ich9.c                             |   1 +
 hw/mem/cxl_type3.c                            | 294 +++++++++++++++++
 hw/mem/cxl_type3_stubs.c                      |  17 +
 hw/pci-bridge/cxl_root_port.c                 |  64 ++++
 hw/pci-bridge/pci_expander_bridge.c           |  44 ++-
 hw/pci/pci.c                                  |  57 ++++
 hw/pci/pcie_aer.c                             |  14 +-
 hw/pci/pcie_port.c                            |  46 +++
 hw/s390x/virtio-ccw.c                         |   1 +
 hw/virtio/vhost-shadow-virtqueue.c            |   8 +-
 hw/virtio/vhost-user.c                        |   4 +-
 hw/virtio/vhost-vdpa.c                        | 130 +++++---
 hw/virtio/vhost.c                             |   3 +
 hw/virtio/virtio-crypto.c                     |  48 ++-
 hw/virtio/virtio-mmio.c                       |   5 +-
 hw/virtio/virtio-pci.c                        |   1 +
 hw/virtio/virtio.c                            |  11 +-
 net/vhost-vdpa.c                              | 198 ++++++++++--
 stats/stats-hmp-cmds.c                        |   5 +
 stats/stats-qmp-cmds.c                        |   2 +
 tests/qtest/bios-tables-test.c                | 125 +++-----
 MAINTAINERS                                   |   2 +
 backends/meson.build                          |   1 +
 hmp-commands-info.hx                          |  14 +
 hw/mem/meson.build                            |   2 +
 hw/virtio/trace-events                        |   1 +
 qapi/meson.build                              |   2 +
 tests/data/acpi/pc/DSDT                       | Bin 6360 -> 6488 bytes
 tests/data/acpi/pc/DSDT.acpierst              | Bin 6283 -> 6411 bytes
 tests/data/acpi/pc/DSDT.acpihmat              | Bin 7685 -> 7813 bytes
 tests/data/acpi/pc/DSDT.bridge                | Bin 12487 -> 12615 bytes
 tests/data/acpi/pc/DSDT.cphp                  | Bin 6824 -> 6952 bytes
 tests/data/acpi/pc/DSDT.dimmpxm               | Bin 8014 -> 8142 bytes
 tests/data/acpi/pc/DSDT.hpbridge              | Bin 6289 -> 6451 bytes
 tests/data/acpi/pc/DSDT.hpbrroot              | Bin 3081 -> 3343 bytes
 tests/data/acpi/pc/DSDT.ipmikcs               | Bin 6432 -> 6560 bytes
 tests/data/acpi/pc/DSDT.memhp                 | Bin 7719 -> 7847 bytes
 tests/data/acpi/pc/DSDT.nohpet                | Bin 6218 -> 6346 bytes
 tests/data/acpi/pc/DSDT.numamem               | Bin 6366 -> 6494 bytes
 tests/data/acpi/pc/DSDT.roothp                | Bin 9745 -> 9873 bytes
 tests/data/acpi/q35/DSDT                      | Bin 8252 -> 8361 bytes
 tests/data/acpi/q35/DSDT.acpierst             | Bin 8269 -> 8378 bytes
 tests/data/acpi/q35/DSDT.acpihmat             | Bin 9577 -> 9686 bytes
 tests/data/acpi/q35/DSDT.acpihmat-noinitiator | Bin 8531 -> 8640 bytes
 tests/data/acpi/q35/DSDT.applesmc             | Bin 8298 -> 8407 bytes
 tests/data/acpi/q35/DSDT.bridge               | Bin 11481 -> 11590 bytes
 tests/data/acpi/q35/DSDT.core-count2          | Bin 32392 -> 32501 bytes
 tests/data/acpi/q35/DSDT.cphp                 | Bin 8716 -> 8825 bytes
 tests/data/acpi/q35/DSDT.cxl                  | Bin 9564 -> 9673 bytes
 tests/data/acpi/q35/DSDT.dimmpxm              | Bin 9906 -> 10015 bytes
 tests/data/acpi/q35/DSDT.ipmibt               | Bin 8327 -> 8436 bytes
 tests/data/acpi/q35/DSDT.ipmismbus            | Bin 8340 -> 8449 bytes
 tests/data/acpi/q35/DSDT.ivrs                 | Bin 8269 -> 8378 bytes
 tests/data/acpi/q35/DSDT.memhp                | Bin 9611 -> 9720 bytes
 tests/data/acpi/q35/DSDT.mmio64               | Bin 9382 -> 9491 bytes
 tests/data/acpi/q35/DSDT.multi-bridge         | Bin 12337 -> 12770 bytes
 tests/data/acpi/q35/DSDT.noacpihp             | Bin 0 -> 8248 bytes
 tests/data/acpi/q35/DSDT.nohpet               | Bin 8110 -> 8219 bytes
 tests/data/acpi/q35/DSDT.numamem              | Bin 8258 -> 8367 bytes
 tests/data/acpi/q35/DSDT.pvpanic-isa          | Bin 8353 -> 8462 bytes
 tests/data/acpi/q35/DSDT.tis.tpm12            | Bin 8858 -> 8967 bytes
 tests/data/acpi/q35/DSDT.tis.tpm2             | Bin 8884 -> 8993 bytes
 tests/data/acpi/q35/DSDT.viot                 | Bin 9361 -> 9470 bytes
 tests/data/acpi/q35/DSDT.xapic                | Bin 35615 -> 35724 bytes
 100 files changed, 2043 insertions(+), 475 deletions(-)
 create mode 100644 qapi/cryptodev.json
 create mode 100644 qapi/cxl.json
 create mode 100644 backends/cryptodev-hmp-cmds.c
 create mode 100644 hw/mem/cxl_type3_stubs.c
 create mode 100644 tests/data/acpi/q35/DSDT.noacpihp


Re: [PULL 00/73] virtio,pc,pci: features, fixes
Posted by Michael S. Tsirkin 1 year, 1 month ago
On Tue, Mar 07, 2023 at 08:10:51PM -0500, Michael S. Tsirkin wrote:
> The following changes since commit 9832009d9dd2386664c15cc70f6e6bfe062be8bd:
> 
>   Merge tag 'pull-riscv-to-apply-20230306' of https://gitlab.com/palmer-dabbelt/qemu into staging (2023-03-07 12:53:00 +0000)
> 
> 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 52062b213c13bd7fff966d36b554c04609c925d6:
> 
>   virtio: refresh vring region cache after updating a virtqueue size (2023-03-07 19:51:07 -0500)


I moved it one commit back, now at (96cb085897)
Cornelia posted some concerns about the last commit.

> ----------------------------------------------------------------
> virtio,pc,pci: features, fixes
> 
> Several features that landed at the last possible moment:
> 
> Passthrough HDM decoder emulation
> Refactor cryptodev
> RAS error emulation and injection
> acpi-index support on non-hotpluggable slots
> Dynamically switch to vhost shadow virtqueues at vdpa net migration
> 
> Plus a couple of bugfixes that look important to have in the release.
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> ----------------------------------------------------------------
> Albert Esteve (1):
>       hw/virtio/vhost-user: avoid using unitialized errp
> 
> Carlos López (2):
>       virtio: fix reachable assertion due to stale value of cached region size
>       virtio: refresh vring region cache after updating a virtqueue size
> 
> Eugenio Pérez (14):
>       vdpa net: move iova tree creation from init to start
>       vdpa: Remember last call fd set
>       vdpa: Negotiate _F_SUSPEND feature
>       vdpa: rewind at get_base, not set_base
>       vdpa: add vhost_vdpa->suspended parameter
>       vdpa: add vhost_vdpa_suspend
>       vdpa: move vhost reset after get vring base
>       vdpa: add vdpa net migration state notifier
>       vdpa: disable RAM block discard only for the first device
>       vdpa net: block migration if the device has CVQ
>       vdpa: block migration if device has unsupported features
>       vdpa: block migration if SVQ does not admit a feature
>       vdpa net: allow VHOST_F_LOG_ALL
>       vdpa: return VHOST_F_LOG_ALL in vhost-vdpa devices
> 
> Igor Mammedov (34):
>       Revert "tests/qtest: Check for devices in bios-tables-test"
>       tests: acpi: whitelist new q35.noacpihp test and pc.hpbrroot
>       tests: acpi: add test_acpi_q35_tcg_no_acpi_hotplug test and extend test_acpi_piix4_no_acpi_pci_hotplug
>       tests: acpi: update expected blobs
>       tests: acpi: whitelist q35/DSDT.multi-bridge before extending testcase
>       tests: acpi: extend multi-bridge case with case 'root-port,id=HOHP,hotplug=off root-port,bus=NOHP'
>       x86: pcihp: fix missing PCNT callchain when intermediate root-port has 'hotplug=off' set
>       tests: acpi: whitelist pc/DSDT.hpbrroot and pc/DSDT.hpbridge tests
>       x86: pcihp: fix missing bridge AML when intermediate root-port has 'hotplug=off' set
>       tests: acpi: update expected blobs
>       pcihp: piix4: do not redirect hotplug controller to piix4 when ACPI hotplug is disabled
>       pci: fix 'hotplugglable' property behavior
>       tests: acpi: whitelist DSDT blobs before isolating PCI _DSM func 0 prolog
>       pcihp: move PCI _DSM function 0 prolog into separate function
>       tests: acpi: update expected blobs
>       tests: acpi: whitelist DSDT before adding EDSM method
>       acpi: pci: add EDSM method to DSDT
>       tests: acpi: update expected blobs
>       tests: acpi: whitelist DSDT before adding device with acpi-index to testcases
>       tests: acpi: add device with acpi-index on non-hotpluggble bus
>       acpi: pci: support acpi-index for non-hotpluggable devices
>       tests: acpi: update expected blobs
>       tests: acpi: whitelist DSDT before exposing non zero functions
>       acpi: pci: describe all functions on populated slots
>       tests: acpi: update expected blobs
>       tests: acpi: whitelist DSDT before adding non-0 function device with acpi-index to testcases
>       tests: acpi: add non zero function device with acpi-index on non-hotpluggble bus
>       tests: acpi: update expected blobs
>       pci: move acpi-index uniqueness check to generic PCI device code
>       acpi: pci: drop BSEL usage when deciding that device isn't hotpluggable
>       acpi: pci: move BSEL into build_append_pcihp_slots()
>       acpi: pci: move out ACPI PCI hotplug generator from generic slot generator build_append_pci_bus_devices()
>       pcihp: move fields enabling hotplug into AcpiPciHpState
>       pcihp: add ACPI PCI hotplug specific is_hotpluggable_bus() callback
> 
> Jonathan Cameron (10):
>       hw/pci/aer: Implement PCI_ERR_UNCOR_MASK register
>       hw/pci/aer: Add missing routing for AER errors
>       hw/pci-bridge/cxl_root_port: Wire up AER
>       hw/pci-bridge/cxl_root_port: Wire up MSI
>       hw/mem/cxl-type3: Add AER extended capability
>       hw/cxl: Fix endian issues in CXL RAS capability defaults / masks
>       hw/pci/aer: Make PCIE AER error injection facility available for other emulation to use.
>       hw/mem/cxl_type3: Add CXL RAS Error Injection Support.
>       hw/pci: Add pcie_count_ds_port() and pcie_find_port_first() helpers
>       hw/pxb-cxl: Support passthrough HDM Decoders unless overridden
> 
> Zhenwei Pi (12):
>       cryptodev: Introduce cryptodev.json
>       cryptodev: Remove 'name' & 'model' fields
>       cryptodev: Introduce cryptodev alg type in QAPI
>       cryptodev: Introduce server type in QAPI
>       cryptodev: Introduce 'query-cryptodev' QMP command
>       cryptodev-builtin: Detect akcipher capability
>       hmp: add cryptodev info command
>       cryptodev: Use CryptoDevBackendOpInfo for operation
>       cryptodev: Account statistics
>       cryptodev: support QoS
>       cryptodev: Support query-stats QMP command
>       MAINTAINERS: add myself as the maintainer for cryptodev
> 
>  qapi/cryptodev.json                           |  89 ++++++
>  qapi/cxl.json                                 | 128 ++++++++
>  qapi/qapi-schema.json                         |   2 +
>  qapi/qom.json                                 |   8 +-
>  qapi/stats.json                               |  10 +-
>  hw/pci/pci-internal.h                         |   1 -
>  include/hw/acpi/ich9.h                        |   1 +
>  include/hw/acpi/pcihp.h                       |  11 +-
>  include/hw/acpi/piix4.h                       |   2 -
>  include/hw/cxl/cxl.h                          |   1 +
>  include/hw/cxl/cxl_component.h                |  27 ++
>  include/hw/cxl/cxl_device.h                   |  11 +
>  include/hw/hotplug.h                          |   2 +
>  include/hw/pci/pci_bridge.h                   |   1 +
>  include/hw/pci/pcie_aer.h                     |   1 +
>  include/hw/pci/pcie_port.h                    |   2 +
>  include/hw/pci/pcie_regs.h                    |   3 +
>  include/hw/qdev-core.h                        |  13 +-
>  include/hw/virtio/vhost-backend.h             |   4 +
>  include/hw/virtio/vhost-vdpa.h                |   3 +
>  include/monitor/hmp.h                         |   1 +
>  include/sysemu/cryptodev.h                    | 113 ++++---
>  backends/cryptodev-builtin.c                  |  42 ++-
>  backends/cryptodev-hmp-cmds.c                 |  54 ++++
>  backends/cryptodev-lkcf.c                     |  19 +-
>  backends/cryptodev-vhost-user.c               |  13 +-
>  backends/cryptodev-vhost.c                    |   4 +-
>  backends/cryptodev.c                          | 433 ++++++++++++++++++++++++--
>  hw/acpi/acpi-pci-hotplug-stub.c               |   9 +-
>  hw/acpi/ich9.c                                |  21 +-
>  hw/acpi/pci-bridge.c                          |  14 +-
>  hw/acpi/pcihp.c                               | 112 ++-----
>  hw/acpi/piix4.c                               |  33 +-
>  hw/cxl/cxl-component-utils.c                  |  20 +-
>  hw/cxl/cxl-host.c                             |  31 +-
>  hw/i386/acpi-build.c                          | 179 ++++++++---
>  hw/isa/lpc_ich9.c                             |   1 +
>  hw/mem/cxl_type3.c                            | 294 +++++++++++++++++
>  hw/mem/cxl_type3_stubs.c                      |  17 +
>  hw/pci-bridge/cxl_root_port.c                 |  64 ++++
>  hw/pci-bridge/pci_expander_bridge.c           |  44 ++-
>  hw/pci/pci.c                                  |  57 ++++
>  hw/pci/pcie_aer.c                             |  14 +-
>  hw/pci/pcie_port.c                            |  46 +++
>  hw/s390x/virtio-ccw.c                         |   1 +
>  hw/virtio/vhost-shadow-virtqueue.c            |   8 +-
>  hw/virtio/vhost-user.c                        |   4 +-
>  hw/virtio/vhost-vdpa.c                        | 130 +++++---
>  hw/virtio/vhost.c                             |   3 +
>  hw/virtio/virtio-crypto.c                     |  48 ++-
>  hw/virtio/virtio-mmio.c                       |   5 +-
>  hw/virtio/virtio-pci.c                        |   1 +
>  hw/virtio/virtio.c                            |  11 +-
>  net/vhost-vdpa.c                              | 198 ++++++++++--
>  stats/stats-hmp-cmds.c                        |   5 +
>  stats/stats-qmp-cmds.c                        |   2 +
>  tests/qtest/bios-tables-test.c                | 125 +++-----
>  MAINTAINERS                                   |   2 +
>  backends/meson.build                          |   1 +
>  hmp-commands-info.hx                          |  14 +
>  hw/mem/meson.build                            |   2 +
>  hw/virtio/trace-events                        |   1 +
>  qapi/meson.build                              |   2 +
>  tests/data/acpi/pc/DSDT                       | Bin 6360 -> 6488 bytes
>  tests/data/acpi/pc/DSDT.acpierst              | Bin 6283 -> 6411 bytes
>  tests/data/acpi/pc/DSDT.acpihmat              | Bin 7685 -> 7813 bytes
>  tests/data/acpi/pc/DSDT.bridge                | Bin 12487 -> 12615 bytes
>  tests/data/acpi/pc/DSDT.cphp                  | Bin 6824 -> 6952 bytes
>  tests/data/acpi/pc/DSDT.dimmpxm               | Bin 8014 -> 8142 bytes
>  tests/data/acpi/pc/DSDT.hpbridge              | Bin 6289 -> 6451 bytes
>  tests/data/acpi/pc/DSDT.hpbrroot              | Bin 3081 -> 3343 bytes
>  tests/data/acpi/pc/DSDT.ipmikcs               | Bin 6432 -> 6560 bytes
>  tests/data/acpi/pc/DSDT.memhp                 | Bin 7719 -> 7847 bytes
>  tests/data/acpi/pc/DSDT.nohpet                | Bin 6218 -> 6346 bytes
>  tests/data/acpi/pc/DSDT.numamem               | Bin 6366 -> 6494 bytes
>  tests/data/acpi/pc/DSDT.roothp                | Bin 9745 -> 9873 bytes
>  tests/data/acpi/q35/DSDT                      | Bin 8252 -> 8361 bytes
>  tests/data/acpi/q35/DSDT.acpierst             | Bin 8269 -> 8378 bytes
>  tests/data/acpi/q35/DSDT.acpihmat             | Bin 9577 -> 9686 bytes
>  tests/data/acpi/q35/DSDT.acpihmat-noinitiator | Bin 8531 -> 8640 bytes
>  tests/data/acpi/q35/DSDT.applesmc             | Bin 8298 -> 8407 bytes
>  tests/data/acpi/q35/DSDT.bridge               | Bin 11481 -> 11590 bytes
>  tests/data/acpi/q35/DSDT.core-count2          | Bin 32392 -> 32501 bytes
>  tests/data/acpi/q35/DSDT.cphp                 | Bin 8716 -> 8825 bytes
>  tests/data/acpi/q35/DSDT.cxl                  | Bin 9564 -> 9673 bytes
>  tests/data/acpi/q35/DSDT.dimmpxm              | Bin 9906 -> 10015 bytes
>  tests/data/acpi/q35/DSDT.ipmibt               | Bin 8327 -> 8436 bytes
>  tests/data/acpi/q35/DSDT.ipmismbus            | Bin 8340 -> 8449 bytes
>  tests/data/acpi/q35/DSDT.ivrs                 | Bin 8269 -> 8378 bytes
>  tests/data/acpi/q35/DSDT.memhp                | Bin 9611 -> 9720 bytes
>  tests/data/acpi/q35/DSDT.mmio64               | Bin 9382 -> 9491 bytes
>  tests/data/acpi/q35/DSDT.multi-bridge         | Bin 12337 -> 12770 bytes
>  tests/data/acpi/q35/DSDT.noacpihp             | Bin 0 -> 8248 bytes
>  tests/data/acpi/q35/DSDT.nohpet               | Bin 8110 -> 8219 bytes
>  tests/data/acpi/q35/DSDT.numamem              | Bin 8258 -> 8367 bytes
>  tests/data/acpi/q35/DSDT.pvpanic-isa          | Bin 8353 -> 8462 bytes
>  tests/data/acpi/q35/DSDT.tis.tpm12            | Bin 8858 -> 8967 bytes
>  tests/data/acpi/q35/DSDT.tis.tpm2             | Bin 8884 -> 8993 bytes
>  tests/data/acpi/q35/DSDT.viot                 | Bin 9361 -> 9470 bytes
>  tests/data/acpi/q35/DSDT.xapic                | Bin 35615 -> 35724 bytes
>  100 files changed, 2043 insertions(+), 475 deletions(-)
>  create mode 100644 qapi/cryptodev.json
>  create mode 100644 qapi/cxl.json
>  create mode 100644 backends/cryptodev-hmp-cmds.c
>  create mode 100644 hw/mem/cxl_type3_stubs.c
>  create mode 100644 tests/data/acpi/q35/DSDT.noacpihp
> 
Re: [PULL 00/73] virtio,pc,pci: features, fixes
Posted by Peter Maydell 1 year, 1 month ago
On Thu, 9 Mar 2023 at 14:47, Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Tue, Mar 07, 2023 at 08:10:51PM -0500, Michael S. Tsirkin wrote:
> > The following changes since commit 9832009d9dd2386664c15cc70f6e6bfe062be8bd:
> >
> >   Merge tag 'pull-riscv-to-apply-20230306' of https://gitlab.com/palmer-dabbelt/qemu into staging (2023-03-07 12:53:00 +0000)
> >
> > 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 52062b213c13bd7fff966d36b554c04609c925d6:
> >
> >   virtio: refresh vring region cache after updating a virtqueue size (2023-03-07 19:51:07 -0500)
>
>
> I moved it one commit back, now at (96cb085897)
> Cornelia posted some concerns about the last commit.
>
> > ----------------------------------------------------------------
> > virtio,pc,pci: features, fixes
> >
> > Several features that landed at the last possible moment:
> >
> > Passthrough HDM decoder emulation
> > Refactor cryptodev
> > RAS error emulation and injection
> > acpi-index support on non-hotpluggable slots
> > Dynamically switch to vhost shadow virtqueues at vdpa net migration
> >
> > Plus a couple of bugfixes that look important to have in the release.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.0
for any user-visible changes.

-- PMM
Re: [PULL 00/73] virtio,pc,pci: features, fixes
Posted by Philippe Mathieu-Daudé 1 year, 1 month ago
Hi,

On 10/3/23 18:32, Peter Maydell wrote:
> On Thu, 9 Mar 2023 at 14:47, Michael S. Tsirkin <mst@redhat.com> wrote:

>> I moved it one commit back, now at (96cb085897)
>> Cornelia posted some concerns about the last commit.
>>
>>> ----------------------------------------------------------------
>>> virtio,pc,pci: features, fixes
>>>
>>> Several features that landed at the last possible moment:
>>>
>>> Passthrough HDM decoder emulation
>>> Refactor cryptodev
>>> RAS error emulation and injection
>>> acpi-index support on non-hotpluggable slots
>>> Dynamically switch to vhost shadow virtqueues at vdpa net migration
>>>
>>> Plus a couple of bugfixes that look important to have in the release.
>>>
>>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>>>
> 
> 
> Applied, thanks.

I'm getting this failure on Darwin (m1):

C compiler for the host machine: clang (clang 14.0.0 "Apple clang 
version 14.0.0 (clang-1400.0.29.202)")
Program iasl found: YES (/opt/homebrew/bin/iasl)

$ make check-qtest-i386 V=1
  ...
  3/61 qemu:qtest+qtest-i386 / qtest-i386/bios-tables-test 
ERROR          17.52s   killed by signal 6 SIGABRT
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― 
✀ 
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
stderr:
acpi-test: Warning! DSDT binary file mismatch. Actual 
[aml:/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/aml-HANQ11], 
Expected [aml:tests/data/acpi/pc/DSDT.nosmm].
See source file tests/qtest/bios-tables-test.c for instructions on how 
to update expected files.
acpi-test: Warning! DSDT mismatch. Actual 
[asl:/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/asl-1CNQ11.dsl, 
aml:/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/aml-HANQ11], 
Expected 
[asl:/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/asl-XXGQ11.dsl, 
aml:tests/data/acpi/pc/DSDT.nosmm].
--- /var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/asl-XXGQ11.dsl 
2023-03-10 23:16:19
+++ /var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/asl-1CNQ11.dsl 
2023-03-10 23:16:19
@@ -1,30 +1,30 @@
  /*
   * Intel ACPI Component Architecture
   * AML/ASL+ Disassembler version 20221020 (64-bit version)
   * Copyright (c) 2000 - 2022 Intel Corporation
   *
   * Disassembling to symbolic ASL+ operators
   *
- * Disassembly of tests/data/acpi/pc/DSDT.nosmm, Fri Mar 10 23:16:19 2023
+ * Disassembly of 
/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/aml-HANQ11, Fri Mar 10 
23:16:19 2023
   *
   * Original Table Header:
   *     Signature        "DSDT"
- *     Length           0x000018D8 (6360)
+ *     Length           0x00001958 (6488)
   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math 
support
- *     Checksum         0xCE
+ *     Checksum         0xAF
   *     OEM ID           "BOCHS "
   *     OEM Table ID     "BXPC    "
   *     OEM Revision     0x00000001 (1)
   *     Compiler ID      "BXPC"
   *     Compiler Version 0x00000001 (1)
   */
  DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPC    ", 0x00000001)
  {
      Scope (\)
      {
          OperationRegion (DBG, SystemIO, 0x0402, One)
          Field (DBG, ByteAcc, NoLock, Preserve)
          {
              DBGB,   8
          }

@@ -38,32 +38,66 @@
              {
                  DBGB = DerefOf (Local0 [Local2])
                  Local2++
              }

              DBGB = 0x0A
          }
      }

      Scope (_SB)
      {
          Device (PCI0)
          {
              Name (_HID, EisaId ("PNP0A03") /* PCI Bus */)  // _HID: 
Hardware ID
              Name (_ADR, Zero)  // _ADR: Address
              Name (_UID, Zero)  // _UID: Unique ID
+            Method (EDSM, 5, Serialized)
+            {
+                If ((Arg2 == Zero))
+                {
+                    Local0 = Buffer (One)
+                        {
+                             0x00 
       // .
+                        }
+                    If ((Arg0 != ToUUID 
("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
+                    {
+                        Return (Local0)
+                    }
+
+                    If ((Arg1 < 0x02))
+                    {
+                        Return (Local0)
+                    }
+
+                    Local0 [Zero] = 0x81
+                    Return (Local0)
+                }
+
+                If ((Arg2 == 0x07))
+                {
+                    Local0 = Package (0x02)
+                        {
+                            Zero,
+                            ""
+                        }
+                    Local1 = DerefOf (Arg4 [Zero])
+                    Local0 [Zero] = Local1
+                    Return (Local0)
+                }
+            }
          }
      }

      Scope (_SB.PCI0)
      {
          OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
          Field (PCST, DWordAcc, NoLock, WriteAsZeros)
          {
              PCIU,   32,
              PCID,   32
          }

          OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
          Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
          {
              B0EJ,   32
@@ -91,43 +125,43 @@
              Acquire (BLCK, 0xFFFF)
              BNUM = Arg0
              PIDX = (One << Arg1)
              Local0 = PIDX /* \_SB_.PCI0.PIDX */
              Release (BLCK)
              Return (Local0)
          }

          Method (PDSM, 5, Serialized)
          {
              If ((Arg2 == Zero))
              {
                  Local0 = Buffer (One)
                      {
                           0x00 
    // .
                      }
-                Local1 = Zero
                  If ((Arg0 != ToUUID 
("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                  {
                      Return (Local0)
                  }

                  If ((Arg1 < 0x02))
                  {
                      Return (Local0)
                  }

+                Local1 = Zero
                  Local2 = AIDX (DerefOf (Arg4 [Zero]), DerefOf (Arg4 [One]
                      ))
                  If (!((Local2 == Zero) | (Local2 == 0xFFFFFFFF)))
                  {
                      Local1 |= One
                      Local1 |= (One << 0x07)
                  }

                  Local0 [Zero] = Local1
                  Return (Local0)
              }

              If ((Arg2 == 0x07))
              {
                  Local0 = Package (0x02)
                      {
@@ -915,32 +949,42 @@

                  Device (RTC)
                  {
                      Name (_HID, EisaId ("PNP0B00") /* AT Real-Time 
Clock */)  // _HID: Hardware ID
                      Name (_CRS, ResourceTemplate ()  // _CRS: Current 
Resource Settings
                      {
                          IO (Decode16,
                              0x0070,             // Range Minimum
                              0x0070,             // Range Maximum
                              0x01,               // Alignment
                              0x08,               // Length
                              )
                          IRQNoFlags ()
                              {8}
                      })
                  }
+            }
+
+            Device (S09)
+            {
+                Name (_ADR, 0x00010001)  // _ADR: Address
+            }
+
+            Device (S0B)
+            {
+                Name (_ADR, 0x00010003)  // _ADR: Address
              }

              Device (S10)
              {
                  Name (_ADR, 0x00020000)  // _ADR: Address
                  Method (_S1D, 0, NotSerialized)  // _S1D: S1 Device State
                  {
                      Return (Zero)
                  }

                  Method (_S2D, 0, NotSerialized)  // _S2D: S2 Device State
                  {
                      Return (Zero)
                  }

                  Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
**
ERROR:../../tests/qtest/bios-tables-test.c:536:test_acpi_asl: assertion 
failed: (all_tables_match)

(test program exited with status code -6)

FYI:

$ iasl -v

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20221020
Copyright (c) 2000 - 2022 Intel Corporation

Regards,

Phil.



Re: [PULL 00/73] virtio,pc,pci: features, fixes
Posted by Michael S. Tsirkin 1 year, 1 month ago
On Fri, Mar 10, 2023 at 11:20:36PM +0100, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> On 10/3/23 18:32, Peter Maydell wrote:
> > On Thu, 9 Mar 2023 at 14:47, Michael S. Tsirkin <mst@redhat.com> wrote:
> 
> > > I moved it one commit back, now at (96cb085897)
> > > Cornelia posted some concerns about the last commit.
> > > 
> > > > ----------------------------------------------------------------
> > > > virtio,pc,pci: features, fixes
> > > > 
> > > > Several features that landed at the last possible moment:
> > > > 
> > > > Passthrough HDM decoder emulation
> > > > Refactor cryptodev
> > > > RAS error emulation and injection
> > > > acpi-index support on non-hotpluggable slots
> > > > Dynamically switch to vhost shadow virtqueues at vdpa net migration
> > > > 
> > > > Plus a couple of bugfixes that look important to have in the release.
> > > > 
> > > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > > > 
> > 
> > 
> > Applied, thanks.
> 
> I'm getting this failure on Darwin (m1):
> 
> C compiler for the host machine: clang (clang 14.0.0 "Apple clang version
> 14.0.0 (clang-1400.0.29.202)")
> Program iasl found: YES (/opt/homebrew/bin/iasl)
> 
> $ make check-qtest-i386 V=1
>  ...
>  3/61 qemu:qtest+qtest-i386 / qtest-i386/bios-tables-test ERROR
> 17.52s   killed by signal 6 SIGABRT
> ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
> ✀ ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
> stderr:
> acpi-test: Warning! DSDT binary file mismatch. Actual
> [aml:/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/aml-HANQ11], Expected
> [aml:tests/data/acpi/pc/DSDT.nosmm].

Philippe, is tests/data/acpi/DSDT.nosmm in your tree for some reason?
Because it's not in mine:
$ git log -- tests/data/acpi/DSDT.nosmm


It's a side effect of how our tests work ATM that a presence of
a corrupted file in the source directory will confuse the test
and make it fail, and git reset will not be enough since some
of these can be untracked - you need git clean.



> See source file tests/qtest/bios-tables-test.c for instructions on how to
> update expected files.
> acpi-test: Warning! DSDT mismatch. Actual
> [asl:/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/asl-1CNQ11.dsl,
> aml:/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/aml-HANQ11], Expected
> [asl:/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/asl-XXGQ11.dsl,
> aml:tests/data/acpi/pc/DSDT.nosmm].
> --- /var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/asl-XXGQ11.dsl
> 2023-03-10 23:16:19
> +++ /var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/asl-1CNQ11.dsl
> 2023-03-10 23:16:19
> @@ -1,30 +1,30 @@
>  /*
>   * Intel ACPI Component Architecture
>   * AML/ASL+ Disassembler version 20221020 (64-bit version)
>   * Copyright (c) 2000 - 2022 Intel Corporation
>   *
>   * Disassembling to symbolic ASL+ operators
>   *
> - * Disassembly of tests/data/acpi/pc/DSDT.nosmm, Fri Mar 10 23:16:19 2023
> + * Disassembly of
> /var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/aml-HANQ11, Fri Mar 10
> 23:16:19 2023
>   *
>   * Original Table Header:
>   *     Signature        "DSDT"
> - *     Length           0x000018D8 (6360)
> + *     Length           0x00001958 (6488)
>   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> - *     Checksum         0xCE
> + *     Checksum         0xAF
>   *     OEM ID           "BOCHS "
>   *     OEM Table ID     "BXPC    "
>   *     OEM Revision     0x00000001 (1)
>   *     Compiler ID      "BXPC"
>   *     Compiler Version 0x00000001 (1)
>   */
>  DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPC    ", 0x00000001)
>  {
>      Scope (\)
>      {
>          OperationRegion (DBG, SystemIO, 0x0402, One)
>          Field (DBG, ByteAcc, NoLock, Preserve)
>          {
>              DBGB,   8
>          }
> 
> @@ -38,32 +38,66 @@
>              {
>                  DBGB = DerefOf (Local0 [Local2])
>                  Local2++
>              }
> 
>              DBGB = 0x0A
>          }
>      }
> 
>      Scope (_SB)
>      {
>          Device (PCI0)
>          {
>              Name (_HID, EisaId ("PNP0A03") /* PCI Bus */)  // _HID:
> Hardware ID
>              Name (_ADR, Zero)  // _ADR: Address
>              Name (_UID, Zero)  // _UID: Unique ID
> +            Method (EDSM, 5, Serialized)
> +            {
> +                If ((Arg2 == Zero))
> +                {
> +                    Local0 = Buffer (One)
> +                        {
> +                             0x00       // .
> +                        }
> +                    If ((Arg0 != ToUUID
> ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
> +                    {
> +                        Return (Local0)
> +                    }
> +
> +                    If ((Arg1 < 0x02))
> +                    {
> +                        Return (Local0)
> +                    }
> +
> +                    Local0 [Zero] = 0x81
> +                    Return (Local0)
> +                }
> +
> +                If ((Arg2 == 0x07))
> +                {
> +                    Local0 = Package (0x02)
> +                        {
> +                            Zero,
> +                            ""
> +                        }
> +                    Local1 = DerefOf (Arg4 [Zero])
> +                    Local0 [Zero] = Local1
> +                    Return (Local0)
> +                }
> +            }
>          }
>      }
> 
>      Scope (_SB.PCI0)
>      {
>          OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
>          Field (PCST, DWordAcc, NoLock, WriteAsZeros)
>          {
>              PCIU,   32,
>              PCID,   32
>          }
> 
>          OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
>          Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
>          {
>              B0EJ,   32
> @@ -91,43 +125,43 @@
>              Acquire (BLCK, 0xFFFF)
>              BNUM = Arg0
>              PIDX = (One << Arg1)
>              Local0 = PIDX /* \_SB_.PCI0.PIDX */
>              Release (BLCK)
>              Return (Local0)
>          }
> 
>          Method (PDSM, 5, Serialized)
>          {
>              If ((Arg2 == Zero))
>              {
>                  Local0 = Buffer (One)
>                      {
>                           0x00    // .
>                      }
> -                Local1 = Zero
>                  If ((Arg0 != ToUUID
> ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
>                  {
>                      Return (Local0)
>                  }
> 
>                  If ((Arg1 < 0x02))
>                  {
>                      Return (Local0)
>                  }
> 
> +                Local1 = Zero
>                  Local2 = AIDX (DerefOf (Arg4 [Zero]), DerefOf (Arg4 [One]
>                      ))
>                  If (!((Local2 == Zero) | (Local2 == 0xFFFFFFFF)))
>                  {
>                      Local1 |= One
>                      Local1 |= (One << 0x07)
>                  }
> 
>                  Local0 [Zero] = Local1
>                  Return (Local0)
>              }
> 
>              If ((Arg2 == 0x07))
>              {
>                  Local0 = Package (0x02)
>                      {
> @@ -915,32 +949,42 @@
> 
>                  Device (RTC)
>                  {
>                      Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock
> */)  // _HID: Hardware ID
>                      Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>                      {
>                          IO (Decode16,
>                              0x0070,             // Range Minimum
>                              0x0070,             // Range Maximum
>                              0x01,               // Alignment
>                              0x08,               // Length
>                              )
>                          IRQNoFlags ()
>                              {8}
>                      })
>                  }
> +            }
> +
> +            Device (S09)
> +            {
> +                Name (_ADR, 0x00010001)  // _ADR: Address
> +            }
> +
> +            Device (S0B)
> +            {
> +                Name (_ADR, 0x00010003)  // _ADR: Address
>              }
> 
>              Device (S10)
>              {
>                  Name (_ADR, 0x00020000)  // _ADR: Address
>                  Method (_S1D, 0, NotSerialized)  // _S1D: S1 Device State
>                  {
>                      Return (Zero)
>                  }
> 
>                  Method (_S2D, 0, NotSerialized)  // _S2D: S2 Device State
>                  {
>                      Return (Zero)
>                  }
> 
>                  Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
> **
> ERROR:../../tests/qtest/bios-tables-test.c:536:test_acpi_asl: assertion
> failed: (all_tables_match)
> 
> (test program exited with status code -6)
> 
> FYI:
> 
> $ iasl -v
> 
> Intel ACPI Component Architecture
> ASL+ Optimizing Compiler/Disassembler version 20221020
> Copyright (c) 2000 - 2022 Intel Corporation
> 
> Regards,
> 
> Phil.
> 


Re: [PULL 00/73] virtio,pc,pci: features, fixes
Posted by Philippe Mathieu-Daudé 1 year, 1 month ago
On 11/3/23 20:22, Michael S. Tsirkin wrote:
> On Fri, Mar 10, 2023 at 11:20:36PM +0100, Philippe Mathieu-Daudé wrote:
>> Hi,
>>
>> On 10/3/23 18:32, Peter Maydell wrote:
>>> On Thu, 9 Mar 2023 at 14:47, Michael S. Tsirkin <mst@redhat.com> wrote:
>>
>>>> I moved it one commit back, now at (96cb085897)
>>>> Cornelia posted some concerns about the last commit.
>>>>
>>>>> ----------------------------------------------------------------
>>>>> virtio,pc,pci: features, fixes
>>>>>
>>>>> Several features that landed at the last possible moment:
>>>>>
>>>>> Passthrough HDM decoder emulation
>>>>> Refactor cryptodev
>>>>> RAS error emulation and injection
>>>>> acpi-index support on non-hotpluggable slots
>>>>> Dynamically switch to vhost shadow virtqueues at vdpa net migration
>>>>>
>>>>> Plus a couple of bugfixes that look important to have in the release.
>>>>>
>>>>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>>>>>
>>>
>>>
>>> Applied, thanks.
>>
>> I'm getting this failure on Darwin (m1):
>>
>> C compiler for the host machine: clang (clang 14.0.0 "Apple clang version
>> 14.0.0 (clang-1400.0.29.202)")
>> Program iasl found: YES (/opt/homebrew/bin/iasl)
>>
>> $ make check-qtest-i386 V=1
>>   ...
>>   3/61 qemu:qtest+qtest-i386 / qtest-i386/bios-tables-test ERROR
>> 17.52s   killed by signal 6 SIGABRT
>> ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
>> ✀ ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
>> stderr:
>> acpi-test: Warning! DSDT binary file mismatch. Actual
>> [aml:/var/folders/yj/r7khncsj4d77k04ybz9lw4tm0000gn/T/aml-HANQ11], Expected
>> [aml:tests/data/acpi/pc/DSDT.nosmm].
> 
> Philippe, is tests/data/acpi/DSDT.nosmm in your tree for some reason?
> Because it's not in mine:
> $ git log -- tests/data/acpi/DSDT.nosmm
> 
> 
> It's a side effect of how our tests work ATM that a presence of
> a corrupted file in the source directory will confuse the test
> and make it fail, and git reset will not be enough since some
> of these can be untracked - you need git clean.

Indeed 'git status' shows:

	tests/data/acpi/microvm/APIC.rtc
	tests/data/acpi/microvm/APIC.usb
	tests/data/acpi/microvm/FACP.ioapic2
	tests/data/acpi/microvm/FACP.pcie
	tests/data/acpi/microvm/FACP.rtc
	tests/data/acpi/microvm/FACP.usb
	tests/data/acpi/pc/APIC.acpierst
	tests/data/acpi/pc/APIC.bridge
	tests/data/acpi/pc/APIC.hpbridge
	tests/data/acpi/pc/APIC.hpbrroot
	tests/data/acpi/pc/APIC.ipmikcs
	tests/data/acpi/pc/APIC.memhp
	tests/data/acpi/pc/APIC.nohpet
	tests/data/acpi/pc/APIC.nosmm
	tests/data/acpi/pc/APIC.numamem
	tests/data/acpi/pc/APIC.roothp
	tests/data/acpi/pc/APIC.smm-compat
	tests/data/acpi/pc/APIC.smm-compat-nosmm
	tests/data/acpi/pc/DSDT.nosmm
	tests/data/acpi/pc/DSDT.smm-compat
	tests/data/acpi/pc/DSDT.smm-compat-nosmm
	tests/data/acpi/pc/FACP.acpierst
	tests/data/acpi/pc/FACP.acpihmat
	tests/data/acpi/pc/FACP.bridge
	tests/data/acpi/pc/FACP.cphp
	tests/data/acpi/pc/FACP.dimmpxm
	tests/data/acpi/pc/FACP.hpbridge
	tests/data/acpi/pc/FACP.hpbrroot
	tests/data/acpi/pc/FACP.ipmikcs
	tests/data/acpi/pc/FACP.memhp
	tests/data/acpi/pc/FACP.nohpet
	tests/data/acpi/pc/FACP.numamem
	tests/data/acpi/pc/FACP.roothp
	tests/data/acpi/pc/FACP.smm-compat
	tests/data/acpi/pc/FACP.smm-compat-nosmm
	tests/data/acpi/pc/FACS.acpierst
	tests/data/acpi/pc/FACS.acpihmat
	tests/data/acpi/pc/FACS.bridge
	tests/data/acpi/pc/FACS.cphp
	tests/data/acpi/pc/FACS.dimmpxm
	tests/data/acpi/pc/FACS.hpbridge
	tests/data/acpi/pc/FACS.hpbrroot
	tests/data/acpi/pc/FACS.ipmikcs
	tests/data/acpi/pc/FACS.memhp
	tests/data/acpi/pc/FACS.nohpet
	tests/data/acpi/pc/FACS.nosmm
	tests/data/acpi/pc/FACS.numamem
	tests/data/acpi/pc/FACS.roothp
	tests/data/acpi/pc/FACS.smm-compat
	tests/data/acpi/pc/FACS.smm-compat-nosmm
	tests/data/acpi/pc/HPET.acpierst
	tests/data/acpi/pc/HPET.acpihmat
	tests/data/acpi/pc/HPET.bridge
	tests/data/acpi/pc/HPET.cphp
	tests/data/acpi/pc/HPET.dimmpxm
	tests/data/acpi/pc/HPET.hpbridge
	tests/data/acpi/pc/HPET.hpbrroot
	tests/data/acpi/pc/HPET.ipmikcs
	tests/data/acpi/pc/HPET.memhp
	tests/data/acpi/pc/HPET.nosmm
	tests/data/acpi/pc/HPET.numamem
	tests/data/acpi/pc/HPET.roothp
	tests/data/acpi/pc/HPET.smm-compat
	tests/data/acpi/pc/HPET.smm-compat-nosmm
	tests/data/acpi/pc/WAET.acpierst
	tests/data/acpi/pc/WAET.acpihmat
	tests/data/acpi/pc/WAET.bridge
	tests/data/acpi/pc/WAET.cphp
	tests/data/acpi/pc/WAET.dimmpxm
	tests/data/acpi/pc/WAET.hpbridge
	tests/data/acpi/pc/WAET.hpbrroot
	tests/data/acpi/pc/WAET.ipmikcs
	tests/data/acpi/pc/WAET.memhp
	tests/data/acpi/pc/WAET.nohpet
	tests/data/acpi/pc/WAET.nosmm
	tests/data/acpi/pc/WAET.numamem
	tests/data/acpi/pc/WAET.roothp
	tests/data/acpi/pc/WAET.smm-compat
	tests/data/acpi/pc/WAET.smm-compat-nosmm
	tests/data/acpi/q35/APIC.acpierst
	tests/data/acpi/q35/APIC.applesmc
	tests/data/acpi/q35/APIC.bridge
	tests/data/acpi/q35/APIC.cxl
	tests/data/acpi/q35/APIC.ipmibt
	tests/data/acpi/q35/APIC.ipmismbus
	tests/data/acpi/q35/APIC.ivrs
	tests/data/acpi/q35/APIC.memhp
	tests/data/acpi/q35/APIC.mmio64
	tests/data/acpi/q35/APIC.multi-bridge
	tests/data/acpi/q35/APIC.noacpihp
	tests/data/acpi/q35/APIC.nohpet
	tests/data/acpi/q35/APIC.nosmm
	tests/data/acpi/q35/APIC.numamem
	tests/data/acpi/q35/APIC.pvpanic-isa
	tests/data/acpi/q35/APIC.slic
	tests/data/acpi/q35/APIC.smm-compat
	tests/data/acpi/q35/APIC.smm-compat-nosmm
	tests/data/acpi/q35/APIC.tis.tpm12
	tests/data/acpi/q35/APIC.tis.tpm2
	tests/data/acpi/q35/APIC.viot
	tests/data/acpi/q35/DSDT.dsl
	tests/data/acpi/q35/DSDT.nosmm
	tests/data/acpi/q35/DSDT.slic
	tests/data/acpi/q35/DSDT.smm-compat
	tests/data/acpi/q35/DSDT.smm-compat-nosmm
	tests/data/acpi/q35/FACP.acpierst
	tests/data/acpi/q35/FACP.acpihmat
	tests/data/acpi/q35/FACP.acpihmat-noinitiator
	tests/data/acpi/q35/FACP.applesmc
	tests/data/acpi/q35/FACP.bridge
	tests/data/acpi/q35/FACP.cphp
	tests/data/acpi/q35/FACP.cxl
	tests/data/acpi/q35/FACP.dimmpxm
	tests/data/acpi/q35/FACP.ipmibt
	tests/data/acpi/q35/FACP.ipmismbus
	tests/data/acpi/q35/FACP.ivrs
	tests/data/acpi/q35/FACP.memhp
	tests/data/acpi/q35/FACP.mmio64
	tests/data/acpi/q35/FACP.multi-bridge
	tests/data/acpi/q35/FACP.noacpihp
	tests/data/acpi/q35/FACP.nohpet
	tests/data/acpi/q35/FACP.numamem
	tests/data/acpi/q35/FACP.pvpanic-isa
	tests/data/acpi/q35/FACP.smm-compat
	tests/data/acpi/q35/FACP.smm-compat-nosmm
	tests/data/acpi/q35/FACP.tis.tpm12
	tests/data/acpi/q35/FACP.tis.tpm2
	tests/data/acpi/q35/FACP.viot
	tests/data/acpi/q35/FACS.acpierst
	tests/data/acpi/q35/FACS.acpihmat
	tests/data/acpi/q35/FACS.acpihmat-noinitiator
	tests/data/acpi/q35/FACS.applesmc
	tests/data/acpi/q35/FACS.bridge
	tests/data/acpi/q35/FACS.cphp
	tests/data/acpi/q35/FACS.cxl
	tests/data/acpi/q35/FACS.dimmpxm
	tests/data/acpi/q35/FACS.ipmibt
	tests/data/acpi/q35/FACS.ipmismbus
	tests/data/acpi/q35/FACS.ivrs
	tests/data/acpi/q35/FACS.memhp
	tests/data/acpi/q35/FACS.mmio64
	tests/data/acpi/q35/FACS.multi-bridge
	tests/data/acpi/q35/FACS.noacpihp
	tests/data/acpi/q35/FACS.nohpet
	tests/data/acpi/q35/FACS.nosmm
	tests/data/acpi/q35/FACS.numamem
	tests/data/acpi/q35/FACS.pvpanic-isa
	tests/data/acpi/q35/FACS.slic
	tests/data/acpi/q35/FACS.smm-compat
	tests/data/acpi/q35/FACS.smm-compat-nosmm
	tests/data/acpi/q35/FACS.tis.tpm12
	tests/data/acpi/q35/FACS.tis.tpm2
	tests/data/acpi/q35/FACS.viot
	tests/data/acpi/q35/HPET.acpierst
	tests/data/acpi/q35/HPET.acpihmat
	tests/data/acpi/q35/HPET.acpihmat-noinitiator
	tests/data/acpi/q35/HPET.applesmc
	tests/data/acpi/q35/HPET.bridge
	tests/data/acpi/q35/HPET.cphp
	tests/data/acpi/q35/HPET.cxl
	tests/data/acpi/q35/HPET.dimmpxm
	tests/data/acpi/q35/HPET.ipmibt
	tests/data/acpi/q35/HPET.ipmismbus
	tests/data/acpi/q35/HPET.ivrs
	tests/data/acpi/q35/HPET.memhp
	tests/data/acpi/q35/HPET.mmio64
	tests/data/acpi/q35/HPET.multi-bridge
	tests/data/acpi/q35/HPET.noacpihp
	tests/data/acpi/q35/HPET.nosmm
	tests/data/acpi/q35/HPET.numamem
	tests/data/acpi/q35/HPET.pvpanic-isa
	tests/data/acpi/q35/HPET.slic
	tests/data/acpi/q35/HPET.smm-compat
	tests/data/acpi/q35/HPET.smm-compat-nosmm
	tests/data/acpi/q35/HPET.tis.tpm12
	tests/data/acpi/q35/HPET.tis.tpm2
	tests/data/acpi/q35/HPET.viot
	tests/data/acpi/q35/MCFG.acpierst
	tests/data/acpi/q35/MCFG.acpihmat
	tests/data/acpi/q35/MCFG.acpihmat-noinitiator
	tests/data/acpi/q35/MCFG.applesmc
	tests/data/acpi/q35/MCFG.bridge
	tests/data/acpi/q35/MCFG.cphp
	tests/data/acpi/q35/MCFG.cxl
	tests/data/acpi/q35/MCFG.dimmpxm
	tests/data/acpi/q35/MCFG.ipmibt
	tests/data/acpi/q35/MCFG.ipmismbus
	tests/data/acpi/q35/MCFG.ivrs
	tests/data/acpi/q35/MCFG.memhp
	tests/data/acpi/q35/MCFG.mmio64
	tests/data/acpi/q35/MCFG.multi-bridge
	tests/data/acpi/q35/MCFG.noacpihp
	tests/data/acpi/q35/MCFG.nohpet
	tests/data/acpi/q35/MCFG.nosmm
	tests/data/acpi/q35/MCFG.numamem
	tests/data/acpi/q35/MCFG.pvpanic-isa
	tests/data/acpi/q35/MCFG.slic
	tests/data/acpi/q35/MCFG.smm-compat
	tests/data/acpi/q35/MCFG.smm-compat-nosmm
	tests/data/acpi/q35/MCFG.tis.tpm12
	tests/data/acpi/q35/MCFG.tis.tpm2
	tests/data/acpi/q35/MCFG.viot
	tests/data/acpi/q35/WAET.acpierst
	tests/data/acpi/q35/WAET.acpihmat
	tests/data/acpi/q35/WAET.acpihmat-noinitiator
	tests/data/acpi/q35/WAET.applesmc
	tests/data/acpi/q35/WAET.bridge
	tests/data/acpi/q35/WAET.cphp
	tests/data/acpi/q35/WAET.cxl
	tests/data/acpi/q35/WAET.dimmpxm
	tests/data/acpi/q35/WAET.ipmibt
	tests/data/acpi/q35/WAET.ipmismbus
	tests/data/acpi/q35/WAET.ivrs
	tests/data/acpi/q35/WAET.memhp
	tests/data/acpi/q35/WAET.mmio64
	tests/data/acpi/q35/WAET.multi-bridge
	tests/data/acpi/q35/WAET.noacpihp
	tests/data/acpi/q35/WAET.nohpet
	tests/data/acpi/q35/WAET.nosmm
	tests/data/acpi/q35/WAET.numamem
	tests/data/acpi/q35/WAET.pvpanic-isa
	tests/data/acpi/q35/WAET.slic
	tests/data/acpi/q35/WAET.smm-compat
	tests/data/acpi/q35/WAET.smm-compat-nosmm
	tests/data/acpi/q35/WAET.tis.tpm12
	tests/data/acpi/q35/WAET.tis.tpm2
	tests/data/acpi/q35/WAET.viot
	tests/data/acpi/virt/APIC.memhp
	tests/data/acpi/virt/APIC.numamem
	tests/data/acpi/virt/APIC.pxb
	tests/data/acpi/virt/DBG2.acpihmatvirt
	tests/data/acpi/virt/DBG2.memhp
	tests/data/acpi/virt/DBG2.numamem
	tests/data/acpi/virt/DBG2.pxb
	tests/data/acpi/virt/DBG2.topology
	tests/data/acpi/virt/DSDT.numamem
	tests/data/acpi/virt/FACP.acpihmatvirt
	tests/data/acpi/virt/FACP.memhp
	tests/data/acpi/virt/FACP.numamem
	tests/data/acpi/virt/FACP.pxb
	tests/data/acpi/virt/FACP.topology
	tests/data/acpi/virt/GTDT.acpihmatvirt
	tests/data/acpi/virt/GTDT.memhp
	tests/data/acpi/virt/GTDT.numamem
	tests/data/acpi/virt/GTDT.pxb
	tests/data/acpi/virt/GTDT.topology
	tests/data/acpi/virt/IORT.acpihmatvirt
	tests/data/acpi/virt/IORT.memhp
	tests/data/acpi/virt/IORT.numamem
	tests/data/acpi/virt/IORT.pxb
	tests/data/acpi/virt/IORT.topology
	tests/data/acpi/virt/MCFG.acpihmatvirt
	tests/data/acpi/virt/MCFG.memhp
	tests/data/acpi/virt/MCFG.numamem
	tests/data/acpi/virt/MCFG.pxb
	tests/data/acpi/virt/MCFG.topology
	tests/data/acpi/virt/PPTT.memhp
	tests/data/acpi/virt/PPTT.numamem
	tests/data/acpi/virt/PPTT.pxb
	tests/data/acpi/virt/SPCR.acpihmatvirt
	tests/data/acpi/virt/SPCR.memhp
	tests/data/acpi/virt/SPCR.numamem
	tests/data/acpi/virt/SPCR.pxb
	tests/data/acpi/virt/SPCR.topology

Tests pass after removing all of them. I forgot to check their
timestamp before removing, so I don't know how/when they appeared
in my source directory...