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

Michael S. Tsirkin posted 91 patches 1 year, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220516095448.507876-1-mst@redhat.com
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Greg Kurz <groug@kaod.org>, Christian Schoenebeck <qemu_oss@crudebyte.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <ani@anisinha.ca>, Peter Maydell <peter.maydell@linaro.org>, Raphael Norwitz <raphael.norwitz@nutanix.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Amit Shah <amit@kernel.org>, Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Yanan Wang <wangyanan55@huawei.com>, Ben Widawsky <ben.widawsky@intel.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Richard Henderson <richard.henderson@linaro.org>, Peter Xu <peterx@redhat.com>, Jason Wang <jasowang@redhat.com>, Sergio Lopez <slp@redhat.com>, Fam Zheng <fam@euphon.net>, Mathieu Poirier <mathieu.poirier@linaro.org>, David Hildenbrand <david@redhat.com>, "Gonglei (Arei)" <arei.gonglei@huawei.com>, Eric Auger <eric.auger@redhat.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>, Michael Roth <michael.roth@amd.com>, Marcelo Tosatti <mtosatti@redhat.com>, Thomas Huth <thuth@redhat.com>
There is a newer version of this series
qapi/machine.json                         |  21 +
qapi/qapi-schema.json                     |   1 +
qapi/virtio.json                          | 841 ++++++++++++++++++++++++++++++
hw/i386/intel_iommu_internal.h            |   9 +-
hw/virtio/vhost-shadow-virtqueue.h        |   6 +
include/hw/acpi/cxl.h                     |  28 +
include/hw/boards.h                       |   2 +
include/hw/cxl/cxl.h                      |  61 +++
include/hw/cxl/cxl_component.h            | 223 ++++++++
include/hw/cxl/cxl_device.h               | 268 ++++++++++
include/hw/cxl/cxl_pci.h                  | 167 ++++++
include/hw/i386/intel_iommu.h             |   1 +
include/hw/i386/microvm.h                 |   4 -
include/hw/i386/pc.h                      |   2 -
include/hw/i386/x86.h                     |   4 +
include/hw/pci/pci.h                      |  14 +
include/hw/pci/pci_bridge.h               |  20 +
include/hw/pci/pci_bus.h                  |   7 +
include/hw/pci/pci_ids.h                  |   1 +
include/hw/pci/pcie_host.h                |   6 +-
include/hw/pci/pcie_port.h                |   2 +
include/hw/virtio/vhost-user.h            |  43 +-
include/hw/virtio/vhost-vsock-common.h    |   2 +-
include/hw/virtio/vhost.h                 | 135 ++++-
include/hw/virtio/virtio-gpu.h            |   3 +-
{hw => include/hw}/virtio/virtio-pci.h    |   0
include/hw/virtio/virtio.h                |  27 +-
include/monitor/hmp.h                     |   5 +
subprojects/libvhost-user/libvhost-user.h |   9 +
hw/9pfs/virtio-9p-device.c                |   2 +-
hw/acpi/cxl-stub.c                        |  12 +
hw/acpi/cxl.c                             | 257 +++++++++
hw/block/vhost-user-blk.c                 |   9 +-
hw/block/virtio-blk.c                     |  31 +-
hw/char/virtio-serial-bus.c               |  14 +-
hw/core/machine.c                         |  28 +
hw/cxl/cxl-component-utils.c              | 396 ++++++++++++++
hw/cxl/cxl-device-utils.c                 | 265 ++++++++++
hw/cxl/cxl-host-stubs.c                   |  16 +
hw/cxl/cxl-host.c                         | 222 ++++++++
hw/cxl/cxl-mailbox-utils.c                | 478 +++++++++++++++++
hw/display/vhost-user-gpu.c               |   7 +
hw/display/virtio-gpu-base.c              |   2 +-
hw/display/virtio-gpu.c                   |  18 +
hw/i386/acpi-build.c                      |  57 +-
hw/i386/amd_iommu.c                       |  24 +-
hw/i386/intel_iommu.c                     |  95 ++--
hw/i386/microvm.c                         |  54 +-
hw/i386/pc.c                              |  89 ++--
hw/i386/pc_piix.c                         |   4 +-
hw/i386/pc_q35.c                          |   4 +-
hw/i386/x86.c                             |  66 +++
hw/input/vhost-user-input.c               |   7 +
hw/input/virtio-input.c                   |  13 +-
hw/mem/cxl_type3.c                        | 371 +++++++++++++
hw/net/vhost_net.c                        |   8 +-
hw/net/virtio-net.c                       | 110 +++-
hw/pci-bridge/cxl_root_port.c             | 236 +++++++++
hw/pci-bridge/pci_expander_bridge.c       | 168 +++++-
hw/pci-bridge/pcie_root_port.c            |   6 +-
hw/pci-host/gpex-acpi.c                   |  20 +-
hw/pci/pci.c                              |  21 +-
hw/pci/pcie_port.c                        |  25 +
hw/scsi/vhost-scsi.c                      |   8 +
hw/scsi/vhost-user-scsi.c                 |   1 +
hw/scsi/virtio-scsi.c                     |  20 +-
hw/virtio/vhost-scsi-pci.c                |   2 +-
hw/virtio/vhost-shadow-virtqueue.c        |  35 +-
hw/virtio/vhost-user-blk-pci.c            |   2 +-
hw/virtio/vhost-user-fs-pci.c             |   2 +-
hw/virtio/vhost-user-fs.c                 |  20 +-
hw/virtio/vhost-user-i2c-pci.c            |   2 +-
hw/virtio/vhost-user-i2c.c                |  19 +-
hw/virtio/vhost-user-input-pci.c          |   2 +-
hw/virtio/vhost-user-rng-pci.c            |   2 +-
hw/virtio/vhost-user-rng.c                |   9 +-
hw/virtio/vhost-user-scsi-pci.c           |   2 +-
hw/virtio/vhost-user-vsock-pci.c          |   2 +-
hw/virtio/vhost-user-vsock.c              |   2 +-
hw/virtio/vhost-user.c                    | 131 +++--
hw/virtio/vhost-vdpa.c                    |  29 +-
hw/virtio/vhost-vsock-common.c            |  22 +-
hw/virtio/vhost-vsock-pci.c               |   2 +-
hw/virtio/vhost-vsock.c                   |   2 +-
hw/virtio/vhost.c                         |   4 +-
hw/virtio/virtio-9p-pci.c                 |   2 +-
hw/virtio/virtio-balloon-pci.c            |   2 +-
hw/virtio/virtio-balloon.c                |  17 +-
hw/virtio/virtio-blk-pci.c                |   2 +-
hw/virtio/virtio-bus.c                    |  22 +-
hw/virtio/virtio-crypto.c                 |  28 +-
hw/virtio/virtio-input-host-pci.c         |   2 +-
hw/virtio/virtio-input-pci.c              |   2 +-
hw/virtio/virtio-iommu-pci.c              |   2 +-
hw/virtio/virtio-iommu.c                  |  17 +-
hw/virtio/virtio-mem.c                    |  14 +-
hw/virtio/virtio-net-pci.c                |   2 +-
hw/virtio/virtio-pci.c                    |   5 +-
hw/virtio/virtio-pmem.c                   |   3 +-
hw/virtio/virtio-rng-pci.c                |   2 +-
hw/virtio/virtio-rng.c                    |   2 +-
hw/virtio/virtio-scsi-pci.c               |   2 +-
hw/virtio/virtio-serial-pci.c             |   2 +-
hw/virtio/virtio-stub.c                   |  42 ++
hw/virtio/virtio.c                        | 747 +++++++++++++++++++++++++-
monitor/hmp-cmds.c                        | 311 +++++++++++
net/vhost-vdpa.c                          |   4 +-
softmmu/vl.c                              |  47 ++
subprojects/libvhost-user/libvhost-user.c |   2 +-
target/i386/kvm/kvm-cpu.c                 |   2 +-
tests/qtest/bios-tables-test.c            |  44 ++
tests/qtest/cxl-test.c                    | 151 ++++++
tests/qtest/qmp-cmd-test.c                |   1 +
MAINTAINERS                               |   7 +
docs/devel/index-internals.rst            |   1 +
docs/devel/virtio-backends.rst            | 214 ++++++++
docs/interop/vhost-user-gpu.rst           |  10 +-
docs/interop/vhost-user.rst               | 579 ++++++++++----------
docs/system/device-emulation.rst          |   1 +
docs/system/devices/cxl.rst               | 302 +++++++++++
hmp-commands-info.hx                      |  70 +++
hw/Kconfig                                |   1 +
hw/acpi/Kconfig                           |   5 +
hw/acpi/meson.build                       |   4 +-
hw/arm/Kconfig                            |   1 +
hw/cxl/Kconfig                            |   3 +
hw/cxl/meson.build                        |  12 +
hw/mem/Kconfig                            |   5 +
hw/mem/meson.build                        |   1 +
hw/meson.build                            |   1 +
hw/pci-bridge/Kconfig                     |   5 +
hw/pci-bridge/meson.build                 |   1 +
hw/virtio/meson.build                     |   2 +
hw/virtio/trace-events                    |  10 +-
qapi/meson.build                          |   1 +
qemu-options.hx                           |  38 ++
scripts/device-crash-test                 |   1 +
tests/data/acpi/q35/CEDT.cxl              | Bin 0 -> 184 bytes
tests/data/acpi/q35/DSDT.cxl              | Bin 0 -> 9615 bytes
tests/qtest/meson.build                   |   4 +
140 files changed, 7550 insertions(+), 575 deletions(-)
create mode 100644 qapi/virtio.json
create mode 100644 include/hw/acpi/cxl.h
create mode 100644 include/hw/cxl/cxl.h
create mode 100644 include/hw/cxl/cxl_component.h
create mode 100644 include/hw/cxl/cxl_device.h
create mode 100644 include/hw/cxl/cxl_pci.h
rename {hw => include/hw}/virtio/virtio-pci.h (100%)
create mode 100644 hw/acpi/cxl-stub.c
create mode 100644 hw/acpi/cxl.c
create mode 100644 hw/cxl/cxl-component-utils.c
create mode 100644 hw/cxl/cxl-device-utils.c
create mode 100644 hw/cxl/cxl-host-stubs.c
create mode 100644 hw/cxl/cxl-host.c
create mode 100644 hw/cxl/cxl-mailbox-utils.c
create mode 100644 hw/mem/cxl_type3.c
create mode 100644 hw/pci-bridge/cxl_root_port.c
create mode 100644 hw/virtio/virtio-stub.c
create mode 100644 tests/qtest/cxl-test.c
create mode 100644 docs/devel/virtio-backends.rst
create mode 100644 docs/system/devices/cxl.rst
create mode 100644 hw/cxl/Kconfig
create mode 100644 hw/cxl/meson.build
create mode 100644 tests/data/acpi/q35/CEDT.cxl
create mode 100644 tests/data/acpi/q35/DSDT.cxl
[PULL 00/91] virtio,pc,pci: fixes,cleanups,features
Posted by Michael S. Tsirkin 1 year, 10 months ago
The following changes since commit 9de5f2b40860c5f8295e73fea9922df6f0b8d89a:

  Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2022-05-12 10:52:15 -0700)

are available in the Git repository at:

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

for you to fetch changes up to baebc5a4ab3ceef940887e3cc2f1d0e48cee53dc:

  virtio-net: don't handle mq request in userspace handler for vhost-vdpa (2022-05-16 04:38:40 -0400)

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

most of CXL support
virtio introspection commands
fixes, cleanups all over the place

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

----------------------------------------------------------------
Alex Bennée (9):
      hw/virtio: move virtio-pci.h into shared include space
      virtio-pci: add notification trace points
      hw/virtio: add vhost_user_[read|write] trace points
      vhost-user.rst: add clarifying language about protocol negotiation
      libvhost-user: expose vu_request_to_string
      docs/devel: start documenting writing VirtIO devices
      include/hw: start documenting the vhost API
      hw/virtio/vhost-user: don't suppress F_CONFIG when supported
      virtio/vhost-user: dynamically assign VhostUserHostNotifiers

Ben Widawsky (24):
      hw/pci/cxl: Add a CXL component type (interface)
      hw/cxl/component: Introduce CXL components (8.1.x, 8.2.5)
      hw/cxl/device: Introduce a CXL device (8.2.8)
      hw/cxl/device: Implement the CAP array (8.2.8.1-2)
      hw/cxl/device: Implement basic mailbox (8.2.8.4)
      hw/cxl/device: Add memory device utilities
      hw/cxl/device: Add cheap EVENTS implementation (8.2.9.1)
      hw/cxl/device: Timestamp implementation (8.2.9.3)
      hw/cxl/device: Add log commands (8.2.9.4) + CEL
      hw/pxb: Use a type for realizing expanders
      hw/pci/cxl: Create a CXL bus type
      hw/pxb: Allow creation of a CXL PXB (host bridge)
      hw/cxl/rp: Add a root port
      hw/cxl/device: Add a memory device (8.2.8.5)
      hw/cxl/device: Implement MMIO HDM decoding (8.2.5.12)
      hw/cxl/device: Add some trivial commands
      hw/cxl/device: Plumb real Label Storage Area (LSA) sizing
      hw/cxl/device: Implement get/set Label Storage Area (LSA)
      hw/cxl/component: Implement host bridge MMIO (8.2.5, table 142)
      acpi/cxl: Add _OSC implementation (9.14.2)
      acpi/cxl: Create the CEDT (9.14.1)
      acpi/cxl: Introduce CFMWS structures in CEDT
      hw/cxl/component Add a dumb HDM decoder handler
      qtest/cxl: Add more complex test cases with CFMWs

David Woodhouse (4):
      target/i386: Fix sanity check on max APIC ID / X2APIC enablement
      intel_iommu: Support IR-only mode without DMA translation
      intel_iommu: Only allow interrupt remapping to be enabled if it's supported
      intel_iommu: Fix irqchip / X2APIC configuration checks

Eugenio Pérez (5):
      vhost: Track descriptor chain in private at SVQ
      vhost: Fix device's used descriptor dequeue
      vdpa: Fix bad index calculus at vhost_vdpa_get_vring_base
      vdpa: Fix index calculus at vhost_vdpa_svqs_start
      vhost: Fix element in vhost_svq_add failure

Francisco Iglesias (2):
      include/hw/pci/pcie_host: Correct PCIE_MMCFG_BUS_MASK
      include/hw/pci/pcie_host: Correct PCIE_MMCFG_SIZE_MAX

Halil Pasic (1):
      virtio: fix feature negotiation for ACCESS_PLATFORM

Ilya Maximets (1):
      vhost_net: Print feature masks in hex

Jason Wang (5):
      intel-iommu: correct the value used for error_setg_errno()
      intel-iommu: remove VTD_FR_RESERVED_ERR
      intel-iommu: block output address in interrupt address range
      intel-iommu: update root_scalable before switching as during post_load
      intel-iommu: update iq_dw during post load

Jonah Palmer (2):
      virtio: drop name parameter for virtio_init()
      virtio: add vhost support for virtio devices

Jonathan Cameron (16):
      MAINTAINERS: Add entry for Compute Express Link Emulation
      cxl: Machine level control on whether CXL support is enabled
      qtest/cxl: Introduce initial test for pxb-cxl only.
      qtests/cxl: Add initial root port and CXL type3 tests
      hw/cxl/component: Add utils for interleave parameter encoding/decoding
      hw/cxl/host: Add support for CXL Fixed Memory Windows.
      hw/pci-host/gpex-acpi: Add support for dsdt construction for pxb-cxl
      pci/pcie_port: Add pci_find_port_by_pn()
      CXL/cxl_component: Add cxl_get_hb_cstate()
      mem/cxl_type3: Add read and write functions for associated hostmem.
      cxl/cxl-host: Add memops for CFMWS region.
      i386/pc: Enable CXL fixed memory windows
      tests/acpi: q35: Allow addition of a CXL test.
      qtests/bios-tables-test: Add a test for CXL emulation.
      tests/acpi: Add tables for CXL emulation.
      docs/cxl: Add initial Compute eXpress Link (CXL) documentation.

Kevin Wolf (1):
      docs/vhost-user: Clarifications for VHOST_USER_ADD/REM_MEM_REG

Laurent Vivier (6):
      qmp: add QMP command x-query-virtio
      qmp: add QMP command x-query-virtio-status
      qmp: decode feature & status bits in virtio-status
      qmp: add QMP commands for virtio/vhost queue-status
      qmp: add QMP command x-query-virtio-queue-element
      hmp: add virtio commands

Michael S. Tsirkin (1):
      vhost-user: more master/slave things

Paolo Bonzini (3):
      docs: vhost-user: clean up request/reply description
      docs: vhost-user: rewrite section on ring state machine
      docs: vhost-user: replace master/slave with front-end/back-end

Philippe Mathieu-Daudé (1):
      hw/virtio: Replace g_memdup() by g_memdup2()

Si-Wei Liu (7):
      virtio-net: setup vhost_dev and notifiers for cvq only when feature is negotiated
      virtio-net: align ctrl_vq index for non-mq guest for vhost_vdpa
      vhost-vdpa: fix improper cleanup in net_init_vhost_vdpa
      vhost-net: fix improper cleanup in vhost_net_start
      vhost-vdpa: backend feature should set only once
      vhost-vdpa: change name and polarity for vhost_vdpa_one_time_request()
      virtio-net: don't handle mq request in userspace handler for vhost-vdpa

Wei Huang (1):
      hw/i386/amd_iommu: Fix IOMMU event log encoding errors

Xiaoyao Li (2):
      hw/i386: Make pit a property of common x86 base machine type
      hw/i386: Make pic a property of common x86 base machine type

 qapi/machine.json                         |  21 +
 qapi/qapi-schema.json                     |   1 +
 qapi/virtio.json                          | 841 ++++++++++++++++++++++++++++++
 hw/i386/intel_iommu_internal.h            |   9 +-
 hw/virtio/vhost-shadow-virtqueue.h        |   6 +
 include/hw/acpi/cxl.h                     |  28 +
 include/hw/boards.h                       |   2 +
 include/hw/cxl/cxl.h                      |  61 +++
 include/hw/cxl/cxl_component.h            | 223 ++++++++
 include/hw/cxl/cxl_device.h               | 268 ++++++++++
 include/hw/cxl/cxl_pci.h                  | 167 ++++++
 include/hw/i386/intel_iommu.h             |   1 +
 include/hw/i386/microvm.h                 |   4 -
 include/hw/i386/pc.h                      |   2 -
 include/hw/i386/x86.h                     |   4 +
 include/hw/pci/pci.h                      |  14 +
 include/hw/pci/pci_bridge.h               |  20 +
 include/hw/pci/pci_bus.h                  |   7 +
 include/hw/pci/pci_ids.h                  |   1 +
 include/hw/pci/pcie_host.h                |   6 +-
 include/hw/pci/pcie_port.h                |   2 +
 include/hw/virtio/vhost-user.h            |  43 +-
 include/hw/virtio/vhost-vsock-common.h    |   2 +-
 include/hw/virtio/vhost.h                 | 135 ++++-
 include/hw/virtio/virtio-gpu.h            |   3 +-
 {hw => include/hw}/virtio/virtio-pci.h    |   0
 include/hw/virtio/virtio.h                |  27 +-
 include/monitor/hmp.h                     |   5 +
 subprojects/libvhost-user/libvhost-user.h |   9 +
 hw/9pfs/virtio-9p-device.c                |   2 +-
 hw/acpi/cxl-stub.c                        |  12 +
 hw/acpi/cxl.c                             | 257 +++++++++
 hw/block/vhost-user-blk.c                 |   9 +-
 hw/block/virtio-blk.c                     |  31 +-
 hw/char/virtio-serial-bus.c               |  14 +-
 hw/core/machine.c                         |  28 +
 hw/cxl/cxl-component-utils.c              | 396 ++++++++++++++
 hw/cxl/cxl-device-utils.c                 | 265 ++++++++++
 hw/cxl/cxl-host-stubs.c                   |  16 +
 hw/cxl/cxl-host.c                         | 222 ++++++++
 hw/cxl/cxl-mailbox-utils.c                | 478 +++++++++++++++++
 hw/display/vhost-user-gpu.c               |   7 +
 hw/display/virtio-gpu-base.c              |   2 +-
 hw/display/virtio-gpu.c                   |  18 +
 hw/i386/acpi-build.c                      |  57 +-
 hw/i386/amd_iommu.c                       |  24 +-
 hw/i386/intel_iommu.c                     |  95 ++--
 hw/i386/microvm.c                         |  54 +-
 hw/i386/pc.c                              |  89 ++--
 hw/i386/pc_piix.c                         |   4 +-
 hw/i386/pc_q35.c                          |   4 +-
 hw/i386/x86.c                             |  66 +++
 hw/input/vhost-user-input.c               |   7 +
 hw/input/virtio-input.c                   |  13 +-
 hw/mem/cxl_type3.c                        | 371 +++++++++++++
 hw/net/vhost_net.c                        |   8 +-
 hw/net/virtio-net.c                       | 110 +++-
 hw/pci-bridge/cxl_root_port.c             | 236 +++++++++
 hw/pci-bridge/pci_expander_bridge.c       | 168 +++++-
 hw/pci-bridge/pcie_root_port.c            |   6 +-
 hw/pci-host/gpex-acpi.c                   |  20 +-
 hw/pci/pci.c                              |  21 +-
 hw/pci/pcie_port.c                        |  25 +
 hw/scsi/vhost-scsi.c                      |   8 +
 hw/scsi/vhost-user-scsi.c                 |   1 +
 hw/scsi/virtio-scsi.c                     |  20 +-
 hw/virtio/vhost-scsi-pci.c                |   2 +-
 hw/virtio/vhost-shadow-virtqueue.c        |  35 +-
 hw/virtio/vhost-user-blk-pci.c            |   2 +-
 hw/virtio/vhost-user-fs-pci.c             |   2 +-
 hw/virtio/vhost-user-fs.c                 |  20 +-
 hw/virtio/vhost-user-i2c-pci.c            |   2 +-
 hw/virtio/vhost-user-i2c.c                |  19 +-
 hw/virtio/vhost-user-input-pci.c          |   2 +-
 hw/virtio/vhost-user-rng-pci.c            |   2 +-
 hw/virtio/vhost-user-rng.c                |   9 +-
 hw/virtio/vhost-user-scsi-pci.c           |   2 +-
 hw/virtio/vhost-user-vsock-pci.c          |   2 +-
 hw/virtio/vhost-user-vsock.c              |   2 +-
 hw/virtio/vhost-user.c                    | 131 +++--
 hw/virtio/vhost-vdpa.c                    |  29 +-
 hw/virtio/vhost-vsock-common.c            |  22 +-
 hw/virtio/vhost-vsock-pci.c               |   2 +-
 hw/virtio/vhost-vsock.c                   |   2 +-
 hw/virtio/vhost.c                         |   4 +-
 hw/virtio/virtio-9p-pci.c                 |   2 +-
 hw/virtio/virtio-balloon-pci.c            |   2 +-
 hw/virtio/virtio-balloon.c                |  17 +-
 hw/virtio/virtio-blk-pci.c                |   2 +-
 hw/virtio/virtio-bus.c                    |  22 +-
 hw/virtio/virtio-crypto.c                 |  28 +-
 hw/virtio/virtio-input-host-pci.c         |   2 +-
 hw/virtio/virtio-input-pci.c              |   2 +-
 hw/virtio/virtio-iommu-pci.c              |   2 +-
 hw/virtio/virtio-iommu.c                  |  17 +-
 hw/virtio/virtio-mem.c                    |  14 +-
 hw/virtio/virtio-net-pci.c                |   2 +-
 hw/virtio/virtio-pci.c                    |   5 +-
 hw/virtio/virtio-pmem.c                   |   3 +-
 hw/virtio/virtio-rng-pci.c                |   2 +-
 hw/virtio/virtio-rng.c                    |   2 +-
 hw/virtio/virtio-scsi-pci.c               |   2 +-
 hw/virtio/virtio-serial-pci.c             |   2 +-
 hw/virtio/virtio-stub.c                   |  42 ++
 hw/virtio/virtio.c                        | 747 +++++++++++++++++++++++++-
 monitor/hmp-cmds.c                        | 311 +++++++++++
 net/vhost-vdpa.c                          |   4 +-
 softmmu/vl.c                              |  47 ++
 subprojects/libvhost-user/libvhost-user.c |   2 +-
 target/i386/kvm/kvm-cpu.c                 |   2 +-
 tests/qtest/bios-tables-test.c            |  44 ++
 tests/qtest/cxl-test.c                    | 151 ++++++
 tests/qtest/qmp-cmd-test.c                |   1 +
 MAINTAINERS                               |   7 +
 docs/devel/index-internals.rst            |   1 +
 docs/devel/virtio-backends.rst            | 214 ++++++++
 docs/interop/vhost-user-gpu.rst           |  10 +-
 docs/interop/vhost-user.rst               | 579 ++++++++++----------
 docs/system/device-emulation.rst          |   1 +
 docs/system/devices/cxl.rst               | 302 +++++++++++
 hmp-commands-info.hx                      |  70 +++
 hw/Kconfig                                |   1 +
 hw/acpi/Kconfig                           |   5 +
 hw/acpi/meson.build                       |   4 +-
 hw/arm/Kconfig                            |   1 +
 hw/cxl/Kconfig                            |   3 +
 hw/cxl/meson.build                        |  12 +
 hw/mem/Kconfig                            |   5 +
 hw/mem/meson.build                        |   1 +
 hw/meson.build                            |   1 +
 hw/pci-bridge/Kconfig                     |   5 +
 hw/pci-bridge/meson.build                 |   1 +
 hw/virtio/meson.build                     |   2 +
 hw/virtio/trace-events                    |  10 +-
 qapi/meson.build                          |   1 +
 qemu-options.hx                           |  38 ++
 scripts/device-crash-test                 |   1 +
 tests/data/acpi/q35/CEDT.cxl              | Bin 0 -> 184 bytes
 tests/data/acpi/q35/DSDT.cxl              | Bin 0 -> 9615 bytes
 tests/qtest/meson.build                   |   4 +
 140 files changed, 7550 insertions(+), 575 deletions(-)
 create mode 100644 qapi/virtio.json
 create mode 100644 include/hw/acpi/cxl.h
 create mode 100644 include/hw/cxl/cxl.h
 create mode 100644 include/hw/cxl/cxl_component.h
 create mode 100644 include/hw/cxl/cxl_device.h
 create mode 100644 include/hw/cxl/cxl_pci.h
 rename {hw => include/hw}/virtio/virtio-pci.h (100%)
 create mode 100644 hw/acpi/cxl-stub.c
 create mode 100644 hw/acpi/cxl.c
 create mode 100644 hw/cxl/cxl-component-utils.c
 create mode 100644 hw/cxl/cxl-device-utils.c
 create mode 100644 hw/cxl/cxl-host-stubs.c
 create mode 100644 hw/cxl/cxl-host.c
 create mode 100644 hw/cxl/cxl-mailbox-utils.c
 create mode 100644 hw/mem/cxl_type3.c
 create mode 100644 hw/pci-bridge/cxl_root_port.c
 create mode 100644 hw/virtio/virtio-stub.c
 create mode 100644 tests/qtest/cxl-test.c
 create mode 100644 docs/devel/virtio-backends.rst
 create mode 100644 docs/system/devices/cxl.rst
 create mode 100644 hw/cxl/Kconfig
 create mode 100644 hw/cxl/meson.build
 create mode 100644 tests/data/acpi/q35/CEDT.cxl
 create mode 100644 tests/data/acpi/q35/DSDT.cxl


Re: [PULL 00/91] virtio,pc,pci: fixes,cleanups,features
Posted by Richard Henderson 1 year, 10 months ago
On 5/16/22 03:35, Michael S. Tsirkin wrote:
> The following changes since commit 9de5f2b40860c5f8295e73fea9922df6f0b8d89a:
> 
>    Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2022-05-12 10:52:15 -0700)
> 
> are available in the Git repository at:
> 
>    git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> 
> for you to fetch changes up to baebc5a4ab3ceef940887e3cc2f1d0e48cee53dc:
> 
>    virtio-net: don't handle mq request in userspace handler for vhost-vdpa (2022-05-16 04:38:40 -0400)
> 
> ----------------------------------------------------------------
> virtio,pc,pci: fixes,cleanups,features
> 
> most of CXL support
> virtio introspection commands
> fixes, cleanups all over the place
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

Fails to build:

https://gitlab.com/qemu-project/qemu/-/jobs/2463276202
https://gitlab.com/qemu-project/qemu/-/jobs/2463276291

libqemu-ppc64-softmmu.fa.p/hw_virtio_virtio.c.o: In function `qmp_decode_features':
/builds/qemu-project/qemu/build/../hw/virtio/virtio.c:4167: undefined reference to `gpu_map'
/builds/qemu-project/qemu/build/../hw/virtio/virtio.c:4167: undefined reference to `gpu_map'



r~
Re: [PULL 00/91] virtio,pc,pci: fixes,cleanups,features
Posted by Michael S. Tsirkin 1 year, 10 months ago
On Mon, May 16, 2022 at 12:01:55PM -0700, Richard Henderson wrote:
> On 5/16/22 03:35, Michael S. Tsirkin wrote:
> > The following changes since commit 9de5f2b40860c5f8295e73fea9922df6f0b8d89a:
> > 
> >    Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2022-05-12 10:52:15 -0700)
> > 
> > are available in the Git repository at:
> > 
> >    git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> > 
> > for you to fetch changes up to baebc5a4ab3ceef940887e3cc2f1d0e48cee53dc:
> > 
> >    virtio-net: don't handle mq request in userspace handler for vhost-vdpa (2022-05-16 04:38:40 -0400)
> > 
> > ----------------------------------------------------------------
> > virtio,pc,pci: fixes,cleanups,features
> > 
> > most of CXL support
> > virtio introspection commands
> > fixes, cleanups all over the place
> > 
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Fails to build:
> 
> https://gitlab.com/qemu-project/qemu/-/jobs/2463276202
> https://gitlab.com/qemu-project/qemu/-/jobs/2463276291
> 
> libqemu-ppc64-softmmu.fa.p/hw_virtio_virtio.c.o: In function `qmp_decode_features':
> /builds/qemu-project/qemu/build/../hw/virtio/virtio.c:4167: undefined reference to `gpu_map'
> /builds/qemu-project/qemu/build/../hw/virtio/virtio.c:4167: undefined reference to `gpu_map'
> 


Woa, weird. It certainly builds for me. Will research.

> 
> r~