From: Kevin Wolf <kwolf@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, armbru@redhat.com, berrange@redhat.com,
peter.maydell@linaro.org, pbonzini@redhat.com, philmd@linaro.org
Subject: [PATCH v3 00/11] qdev: Make array properties user accessible again
Date: Thu, 9 Nov 2023 18:42:29 +0100 [thread overview]
Message-ID: <20231109174240.72376-1-kwolf@redhat.com> (raw)
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 11 for details.
v3:
- Rebased, patch 1 was already merged in the context of another series
- malloc() the elements for the temporary list in set_prop_array().
Having the value directly in GenericList.padding resulted in bad
alignment for some property types on 32 bit platforms.
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 (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 | 35 ++---
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 | 237 ++++++++++++++++++++-----------
hw/i386/pc.c | 8 +-
hw/rx/rx62n.c | 19 +--
qom/object.c | 6 +
13 files changed, 257 insertions(+), 148 deletions(-)
--
2.41.0
next reply other threads:[~2023-11-09 17:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-09 17:42 Kevin Wolf [this message]
2023-11-09 17:42 ` [PATCH v3 01/11] hw/i386/pc: Use qdev_prop_set_array() Kevin Wolf
2023-11-09 19:11 ` Philippe Mathieu-Daudé
2023-11-09 17:42 ` [PATCH v3 02/11] hw/arm/mps2-tz: " Kevin Wolf
2023-11-09 17:42 ` [PATCH v3 03/11] hw/arm/mps2: " Kevin Wolf
2023-11-09 17:42 ` [PATCH v3 04/11] hw/arm/sbsa-ref: " Kevin Wolf
2023-11-09 17:42 ` [PATCH v3 05/11] hw/arm/vexpress: " Kevin Wolf
2023-11-09 17:42 ` [PATCH v3 06/11] hw/arm/virt: " Kevin Wolf
2023-11-09 17:42 ` [PATCH v3 07/11] hw/arm/xlnx-versal: " Kevin Wolf
2023-11-09 17:42 ` [PATCH v3 08/11] hw/rx/rx62n: " Kevin Wolf
2023-11-09 17:42 ` [PATCH v3 09/11] qom: Add object_property_set_default_list() Kevin Wolf
2023-11-09 19:12 ` Philippe Mathieu-Daudé
2023-11-09 17:42 ` [PATCH v3 10/11] qdev: Make netdev properties work as list elements Kevin Wolf
2023-11-09 19:13 ` Philippe Mathieu-Daudé
2023-11-09 17:42 ` [PATCH v3 11/11] qdev: Rework array properties based on list visitor Kevin Wolf
2023-11-09 19:14 ` [PATCH v3 00/11] qdev: Make array properties user accessible again Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231109174240.72376-1-kwolf@redhat.com \
--to=kwolf@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).