qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/12] qdev: Make array properties user accessible again
@ 2023-10-30 14:26 Kevin Wolf
  2023-10-30 14:26 ` [PATCH v2 01/12] qdev: Add qdev_prop_set_array() Kevin Wolf
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: Kevin Wolf @ 2023-10-30 14:26 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, armbru, berrange, peter.maydell, pbonzini, philmd

Array properties have been inaccessible since commit f3558b1b both on
the command line and in QMP. This series reworks them so that they are
made accessible again in these external interfaces, this time as JSON
lists. See patch 12 for details.

v2:
- Patch 1: Use unsigned instead of uint32_t
- Patch 9: Fixed build error
- Patch 11: Split into a separate patch to clarify the intention
- Patch 12:
  * Improved the commit message
  * Document and statically assert alignment requirements for array
    elements (the static assertion turned out to be much uglier than I
    had hoped, but it is what it is)
  * Replace UB in pointer arithmetics with uintptr_t calculations
  * Fix properties without a .release callback
  * Check array size for integer overflow
  * Call visit_check_list() even for output visitors
- Coding style changes

Kevin Wolf (12):
  qdev: Add qdev_prop_set_array()
  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     |  62 ++++++---
 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        | 217 +++++++++++++++++++++----------
 hw/i386/pc.c                     |   8 +-
 hw/rx/rx62n.c                    |  19 +--
 qom/object.c                     |   6 +
 13 files changed, 278 insertions(+), 134 deletions(-)

-- 
2.41.0



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

end of thread, other threads:[~2023-11-08  6:51 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-30 14:26 [PATCH v2 00/12] qdev: Make array properties user accessible again Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 01/12] qdev: Add qdev_prop_set_array() Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 02/12] hw/i386/pc: Use qdev_prop_set_array() Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 03/12] hw/arm/mps2-tz: " Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 04/12] hw/arm/mps2: " Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 05/12] hw/arm/sbsa-ref: " Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 06/12] hw/arm/vexpress: " Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 07/12] hw/arm/virt: " Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 08/12] hw/arm/xlnx-versal: " Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 09/12] hw/rx/rx62n: " Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 10/12] qom: Add object_property_set_default_list() Kevin Wolf
2023-10-30 14:26 ` [PATCH v2 11/12] qdev: Make netdev properties work as list elements Kevin Wolf
2023-11-02 12:55   ` Markus Armbruster
2023-11-07 13:35     ` Kevin Wolf
2023-11-08  6:50       ` Markus Armbruster
2023-10-30 14:26 ` [PATCH v2 12/12] qdev: Rework array properties based on list visitor Kevin Wolf
2023-10-30 20:48   ` Mark Cave-Ayland
2023-10-31 11:09     ` Kevin Wolf
2023-11-02 13:29   ` Markus Armbruster
2023-11-03 12:32   ` Eric Blake

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).