[PATCH 00/11] hw/virtio: Build various target-agnostic objects just once

Philippe Mathieu-Daudé posted 11 patches 11 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230523163600.83391-1-philmd@linaro.org
Maintainers: Stefan Hajnoczi <stefanha@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Cornelia Huck <cohuck@redhat.com>, Halil Pasic <pasic@linux.ibm.com>, Eric Farman <farman@linux.ibm.com>, "Michael S. Tsirkin" <mst@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, David Hildenbrand <david@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Fam Zheng <fam@euphon.net>, Raphael Norwitz <raphael.norwitz@nutanix.com>, "Gonglei (Arei)" <arei.gonglei@huawei.com>, Eric Auger <eric.auger@redhat.com>, Peter Xu <peterx@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
There is a newer version of this series
include/exec/target_page.h      |  2 ++
hw/block/dataplane/virtio-blk.c |  1 -
hw/s390x/virtio-ccw.c           |  1 -
hw/scsi/vhost-scsi.c            |  1 -
hw/scsi/vhost-user-scsi.c       |  1 -
hw/scsi/virtio-scsi-dataplane.c |  1 -
hw/virtio/vdpa-dev.c            |  1 -
hw/virtio/vhost-vdpa.c          | 17 ++++++++---------
hw/virtio/vhost-vsock-common.c  |  2 +-
hw/virtio/vhost.c               |  1 -
hw/virtio/virtio-crypto.c       |  1 -
hw/virtio/virtio-iommu.c        |  4 ++--
hw/virtio/virtio-mem.c          |  3 +--
softmmu/physmem.c               | 10 ++++++++++
hw/block/dataplane/meson.build  |  2 +-
hw/scsi/Kconfig                 |  6 ++++++
hw/scsi/meson.build             | 19 ++++++++++++-------
hw/virtio/Kconfig               |  6 ++++++
hw/virtio/meson.build           | 17 ++++++++++-------
19 files changed, 59 insertions(+), 37 deletions(-)
[PATCH 00/11] hw/virtio: Build various target-agnostic objects just once
Posted by Philippe Mathieu-Daudé 11 months, 2 weeks ago
Less controvertial than my first approach [*] which caches
the access_is_big_endian value in VirtIODevice state, this
series just remove a unnecessary / pointless dependency on
"virtio-access.h", allowing to build various virtio objects
once for all targets.

First we introduce the qemu_target_page_mask() and _align()
helpers, similar to the _size() and _bits() equivalents,
then we mostly perform meson.build massages. Mostly trivial.

Last patch is RFC in case there is a performance issue.

https://lore.kernel.org/qemu-devel/20221212230517.28872-11-philmd@linaro.org/

Philippe Mathieu-Daudé (11):
  softmmu: Introduce qemu_target_page_mask/qemu_target_page_align
    helpers
  hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig
  hw/scsi: Rearrange meson.build
  hw/scsi: Rename target-specific source set as
    'specific_virtio_scsi_ss'
  hw/virtio: Introduce VHOST_VSOCK_COMMON symbol in Kconfig
  hw/virtio/virtio-mem: Use qemu_ram_get_fd() helper
  hw/virtio/vhost-vsock: Include missing 'virtio/virtio-bus.h' header
  hw/virtio/virtio-iommu: Use target-agnostic qemu_target_page_mask()
  hw/virtio: Remove unnecessary 'virtio-access.h' header
  hw/virtio: Build various target-agnostic objects just once
  hw/virtio: Make vhost-vdpa.c target-agnostic to build it once

 include/exec/target_page.h      |  2 ++
 hw/block/dataplane/virtio-blk.c |  1 -
 hw/s390x/virtio-ccw.c           |  1 -
 hw/scsi/vhost-scsi.c            |  1 -
 hw/scsi/vhost-user-scsi.c       |  1 -
 hw/scsi/virtio-scsi-dataplane.c |  1 -
 hw/virtio/vdpa-dev.c            |  1 -
 hw/virtio/vhost-vdpa.c          | 17 ++++++++---------
 hw/virtio/vhost-vsock-common.c  |  2 +-
 hw/virtio/vhost.c               |  1 -
 hw/virtio/virtio-crypto.c       |  1 -
 hw/virtio/virtio-iommu.c        |  4 ++--
 hw/virtio/virtio-mem.c          |  3 +--
 softmmu/physmem.c               | 10 ++++++++++
 hw/block/dataplane/meson.build  |  2 +-
 hw/scsi/Kconfig                 |  6 ++++++
 hw/scsi/meson.build             | 19 ++++++++++++-------
 hw/virtio/Kconfig               |  6 ++++++
 hw/virtio/meson.build           | 17 ++++++++++-------
 19 files changed, 59 insertions(+), 37 deletions(-)

-- 
2.38.1