[PULL 00/11] qdev: Make array properties user accessible again

Kevin Wolf posted 11 patches 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231107134828.35909-1-kwolf@redhat.com
Maintainers: Peter Maydell <peter.maydell@linaro.org>, Radoslaw Biernacki <rad@semihalf.com>, Leif Lindholm <quic_llindhol@quicinc.com>, Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>, Alistair Francis <alistair@alistair23.me>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Richard Henderson <richard.henderson@linaro.org>, Yoshinori Sato <ysato@users.sourceforge.jp>
There is a newer version of this series
include/hw/qdev-properties.h     |  57 ++++++----
include/qom/object.h             |   8 ++
hw/arm/mps2-tz.c                 |  10 +-
hw/arm/mps2.c                    |  12 ++-
hw/arm/sbsa-ref.c                |   7 +-
hw/arm/vexpress.c                |  21 ++--
hw/arm/virt.c                    |  31 +++---
hw/arm/xlnx-versal.c             |   9 +-
hw/core/qdev-properties-system.c |   2 +-
hw/core/qdev-properties.c        | 224 +++++++++++++++++++++++++--------------
hw/i386/pc.c                     |   8 +-
hw/rx/rx62n.c                    |  19 ++--
qom/object.c                     |   6 ++
13 files changed, 266 insertions(+), 148 deletions(-)
[PULL 00/11] qdev: Make array properties user accessible again
Posted by Kevin Wolf 1 year ago
The following changes since commit bb541a7068d2eee51a9abbe2dedcdf27298b1872:

  Merge tag 'pull-pa-20231106' of https://gitlab.com/rth7680/qemu into staging (2023-11-07 15:01:17 +0800)

are available in the Git repository at:

  https://repo.or.cz/qemu/kevin.git qdev-array-prop

for you to fetch changes up to d6df0059910b13071c15bba3b061aaed5bfdb5da:

  qdev: Rework array properties based on list visitor (2023-11-07 14:43:37 +0100)

----------------------------------------------------------------
Kevin Wolf (11):
      hw/i386/pc: Use qdev_prop_set_array()
      hw/arm/mps2-tz: Use qdev_prop_set_array()
      hw/arm/mps2: Use qdev_prop_set_array()
      hw/arm/sbsa-ref: Use qdev_prop_set_array()
      hw/arm/vexpress: Use qdev_prop_set_array()
      hw/arm/virt: Use qdev_prop_set_array()
      hw/arm/xlnx-versal: Use qdev_prop_set_array()
      hw/rx/rx62n: Use qdev_prop_set_array()
      qom: Add object_property_set_default_list()
      qdev: Make netdev properties work as list elements
      qdev: Rework array properties based on list visitor

 include/hw/qdev-properties.h     |  57 ++++++----
 include/qom/object.h             |   8 ++
 hw/arm/mps2-tz.c                 |  10 +-
 hw/arm/mps2.c                    |  12 ++-
 hw/arm/sbsa-ref.c                |   7 +-
 hw/arm/vexpress.c                |  21 ++--
 hw/arm/virt.c                    |  31 +++---
 hw/arm/xlnx-versal.c             |   9 +-
 hw/core/qdev-properties-system.c |   2 +-
 hw/core/qdev-properties.c        | 224 +++++++++++++++++++++++++--------------
 hw/i386/pc.c                     |   8 +-
 hw/rx/rx62n.c                    |  19 ++--
 qom/object.c                     |   6 ++
 13 files changed, 266 insertions(+), 148 deletions(-)
Re: [PULL 00/11] qdev: Make array properties user accessible again
Posted by Stefan Hajnoczi 1 year ago
On Tue, 7 Nov 2023 at 21:52, Kevin Wolf <kwolf@redhat.com> wrote:
>
> The following changes since commit bb541a7068d2eee51a9abbe2dedcdf27298b1872:
>
>   Merge tag 'pull-pa-20231106' of https://gitlab.com/rth7680/qemu into staging (2023-11-07 15:01:17 +0800)
>
> are available in the Git repository at:
>
>   https://repo.or.cz/qemu/kevin.git qdev-array-prop
>
> for you to fetch changes up to d6df0059910b13071c15bba3b061aaed5bfdb5da:
>
>   qdev: Rework array properties based on list visitor (2023-11-07 14:43:37 +0100)
>
> ----------------------------------------------------------------
> Kevin Wolf (11):
>       hw/i386/pc: Use qdev_prop_set_array()
>       hw/arm/mps2-tz: Use qdev_prop_set_array()
>       hw/arm/mps2: Use qdev_prop_set_array()
>       hw/arm/sbsa-ref: Use qdev_prop_set_array()
>       hw/arm/vexpress: Use qdev_prop_set_array()
>       hw/arm/virt: Use qdev_prop_set_array()
>       hw/arm/xlnx-versal: Use qdev_prop_set_array()
>       hw/rx/rx62n: Use qdev_prop_set_array()
>       qom: Add object_property_set_default_list()
>       qdev: Make netdev properties work as list elements
>       qdev: Rework array properties based on list visitor

Hi Kevin,
Please take a look at the following CI failure:

In file included from ../include/hw/qdev-properties-system.h:4,
from ../include/net/net.h:7,
from ../include/hw/virtio/virtio.h:19,
from ../include/hw/virtio/virtio-bus.h:29,
from ../include/hw/virtio/virtio-pci.h:19,
from ../hw/virtio/virtio-iommu-pci.c:14:
../include/qemu/compiler.h:77:36: error: static assertion failed: "not
expecting: !QEMU_IS_ALIGNED(sizeof(GenericList),
__alignof__(ReservedRegion))"
77 | #define QEMU_BUILD_BUG_MSG(x, msg) _Static_assert(!(x), msg)
| ^~~~~~~~~~~~~~
../include/hw/qdev-properties.h:73:9: note: in definition of macro ‘DEFINE_PROP’
73 | __VA_ARGS__ \
| ^~~~~~~~~~~
../include/qemu/compiler.h:79:30: note: in expansion of macro
‘QEMU_BUILD_BUG_MSG’
79 | #define QEMU_BUILD_BUG_ON(x) QEMU_BUILD_BUG_MSG(x, "not expecting: " #x)
| ^~~~~~~~~~~~~~~~~~
../include/hw/qdev-properties.h:164:21: note: in expansion of macro
‘QEMU_BUILD_BUG_ON’
164 | QEMU_BUILD_BUG_ON( \
| ^~~~~~~~~~~~~~~~~
../hw/virtio/virtio-iommu-pci.c:39:5: note: in expansion of macro
‘DEFINE_PROP_ARRAY’
39 | DEFINE_PROP_ARRAY("reserved-regions", VirtIOIOMMUPCI,
| ^~~~~~~~~~~~~~~~~

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

Stefan

>
>  include/hw/qdev-properties.h     |  57 ++++++----
>  include/qom/object.h             |   8 ++
>  hw/arm/mps2-tz.c                 |  10 +-
>  hw/arm/mps2.c                    |  12 ++-
>  hw/arm/sbsa-ref.c                |   7 +-
>  hw/arm/vexpress.c                |  21 ++--
>  hw/arm/virt.c                    |  31 +++---
>  hw/arm/xlnx-versal.c             |   9 +-
>  hw/core/qdev-properties-system.c |   2 +-
>  hw/core/qdev-properties.c        | 224 +++++++++++++++++++++++++--------------
>  hw/i386/pc.c                     |   8 +-
>  hw/rx/rx62n.c                    |  19 ++--
>  qom/object.c                     |   6 ++
>  13 files changed, 266 insertions(+), 148 deletions(-)
>
>