All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once
@ 2023-05-24  9:37 Philippe Mathieu-Daudé
  2023-05-24  9:37 ` [PATCH v2 01/10] softmmu: Introduce qemu_target_page_mask() helper Philippe Mathieu-Daudé
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

All patches reviewed.

Since v1:
- Addressed Richard & Thomas review comments
  . qemu_target_page_align() dropped
  . qemu_target_page_mask() returns signed
  . meson shuffle
- Collected R-b/T-b/A-b tags
- Dropped vhost-vdpa patch (to be posted as another series)

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.

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

Philippe Mathieu-Daudé (10):
  softmmu: Introduce qemu_target_page_mask() helper
  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

 include/exec/target_page.h      |  1 +
 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          |  1 -
 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               |  5 +++++
 hw/block/dataplane/meson.build  |  2 +-
 hw/scsi/Kconfig                 |  6 ++++++
 hw/scsi/meson.build             | 20 +++++++++++++-------
 hw/virtio/Kconfig               |  6 ++++++
 hw/virtio/meson.build           | 14 ++++++++------
 19 files changed, 44 insertions(+), 28 deletions(-)

-- 
2.38.1



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v2 01/10] softmmu: Introduce qemu_target_page_mask() helper
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  2023-05-24 14:52   ` Richard Henderson
  2023-05-24 15:02   ` Alex Bennée
  2023-05-24  9:37 ` [PATCH v2 02/10] hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig Philippe Mathieu-Daudé
                   ` (8 subsequent siblings)
  9 siblings, 2 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

Since TARGET_PAGE_MASK is poisoned in target-agnostic code,
introduce the qemu_target_page_mask() helper to get this
value from target-agnostic code at runtime.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/exec/target_page.h | 1 +
 softmmu/physmem.c          | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/include/exec/target_page.h b/include/exec/target_page.h
index bbf37aea17..98ffbb5c23 100644
--- a/include/exec/target_page.h
+++ b/include/exec/target_page.h
@@ -15,6 +15,7 @@
 #define EXEC_TARGET_PAGE_H
 
 size_t qemu_target_page_size(void);
+int qemu_target_page_mask(void);
 int qemu_target_page_bits(void);
 int qemu_target_page_bits_min(void);
 
diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index 9d7e172260..8067742df0 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -3354,6 +3354,11 @@ size_t qemu_target_page_size(void)
     return TARGET_PAGE_SIZE;
 }
 
+int qemu_target_page_mask(void)
+{
+    return TARGET_PAGE_MASK;
+}
+
 int qemu_target_page_bits(void)
 {
     return TARGET_PAGE_BITS;
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 02/10] hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
  2023-05-24  9:37 ` [PATCH v2 01/10] softmmu: Introduce qemu_target_page_mask() helper Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  2023-05-24 15:02   ` Alex Bennée
  2023-05-24  9:37 ` [PATCH v2 03/10] hw/scsi: Rearrange meson.build Philippe Mathieu-Daudé
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

Instead of adding 'vhost-scsi-common.c' twice (for VHOST_SCSI and
VHOST_USER_SCSI), have it depend on VHOST_SCSI_COMMON, selected by
both symbols.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/scsi/Kconfig     | 6 ++++++
 hw/scsi/meson.build | 6 ++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
index e7b34dc8e2..1feab84c4c 100644
--- a/hw/scsi/Kconfig
+++ b/hw/scsi/Kconfig
@@ -48,13 +48,19 @@ config VIRTIO_SCSI
     depends on VIRTIO
     select SCSI
 
+config VHOST_SCSI_COMMON
+    bool
+    depends on VIRTIO
+
 config VHOST_SCSI
     bool
     default y
+    select VHOST_SCSI_COMMON
     depends on VIRTIO && VHOST_KERNEL
 
 config VHOST_USER_SCSI
     bool
     # Only PCI devices are provided for now
     default y if VIRTIO_PCI
+    select VHOST_SCSI_COMMON
     depends on VIRTIO && VHOST_USER && LINUX
diff --git a/hw/scsi/meson.build b/hw/scsi/meson.build
index 923a34f344..fa9198e69f 100644
--- a/hw/scsi/meson.build
+++ b/hw/scsi/meson.build
@@ -17,8 +17,10 @@ specific_scsi_ss = ss.source_set()
 
 virtio_scsi_ss = ss.source_set()
 virtio_scsi_ss.add(files('virtio-scsi.c', 'virtio-scsi-dataplane.c'))
-virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi-common.c', 'vhost-scsi.c'))
-virtio_scsi_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-scsi-common.c', 'vhost-user-scsi.c'))
+
+virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI_COMMON', if_true: files('vhost-scsi-common.c'))
+virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi.c'))
+virtio_scsi_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-user-scsi.c'))
 specific_scsi_ss.add_all(when: 'CONFIG_VIRTIO_SCSI', if_true: virtio_scsi_ss)
 
 specific_scsi_ss.add(when: 'CONFIG_SPAPR_VSCSI', if_true: files('spapr_vscsi.c'))
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 03/10] hw/scsi: Rearrange meson.build
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
  2023-05-24  9:37 ` [PATCH v2 01/10] softmmu: Introduce qemu_target_page_mask() helper Philippe Mathieu-Daudé
  2023-05-24  9:37 ` [PATCH v2 02/10] hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  2023-05-24  9:41   ` Thomas Huth
  2023-05-24 15:06   ` Alex Bennée
  2023-05-24  9:37 ` [PATCH v2 04/10] hw/scsi: Rename target-specific source set as 'specific_virtio_scsi_ss' Philippe Mathieu-Daudé
                   ` (6 subsequent siblings)
  9 siblings, 2 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

We will modify this file shortly. Re-arrange it slightly first,
declaring source sets first.

No logical change.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/scsi/meson.build | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/hw/scsi/meson.build b/hw/scsi/meson.build
index fa9198e69f..f2da0bc5ae 100644
--- a/hw/scsi/meson.build
+++ b/hw/scsi/meson.build
@@ -1,4 +1,7 @@
 scsi_ss = ss.source_set()
+specific_scsi_ss = ss.source_set()
+virtio_scsi_ss = ss.source_set()
+
 scsi_ss.add(files(
   'emulation.c',
   'scsi-bus.c',
@@ -11,18 +14,15 @@ scsi_ss.add(when: 'CONFIG_LSI_SCSI_PCI', if_true: files('lsi53c895a.c'))
 scsi_ss.add(when: 'CONFIG_MEGASAS_SCSI_PCI', if_true: files('megasas.c'))
 scsi_ss.add(when: 'CONFIG_MPTSAS_SCSI_PCI', if_true: files('mptsas.c', 'mptconfig.c', 'mptendian.c'))
 scsi_ss.add(when: 'CONFIG_VMW_PVSCSI_SCSI_PCI', if_true: files('vmw_pvscsi.c'))
-softmmu_ss.add_all(when: 'CONFIG_SCSI', if_true: scsi_ss)
 
-specific_scsi_ss = ss.source_set()
-
-virtio_scsi_ss = ss.source_set()
 virtio_scsi_ss.add(files('virtio-scsi.c', 'virtio-scsi-dataplane.c'))
-
 virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI_COMMON', if_true: files('vhost-scsi-common.c'))
 virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi.c'))
 virtio_scsi_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-user-scsi.c'))
+
 specific_scsi_ss.add_all(when: 'CONFIG_VIRTIO_SCSI', if_true: virtio_scsi_ss)
 
 specific_scsi_ss.add(when: 'CONFIG_SPAPR_VSCSI', if_true: files('spapr_vscsi.c'))
 
+softmmu_ss.add_all(when: 'CONFIG_SCSI', if_true: scsi_ss)
 specific_ss.add_all(when: 'CONFIG_SCSI', if_true: specific_scsi_ss)
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 04/10] hw/scsi: Rename target-specific source set as 'specific_virtio_scsi_ss'
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2023-05-24  9:37 ` [PATCH v2 03/10] hw/scsi: Rearrange meson.build Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  2023-05-24  9:41   ` Thomas Huth
  2023-05-24  9:37 ` [PATCH v2 05/10] hw/virtio: Introduce VHOST_VSOCK_COMMON symbol in Kconfig Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

Following the SCSI variable named '[specific_]scsi_ss', rename the
target-specific VirtIO/SCSI set prefixed with 'specific_'. This will
help when adding target-agnostic VirtIO/SCSI set in few commits.

No logical change.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/scsi/meson.build | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/hw/scsi/meson.build b/hw/scsi/meson.build
index f2da0bc5ae..bde72df19c 100644
--- a/hw/scsi/meson.build
+++ b/hw/scsi/meson.build
@@ -1,6 +1,6 @@
 scsi_ss = ss.source_set()
 specific_scsi_ss = ss.source_set()
-virtio_scsi_ss = ss.source_set()
+specific_virtio_scsi_ss = ss.source_set()
 
 scsi_ss.add(files(
   'emulation.c',
@@ -15,12 +15,12 @@ scsi_ss.add(when: 'CONFIG_MEGASAS_SCSI_PCI', if_true: files('megasas.c'))
 scsi_ss.add(when: 'CONFIG_MPTSAS_SCSI_PCI', if_true: files('mptsas.c', 'mptconfig.c', 'mptendian.c'))
 scsi_ss.add(when: 'CONFIG_VMW_PVSCSI_SCSI_PCI', if_true: files('vmw_pvscsi.c'))
 
-virtio_scsi_ss.add(files('virtio-scsi.c', 'virtio-scsi-dataplane.c'))
-virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI_COMMON', if_true: files('vhost-scsi-common.c'))
-virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi.c'))
-virtio_scsi_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-user-scsi.c'))
+specific_virtio_scsi_ss.add(files('virtio-scsi.c', 'virtio-scsi-dataplane.c'))
+specific_virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI_COMMON', if_true: files('vhost-scsi-common.c'))
+specific_virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi.c'))
+specific_virtio_scsi_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-user-scsi.c'))
 
-specific_scsi_ss.add_all(when: 'CONFIG_VIRTIO_SCSI', if_true: virtio_scsi_ss)
+specific_scsi_ss.add_all(when: 'CONFIG_VIRTIO_SCSI', if_true: specific_virtio_scsi_ss)
 
 specific_scsi_ss.add(when: 'CONFIG_SPAPR_VSCSI', if_true: files('spapr_vscsi.c'))
 
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 05/10] hw/virtio: Introduce VHOST_VSOCK_COMMON symbol in Kconfig
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2023-05-24  9:37 ` [PATCH v2 04/10] hw/scsi: Rename target-specific source set as 'specific_virtio_scsi_ss' Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  2023-05-24 15:02   ` Alex Bennée
  2023-05-26 12:28   ` Stefano Garzarella
  2023-05-24  9:37 ` [PATCH v2 06/10] hw/virtio/virtio-mem: Use qemu_ram_get_fd() helper Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  9 siblings, 2 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

Instead of adding 'vhost-vsock-common.c' twice (for VHOST_VSOCK
and VHOST_USER_VSOCK), have it depend on VHOST_VSOCK_COMMON,
selected by both symbols.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 hw/virtio/Kconfig     | 6 ++++++
 hw/virtio/meson.build | 5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/hw/virtio/Kconfig b/hw/virtio/Kconfig
index 89e9e426d8..de7a35429a 100644
--- a/hw/virtio/Kconfig
+++ b/hw/virtio/Kconfig
@@ -56,14 +56,20 @@ config VIRTIO_MEM
     depends on VIRTIO_MEM_SUPPORTED
     select MEM_DEVICE
 
+config VHOST_VSOCK_COMMON
+    bool
+    depends on VIRTIO
+
 config VHOST_VSOCK
     bool
     default y
+    select VHOST_VSOCK_COMMON
     depends on VIRTIO && VHOST_KERNEL
 
 config VHOST_USER_VSOCK
     bool
     default y
+    select VHOST_VSOCK_COMMON
     depends on VIRTIO && VHOST_USER
 
 config VHOST_USER_I2C
diff --git a/hw/virtio/meson.build b/hw/virtio/meson.build
index bdec78bfc6..54c90c24fb 100644
--- a/hw/virtio/meson.build
+++ b/hw/virtio/meson.build
@@ -23,8 +23,9 @@ specific_virtio_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virtio-bal
 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-crypto.c'))
 specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost-user-fs.c'))
 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_PMEM', if_true: files('virtio-pmem.c'))
-specific_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vsock.c', 'vhost-vsock-common.c'))
-specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_VSOCK', if_true: files('vhost-user-vsock.c', 'vhost-vsock-common.c'))
+specific_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK_COMMON', if_true: files('vhost-vsock-common.c'))
+specific_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vsock.c'))
+specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_VSOCK', if_true: files('vhost-user-vsock.c'))
 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-rng.c'))
 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-iommu.c'))
 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_MEM', if_true: files('virtio-mem.c'))
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 06/10] hw/virtio/virtio-mem: Use qemu_ram_get_fd() helper
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2023-05-24  9:37 ` [PATCH v2 05/10] hw/virtio: Introduce VHOST_VSOCK_COMMON symbol in Kconfig Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  2023-05-24 15:03   ` Alex Bennée
  2023-05-24  9:37 ` [PATCH v2 07/10] hw/virtio/vhost-vsock: Include missing 'virtio/virtio-bus.h' header Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

Avoid accessing RAMBlock internals, use the provided
qemu_ram_get_fd() getter to get the file descriptor.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/virtio/virtio-mem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
index 538b695c29..74e63bd47a 100644
--- a/hw/virtio/virtio-mem.c
+++ b/hw/virtio/virtio-mem.c
@@ -135,7 +135,7 @@ static bool virtio_mem_has_shared_zeropage(RAMBlock *rb)
      * anonymous RAM. In any other case, reading unplugged *can* populate a
      * fresh page, consuming actual memory.
      */
-    return !qemu_ram_is_shared(rb) && rb->fd < 0 &&
+    return !qemu_ram_is_shared(rb) && qemu_ram_get_fd(rb) < 0 &&
            qemu_ram_pagesize(rb) == qemu_real_host_page_size();
 }
 #endif /* VIRTIO_MEM_HAS_LEGACY_GUESTS */
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 07/10] hw/virtio/vhost-vsock: Include missing 'virtio/virtio-bus.h' header
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
                   ` (5 preceding siblings ...)
  2023-05-24  9:37 ` [PATCH v2 06/10] hw/virtio/virtio-mem: Use qemu_ram_get_fd() helper Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  2023-05-24 15:04   ` Alex Bennée
  2023-05-26 12:29   ` Stefano Garzarella
  2023-05-24  9:37 ` [PATCH v2 08/10] hw/virtio/virtio-iommu: Use target-agnostic qemu_target_page_mask() Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  9 siblings, 2 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

Instead of having "virtio/virtio-bus.h" implicitly included,
explicitly include it, to avoid when rearranging headers:

  hw/virtio/vhost-vsock-common.c: In function ‘vhost_vsock_common_start’:
  hw/virtio/vhost-vsock-common.c:51:5: error: unknown type name ‘VirtioBusClass’; did you mean ‘VirtioDeviceClass’?
     51 |     VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
        |     ^~~~~~~~~~~~~~
        |     VirtioDeviceClass
  hw/virtio/vhost-vsock-common.c:51:25: error: implicit declaration of function ‘VIRTIO_BUS_GET_CLASS’; did you mean ‘VIRTIO_DEVICE_CLASS’? [-Werror=implicit-function-declaration]
     51 |     VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
        |                         ^~~~~~~~~~~~~~~~~~~~
        |                         VIRTIO_DEVICE_CLASS

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 hw/virtio/vhost-vsock-common.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/virtio/vhost-vsock-common.c b/hw/virtio/vhost-vsock-common.c
index d2b5519d5a..e89af9b329 100644
--- a/hw/virtio/vhost-vsock-common.c
+++ b/hw/virtio/vhost-vsock-common.c
@@ -11,6 +11,7 @@
 #include "qemu/osdep.h"
 #include "standard-headers/linux/virtio_vsock.h"
 #include "qapi/error.h"
+#include "hw/virtio/virtio-bus.h"
 #include "hw/virtio/virtio-access.h"
 #include "qemu/error-report.h"
 #include "hw/qdev-properties.h"
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 08/10] hw/virtio/virtio-iommu: Use target-agnostic qemu_target_page_mask()
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
                   ` (6 preceding siblings ...)
  2023-05-24  9:37 ` [PATCH v2 07/10] hw/virtio/vhost-vsock: Include missing 'virtio/virtio-bus.h' header Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  2023-05-24 15:04   ` Alex Bennée
  2023-05-24  9:37 ` [PATCH v2 09/10] hw/virtio: Remove unnecessary 'virtio-access.h' header Philippe Mathieu-Daudé
  2023-05-24  9:37 ` [PATCH v2 10/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
  9 siblings, 1 reply; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

In order to have virtio-iommu.c become target-agnostic,
we need to avoid using TARGET_PAGE_MASK. Get it with the
qemu_target_page_mask() helper.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
---
 hw/virtio/virtio-iommu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c
index 1cd258135d..85905a9e3d 100644
--- a/hw/virtio/virtio-iommu.c
+++ b/hw/virtio/virtio-iommu.c
@@ -20,6 +20,7 @@
 #include "qemu/osdep.h"
 #include "qemu/log.h"
 #include "qemu/iov.h"
+#include "exec/target_page.h"
 #include "hw/qdev-properties.h"
 #include "hw/virtio/virtio.h"
 #include "sysemu/kvm.h"
@@ -1164,7 +1165,7 @@ static void virtio_iommu_device_realize(DeviceState *dev, Error **errp)
      * in vfio realize
      */
     s->config.bypass = s->boot_bypass;
-    s->config.page_size_mask = TARGET_PAGE_MASK;
+    s->config.page_size_mask = qemu_target_page_mask();
     s->config.input_range.end = UINT64_MAX;
     s->config.domain_range.end = UINT32_MAX;
     s->config.probe_size = VIOMMU_PROBE_SIZE;
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 09/10] hw/virtio: Remove unnecessary 'virtio-access.h' header
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
                   ` (7 preceding siblings ...)
  2023-05-24  9:37 ` [PATCH v2 08/10] hw/virtio/virtio-iommu: Use target-agnostic qemu_target_page_mask() Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  2023-05-24 15:05   ` Alex Bennée
  2023-05-24  9:37 ` [PATCH v2 10/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
  9 siblings, 1 reply; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

None of these files use the VirtIO Load/Store API declared
by "hw/virtio/virtio-access.h". This header probably crept
in via copy/pasting, remove it.

Note, "virtio-access.h" is target-specific, so any file
including it also become tainted as target-specific.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Thomas Huth <thuth@redhat.com>
---
 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          | 1 -
 hw/virtio/vhost-vsock-common.c  | 1 -
 hw/virtio/vhost.c               | 1 -
 hw/virtio/virtio-crypto.c       | 1 -
 hw/virtio/virtio-iommu.c        | 1 -
 hw/virtio/virtio-mem.c          | 1 -
 12 files changed, 12 deletions(-)

diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index af1c24c40c..03ecb51664 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -19,7 +19,6 @@
 #include "qemu/main-loop.h"
 #include "qemu/thread.h"
 #include "qemu/error-report.h"
-#include "hw/virtio/virtio-access.h"
 #include "hw/virtio/virtio-blk.h"
 #include "virtio-blk.h"
 #include "block/aio.h"
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index f44de1a8c1..17c548b84f 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -22,7 +22,6 @@
 #include "qemu/error-report.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
-#include "hw/virtio/virtio-access.h"
 #include "hw/virtio/virtio-bus.h"
 #include "hw/s390x/adapter.h"
 #include "hw/s390x/s390_flic.h"
diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c
index 6a0fd0dfb1..443f67daa4 100644
--- a/hw/scsi/vhost-scsi.c
+++ b/hw/scsi/vhost-scsi.c
@@ -26,7 +26,6 @@
 #include "hw/virtio/vhost.h"
 #include "hw/virtio/virtio-scsi.h"
 #include "hw/virtio/virtio-bus.h"
-#include "hw/virtio/virtio-access.h"
 #include "hw/fw-path-provider.h"
 #include "hw/qdev-properties.h"
 #include "qemu/cutils.h"
diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c
index b7a71a802c..ee99b19e7a 100644
--- a/hw/scsi/vhost-user-scsi.c
+++ b/hw/scsi/vhost-user-scsi.c
@@ -26,7 +26,6 @@
 #include "hw/virtio/vhost-backend.h"
 #include "hw/virtio/vhost-user-scsi.h"
 #include "hw/virtio/virtio.h"
-#include "hw/virtio/virtio-access.h"
 #include "chardev/char-fe.h"
 #include "sysemu/sysemu.h"
 
diff --git a/hw/scsi/virtio-scsi-dataplane.c b/hw/scsi/virtio-scsi-dataplane.c
index f3214e1c57..21344c7cfe 100644
--- a/hw/scsi/virtio-scsi-dataplane.c
+++ b/hw/scsi/virtio-scsi-dataplane.c
@@ -19,7 +19,6 @@
 #include "hw/scsi/scsi.h"
 #include "scsi/constants.h"
 #include "hw/virtio/virtio-bus.h"
-#include "hw/virtio/virtio-access.h"
 
 /* Context: QEMU global mutex held */
 void virtio_scsi_dataplane_setup(VirtIOSCSI *s, Error **errp)
diff --git a/hw/virtio/vdpa-dev.c b/hw/virtio/vdpa-dev.c
index 01b41eb0f1..e08e830006 100644
--- a/hw/virtio/vdpa-dev.c
+++ b/hw/virtio/vdpa-dev.c
@@ -25,7 +25,6 @@
 #include "hw/virtio/vhost.h"
 #include "hw/virtio/virtio.h"
 #include "hw/virtio/virtio-bus.h"
-#include "hw/virtio/virtio-access.h"
 #include "hw/virtio/vdpa-dev.h"
 #include "sysemu/sysemu.h"
 #include "sysemu/runstate.h"
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
index b3094e8a8b..3c575a9a6e 100644
--- a/hw/virtio/vhost-vdpa.c
+++ b/hw/virtio/vhost-vdpa.c
@@ -26,7 +26,6 @@
 #include "cpu.h"
 #include "trace.h"
 #include "qapi/error.h"
-#include "hw/virtio/virtio-access.h"
 
 /*
  * Return one past the end of the end of section. Be careful with uint64_t
diff --git a/hw/virtio/vhost-vsock-common.c b/hw/virtio/vhost-vsock-common.c
index e89af9b329..321262f6b3 100644
--- a/hw/virtio/vhost-vsock-common.c
+++ b/hw/virtio/vhost-vsock-common.c
@@ -12,7 +12,6 @@
 #include "standard-headers/linux/virtio_vsock.h"
 #include "qapi/error.h"
 #include "hw/virtio/virtio-bus.h"
-#include "hw/virtio/virtio-access.h"
 #include "qemu/error-report.h"
 #include "hw/qdev-properties.h"
 #include "hw/virtio/vhost.h"
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index 23da579ce2..7f3c727777 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -23,7 +23,6 @@
 #include "qemu/log.h"
 #include "standard-headers/linux/vhost_types.h"
 #include "hw/virtio/virtio-bus.h"
-#include "hw/virtio/virtio-access.h"
 #include "migration/blocker.h"
 #include "migration/qemu-file-types.h"
 #include "sysemu/dma.h"
diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c
index c729a1f79e..a6d7e1e8ec 100644
--- a/hw/virtio/virtio-crypto.c
+++ b/hw/virtio/virtio-crypto.c
@@ -21,7 +21,6 @@
 #include "hw/virtio/virtio.h"
 #include "hw/virtio/virtio-crypto.h"
 #include "hw/qdev-properties.h"
-#include "hw/virtio/virtio-access.h"
 #include "standard-headers/linux/virtio_ids.h"
 #include "sysemu/cryptodev-vhost.h"
 
diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c
index 85905a9e3d..1bbad23f4a 100644
--- a/hw/virtio/virtio-iommu.c
+++ b/hw/virtio/virtio-iommu.c
@@ -32,7 +32,6 @@
 #include "standard-headers/linux/virtio_ids.h"
 
 #include "hw/virtio/virtio-bus.h"
-#include "hw/virtio/virtio-access.h"
 #include "hw/virtio/virtio-iommu.h"
 #include "hw/pci/pci_bus.h"
 #include "hw/pci/pci.h"
diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
index 74e63bd47a..12ea58d5ad 100644
--- a/hw/virtio/virtio-mem.c
+++ b/hw/virtio/virtio-mem.c
@@ -20,7 +20,6 @@
 #include "sysemu/reset.h"
 #include "hw/virtio/virtio.h"
 #include "hw/virtio/virtio-bus.h"
-#include "hw/virtio/virtio-access.h"
 #include "hw/virtio/virtio-mem.h"
 #include "qapi/error.h"
 #include "qapi/visitor.h"
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 10/10] hw/virtio: Build various target-agnostic objects just once
  2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
                   ` (8 preceding siblings ...)
  2023-05-24  9:37 ` [PATCH v2 09/10] hw/virtio: Remove unnecessary 'virtio-access.h' header Philippe Mathieu-Daudé
@ 2023-05-24  9:37 ` Philippe Mathieu-Daudé
  9 siblings, 0 replies; 24+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-05-24  9:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson,
	Philippe Mathieu-Daudé, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

The previous commit remove the unnecessary "virtio-access.h"
header. These files no longer have target-specific dependency.
Move them to the generic 'softmmu_ss' source set.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 hw/block/dataplane/meson.build |  2 +-
 hw/scsi/meson.build            | 10 +++++++---
 hw/virtio/meson.build          | 11 ++++++-----
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/hw/block/dataplane/meson.build b/hw/block/dataplane/meson.build
index 78d7ac1a11..dec73e7486 100644
--- a/hw/block/dataplane/meson.build
+++ b/hw/block/dataplane/meson.build
@@ -1,2 +1,2 @@
-specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c'))
+softmmu_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c'))
 specific_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
diff --git a/hw/scsi/meson.build b/hw/scsi/meson.build
index bde72df19c..4c8fa50783 100644
--- a/hw/scsi/meson.build
+++ b/hw/scsi/meson.build
@@ -1,5 +1,6 @@
 scsi_ss = ss.source_set()
 specific_scsi_ss = ss.source_set()
+virtio_scsi_ss = ss.source_set()
 specific_virtio_scsi_ss = ss.source_set()
 
 scsi_ss.add(files(
@@ -15,12 +16,15 @@ scsi_ss.add(when: 'CONFIG_MEGASAS_SCSI_PCI', if_true: files('megasas.c'))
 scsi_ss.add(when: 'CONFIG_MPTSAS_SCSI_PCI', if_true: files('mptsas.c', 'mptconfig.c', 'mptendian.c'))
 scsi_ss.add(when: 'CONFIG_VMW_PVSCSI_SCSI_PCI', if_true: files('vmw_pvscsi.c'))
 
-specific_virtio_scsi_ss.add(files('virtio-scsi.c', 'virtio-scsi-dataplane.c'))
+virtio_scsi_ss.add(files('virtio-scsi-dataplane.c'))
+virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi.c'))
+virtio_scsi_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-user-scsi.c'))
+
+specific_virtio_scsi_ss.add(files('virtio-scsi.c'))
 specific_virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI_COMMON', if_true: files('vhost-scsi-common.c'))
-specific_virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi.c'))
-specific_virtio_scsi_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-user-scsi.c'))
 
 specific_scsi_ss.add_all(when: 'CONFIG_VIRTIO_SCSI', if_true: specific_virtio_scsi_ss)
+scsi_ss.add_all(when: 'CONFIG_VIRTIO_SCSI', if_true: virtio_scsi_ss)
 
 specific_scsi_ss.add(when: 'CONFIG_SPAPR_VSCSI', if_true: files('spapr_vscsi.c'))
 
diff --git a/hw/virtio/meson.build b/hw/virtio/meson.build
index 54c90c24fb..16e64e1cf1 100644
--- a/hw/virtio/meson.build
+++ b/hw/virtio/meson.build
@@ -2,13 +2,18 @@ softmmu_virtio_ss = ss.source_set()
 softmmu_virtio_ss.add(files('virtio-bus.c'))
 softmmu_virtio_ss.add(when: 'CONFIG_VIRTIO_PCI', if_true: files('virtio-pci.c'))
 softmmu_virtio_ss.add(when: 'CONFIG_VIRTIO_MMIO', if_true: files('virtio-mmio.c'))
+softmmu_virtio_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-crypto.c'))
+softmmu_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK_COMMON', if_true: files('vhost-vsock-common.c'))
+softmmu_virtio_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-iommu.c'))
+softmmu_virtio_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_true: files('vdpa-dev.c'))
 
 specific_virtio_ss = ss.source_set()
 specific_virtio_ss.add(files('virtio.c'))
 specific_virtio_ss.add(files('virtio-config-io.c', 'virtio-qmp.c'))
 
 if have_vhost
-  specific_virtio_ss.add(files('vhost.c', 'vhost-backend.c', 'vhost-iova-tree.c'))
+  softmmu_virtio_ss.add(files('vhost.c'))
+  specific_virtio_ss.add(files('vhost-backend.c', 'vhost-iova-tree.c'))
   if have_vhost_user
     specific_virtio_ss.add(files('vhost-user.c'))
   endif
@@ -20,20 +25,16 @@ else
 endif
 
 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virtio-balloon.c'))
-specific_virtio_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-crypto.c'))
 specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost-user-fs.c'))
 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_PMEM', if_true: files('virtio-pmem.c'))
-specific_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK_COMMON', if_true: files('vhost-vsock-common.c'))
 specific_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vsock.c'))
 specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_VSOCK', if_true: files('vhost-user-vsock.c'))
 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-rng.c'))
-specific_virtio_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-iommu.c'))
 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_MEM', if_true: files('virtio-mem.c'))
 specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_I2C', if_true: files('vhost-user-i2c.c'))
 specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_RNG', if_true: files('vhost-user-rng.c'))
 specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_GPIO', if_true: files('vhost-user-gpio.c'))
 specific_virtio_ss.add(when: ['CONFIG_VIRTIO_PCI', 'CONFIG_VHOST_USER_GPIO'], if_true: files('vhost-user-gpio-pci.c'))
-specific_virtio_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_true: files('vdpa-dev.c'))
 
 virtio_pci_ss = ss.source_set()
 virtio_pci_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vsock-pci.c'))
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 03/10] hw/scsi: Rearrange meson.build
  2023-05-24  9:37 ` [PATCH v2 03/10] hw/scsi: Rearrange meson.build Philippe Mathieu-Daudé
@ 2023-05-24  9:41   ` Thomas Huth
  2023-05-24 15:06   ` Alex Bennée
  1 sibling, 0 replies; 24+ messages in thread
From: Thomas Huth @ 2023-05-24  9:41 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Fam Zheng, Paolo Bonzini, Eric Farman, Peter Xu, Hanna Reitz,
	Christian Borntraeger, Michael S. Tsirkin, Raphael Norwitz,
	Ilya Leoshkevich, Richard Henderson, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

On 24/05/2023 11.37, Philippe Mathieu-Daudé wrote:
> We will modify this file shortly. Re-arrange it slightly first,
> declaring source sets first.
> 
> No logical change.
> 
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/scsi/meson.build | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 04/10] hw/scsi: Rename target-specific source set as 'specific_virtio_scsi_ss'
  2023-05-24  9:37 ` [PATCH v2 04/10] hw/scsi: Rename target-specific source set as 'specific_virtio_scsi_ss' Philippe Mathieu-Daudé
@ 2023-05-24  9:41   ` Thomas Huth
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Huth @ 2023-05-24  9:41 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Fam Zheng, Paolo Bonzini, Eric Farman, Peter Xu, Hanna Reitz,
	Christian Borntraeger, Michael S. Tsirkin, Raphael Norwitz,
	Ilya Leoshkevich, Richard Henderson, Eric Auger, Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

On 24/05/2023 11.37, Philippe Mathieu-Daudé wrote:
> Following the SCSI variable named '[specific_]scsi_ss', rename the
> target-specific VirtIO/SCSI set prefixed with 'specific_'. This will
> help when adding target-agnostic VirtIO/SCSI set in few commits.
> 
> No logical change.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   hw/scsi/meson.build | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>




^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 01/10] softmmu: Introduce qemu_target_page_mask() helper
  2023-05-24  9:37 ` [PATCH v2 01/10] softmmu: Introduce qemu_target_page_mask() helper Philippe Mathieu-Daudé
@ 2023-05-24 14:52   ` Richard Henderson
  2023-05-24 15:02   ` Alex Bennée
  1 sibling, 0 replies; 24+ messages in thread
From: Richard Henderson @ 2023-05-24 14:52 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel

On 5/24/23 02:37, Philippe Mathieu-Daudé wrote:
> Since TARGET_PAGE_MASK is poisoned in target-agnostic code,
> introduce the qemu_target_page_mask() helper to get this
> value from target-agnostic code at runtime.
> 
> Reviewed-by: Thomas Huth<thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé<philmd@linaro.org>
> ---
>   include/exec/target_page.h | 1 +
>   softmmu/physmem.c          | 5 +++++
>   2 files changed, 6 insertions(+)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 01/10] softmmu: Introduce qemu_target_page_mask() helper
  2023-05-24  9:37 ` [PATCH v2 01/10] softmmu: Introduce qemu_target_page_mask() helper Philippe Mathieu-Daudé
  2023-05-24 14:52   ` Richard Henderson
@ 2023-05-24 15:02   ` Alex Bennée
  1 sibling, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2023-05-24 15:02 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf, qemu-devel


Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> Since TARGET_PAGE_MASK is poisoned in target-agnostic code,
> introduce the qemu_target_page_mask() helper to get this
> value from target-agnostic code at runtime.
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 02/10] hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig
  2023-05-24  9:37 ` [PATCH v2 02/10] hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig Philippe Mathieu-Daudé
@ 2023-05-24 15:02   ` Alex Bennée
  0 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2023-05-24 15:02 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf, qemu-devel


Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> Instead of adding 'vhost-scsi-common.c' twice (for VHOST_SCSI and
> VHOST_USER_SCSI), have it depend on VHOST_SCSI_COMMON, selected by
> both symbols.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 05/10] hw/virtio: Introduce VHOST_VSOCK_COMMON symbol in Kconfig
  2023-05-24  9:37 ` [PATCH v2 05/10] hw/virtio: Introduce VHOST_VSOCK_COMMON symbol in Kconfig Philippe Mathieu-Daudé
@ 2023-05-24 15:02   ` Alex Bennée
  2023-05-26 12:28   ` Stefano Garzarella
  1 sibling, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2023-05-24 15:02 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf, qemu-devel


Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> Instead of adding 'vhost-vsock-common.c' twice (for VHOST_VSOCK
> and VHOST_USER_VSOCK), have it depend on VHOST_VSOCK_COMMON,
> selected by both symbols.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 06/10] hw/virtio/virtio-mem: Use qemu_ram_get_fd() helper
  2023-05-24  9:37 ` [PATCH v2 06/10] hw/virtio/virtio-mem: Use qemu_ram_get_fd() helper Philippe Mathieu-Daudé
@ 2023-05-24 15:03   ` Alex Bennée
  0 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2023-05-24 15:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf, qemu-devel


Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> Avoid accessing RAMBlock internals, use the provided
> qemu_ram_get_fd() getter to get the file descriptor.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: David Hildenbrand <david@redhat.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 07/10] hw/virtio/vhost-vsock: Include missing 'virtio/virtio-bus.h' header
  2023-05-24  9:37 ` [PATCH v2 07/10] hw/virtio/vhost-vsock: Include missing 'virtio/virtio-bus.h' header Philippe Mathieu-Daudé
@ 2023-05-24 15:04   ` Alex Bennée
  2023-05-26 12:29   ` Stefano Garzarella
  1 sibling, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2023-05-24 15:04 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf, qemu-devel


Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> Instead of having "virtio/virtio-bus.h" implicitly included,
> explicitly include it, to avoid when rearranging headers:
>
>   hw/virtio/vhost-vsock-common.c: In function ‘vhost_vsock_common_start’:
>   hw/virtio/vhost-vsock-common.c:51:5: error: unknown type name ‘VirtioBusClass’; did you mean ‘VirtioDeviceClass’?
>      51 |     VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
>         |     ^~~~~~~~~~~~~~
>         |     VirtioDeviceClass
>   hw/virtio/vhost-vsock-common.c:51:25: error: implicit declaration of
> function ‘VIRTIO_BUS_GET_CLASS’; did you mean ‘VIRTIO_DEVICE_CLASS’?
> [-Werror=implicit-function-declaration]
>      51 |     VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
>         |                         ^~~~~~~~~~~~~~~~~~~~
>         |                         VIRTIO_DEVICE_CLASS
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> ---
>  hw/virtio/vhost-vsock-common.c | 1 +
>  1 file changed, 1 insertion(+)
-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 08/10] hw/virtio/virtio-iommu: Use target-agnostic qemu_target_page_mask()
  2023-05-24  9:37 ` [PATCH v2 08/10] hw/virtio/virtio-iommu: Use target-agnostic qemu_target_page_mask() Philippe Mathieu-Daudé
@ 2023-05-24 15:04   ` Alex Bennée
  0 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2023-05-24 15:04 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf, qemu-devel


Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> In order to have virtio-iommu.c become target-agnostic,
> we need to avoid using TARGET_PAGE_MASK. Get it with the
> qemu_target_page_mask() helper.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Eric Auger <eric.auger@redhat.com>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 09/10] hw/virtio: Remove unnecessary 'virtio-access.h' header
  2023-05-24  9:37 ` [PATCH v2 09/10] hw/virtio: Remove unnecessary 'virtio-access.h' header Philippe Mathieu-Daudé
@ 2023-05-24 15:05   ` Alex Bennée
  0 siblings, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2023-05-24 15:05 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf, qemu-devel


Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> None of these files use the VirtIO Load/Store API declared
> by "hw/virtio/virtio-access.h". This header probably crept
> in via copy/pasting, remove it.
>
> Note, "virtio-access.h" is target-specific, so any file
> including it also become tainted as target-specific.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Acked-by: Richard Henderson <richard.henderson@linaro.org>
> Tested-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 03/10] hw/scsi: Rearrange meson.build
  2023-05-24  9:37 ` [PATCH v2 03/10] hw/scsi: Rearrange meson.build Philippe Mathieu-Daudé
  2023-05-24  9:41   ` Thomas Huth
@ 2023-05-24 15:06   ` Alex Bennée
  1 sibling, 0 replies; 24+ messages in thread
From: Alex Bennée @ 2023-05-24 15:06 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman, Peter Xu,
	Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf, qemu-devel


Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> We will modify this file shortly. Re-arrange it slightly first,
> declaring source sets first.
>
> No logical change.
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 05/10] hw/virtio: Introduce VHOST_VSOCK_COMMON symbol in Kconfig
  2023-05-24  9:37 ` [PATCH v2 05/10] hw/virtio: Introduce VHOST_VSOCK_COMMON symbol in Kconfig Philippe Mathieu-Daudé
  2023-05-24 15:02   ` Alex Bennée
@ 2023-05-26 12:28   ` Stefano Garzarella
  1 sibling, 0 replies; 24+ messages in thread
From: Stefano Garzarella @ 2023-05-26 12:28 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman,
	Peter Xu, Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

On Wed, May 24, 2023 at 11:37:39AM +0200, Philippe Mathieu-Daudé wrote:
>Instead of adding 'vhost-vsock-common.c' twice (for VHOST_VSOCK
>and VHOST_USER_VSOCK), have it depend on VHOST_VSOCK_COMMON,
>selected by both symbols.
>
>Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>Reviewed-by: Thomas Huth <thuth@redhat.com>
>---
> hw/virtio/Kconfig     | 6 ++++++
> hw/virtio/meson.build | 5 +++--
> 2 files changed, 9 insertions(+), 2 deletions(-)

Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 07/10] hw/virtio/vhost-vsock: Include missing 'virtio/virtio-bus.h' header
  2023-05-24  9:37 ` [PATCH v2 07/10] hw/virtio/vhost-vsock: Include missing 'virtio/virtio-bus.h' header Philippe Mathieu-Daudé
  2023-05-24 15:04   ` Alex Bennée
@ 2023-05-26 12:29   ` Stefano Garzarella
  1 sibling, 0 replies; 24+ messages in thread
From: Stefano Garzarella @ 2023-05-26 12:29 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Fam Zheng, Thomas Huth, Paolo Bonzini, Eric Farman,
	Peter Xu, Hanna Reitz, Christian Borntraeger, Michael S. Tsirkin,
	Raphael Norwitz, Ilya Leoshkevich, Richard Henderson, Eric Auger,
	Gonglei (Arei),
	David Hildenbrand, Stefan Hajnoczi, qemu-s390x, Cornelia Huck,
	Halil Pasic, qemu-block, Kevin Wolf

On Wed, May 24, 2023 at 11:37:41AM +0200, Philippe Mathieu-Daudé wrote:
>Instead of having "virtio/virtio-bus.h" implicitly included,
>explicitly include it, to avoid when rearranging headers:
>
>  hw/virtio/vhost-vsock-common.c: In function ‘vhost_vsock_common_start’:
>  hw/virtio/vhost-vsock-common.c:51:5: error: unknown type name ‘VirtioBusClass’; did you mean ‘VirtioDeviceClass’?
>     51 |     VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
>        |     ^~~~~~~~~~~~~~
>        |     VirtioDeviceClass
>  hw/virtio/vhost-vsock-common.c:51:25: error: implicit declaration of function ‘VIRTIO_BUS_GET_CLASS’; did you mean ‘VIRTIO_DEVICE_CLASS’? [-Werror=implicit-function-declaration]
>     51 |     VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
>        |                         ^~~~~~~~~~~~~~~~~~~~
>        |                         VIRTIO_DEVICE_CLASS
>
>Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>Reviewed-by: Thomas Huth <thuth@redhat.com>
>---
> hw/virtio/vhost-vsock-common.c | 1 +
> 1 file changed, 1 insertion(+)

Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>



^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2023-05-26 12:29 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-24  9:37 [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé
2023-05-24  9:37 ` [PATCH v2 01/10] softmmu: Introduce qemu_target_page_mask() helper Philippe Mathieu-Daudé
2023-05-24 14:52   ` Richard Henderson
2023-05-24 15:02   ` Alex Bennée
2023-05-24  9:37 ` [PATCH v2 02/10] hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig Philippe Mathieu-Daudé
2023-05-24 15:02   ` Alex Bennée
2023-05-24  9:37 ` [PATCH v2 03/10] hw/scsi: Rearrange meson.build Philippe Mathieu-Daudé
2023-05-24  9:41   ` Thomas Huth
2023-05-24 15:06   ` Alex Bennée
2023-05-24  9:37 ` [PATCH v2 04/10] hw/scsi: Rename target-specific source set as 'specific_virtio_scsi_ss' Philippe Mathieu-Daudé
2023-05-24  9:41   ` Thomas Huth
2023-05-24  9:37 ` [PATCH v2 05/10] hw/virtio: Introduce VHOST_VSOCK_COMMON symbol in Kconfig Philippe Mathieu-Daudé
2023-05-24 15:02   ` Alex Bennée
2023-05-26 12:28   ` Stefano Garzarella
2023-05-24  9:37 ` [PATCH v2 06/10] hw/virtio/virtio-mem: Use qemu_ram_get_fd() helper Philippe Mathieu-Daudé
2023-05-24 15:03   ` Alex Bennée
2023-05-24  9:37 ` [PATCH v2 07/10] hw/virtio/vhost-vsock: Include missing 'virtio/virtio-bus.h' header Philippe Mathieu-Daudé
2023-05-24 15:04   ` Alex Bennée
2023-05-26 12:29   ` Stefano Garzarella
2023-05-24  9:37 ` [PATCH v2 08/10] hw/virtio/virtio-iommu: Use target-agnostic qemu_target_page_mask() Philippe Mathieu-Daudé
2023-05-24 15:04   ` Alex Bennée
2023-05-24  9:37 ` [PATCH v2 09/10] hw/virtio: Remove unnecessary 'virtio-access.h' header Philippe Mathieu-Daudé
2023-05-24 15:05   ` Alex Bennée
2023-05-24  9:37 ` [PATCH v2 10/10] hw/virtio: Build various target-agnostic objects just once Philippe Mathieu-Daudé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.