Skip to content

qom: misc fixes & enhancements to support TLS work

Daniel P. Berrange qemu-devel 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest8 patches 12 repliesIn review
  2. v48 patches 14 repliesApplied
  3. v37 patches 20 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v27 patches1 replySuperseded
v17 patches4 repliesSuperseded

Changes in v5 from the cover letter

- Fix test suite build -Wunused-value warning on some GCC versions reported by Peter Maydell

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8backends: fix typename of 'policy' enum property in hostmem objbackends/hostmem.c+1 -10 replies
2/8doc: document user creatable object types in help textqemu-options.hx+54 -160 replies
3/8vl: create (most) objects before creating chardev backendsvl.c+39 -10 replies
4/8qom: add helper method for getting user objects rootinclude/qom/object.h iothread.c numa.c +2 more+22 -71 reply
5/8qom: add object_new_with_props / object_new_withpropv constructorsinclude/qemu/compiler.h include/qom/object.h qom/object.c +3 more+434 -14 replies
6/8qom: make enum string tables const-correctinclude/hw/qdev-core.h include/qapi/util.h include/qapi/visitor-impl.h +7 more+16 -151 reply
7/8qom: add a object_property_add_enum helper methodinclude/qom/object.h qom/object.c tests/check-qom-proplist.c+150 -04 replies
8/8qom: don't pass string table to object_get_enum methodbackends/hostmem.c include/qom/object.h numa.c +2 more+71 -192 replies

Reviews trailers per patch

1 of 8 patches has a Reviewed-by or Acked-by.

PatchEric Blake
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v5 thread

Cover letter [Qemu-devel] [PATCH v5 0/8] qom: misc fixes & enhancements to support TLS work

This series contains the 7^H8 generic QOM API fixes and enhancements that I previously posted as part of the large series refactoring and extending the TLS support in QEMU:

https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg02038.html

I'm sending it separately, since the patches are reasonably well self-contained and thus hopefully suitable for quicker review and merge.

The changes in this posting are in response to Andreas' feedback on v3.

Changed in v5:

- Fix test suite build -Wunused-value warning on some GCC versions reported by Peter Maydell

Changed in v4:

- Introduce object_get_objects_root() to replace duplicated container_get(object_get_root(), "/objects") calls
- Add object_set_prop[sv]()and call them to populate properties from object_new_with_prop[sv]() constructor
- Use <programlisting> in inline docs example
- Fix naming for '...' vs 'va_list' arg method variants to match QEMU convention (va_list one has the 'v' suffix)
- Conditionally use __attribute__((sentinel)) only on new enough GCC (>= 4.0)
- Use a local Error * object where Error **errp could be NULL
- Change class def to use parent_obj and parent_class for first struct member
- Use g_assert_cmpstr() in test case assertions on strings
- Other misc typos in docs, commit messages and code.

Changed in v3:

- Fix test suite additions for change in object_new_propv API

Changed in v2:

- Pass "Object * parent" instead of "char *path" paremeter
- Rely on stable reference from parent to keep new object alive
- Use object_unparent() where appropriate

Daniel P. Berrange (8):
backends: fix typename of 'policy' enum property in hostmem obj
doc: document user creatable object types in help text
vl: create (most) objects before creating chardev backends
qom: add helper method for getting user objects root
qom: add object_new_with_props / object_new_withpropv constructors
qom: make enum string tables const-correct
qom: add a object_property_add_enum helper method
qom: don't pass string table to object_get_enum method

 backends/hostmem.c          |  22 ++--
 include/hw/qdev-core.h      |   2 +-
 include/qapi/util.h         |   2 +-
 include/qapi/visitor-impl.h |   6 +-
 include/qapi/visitor.h      |   2 +-
 include/qemu/compiler.h     |   6 +
 include/qom/object.h        | 163 +++++++++++++++++++++++-
 iothread.c                  |   4 +-
 numa.c                      |   4 +-
 qapi/qapi-dealloc-visitor.c |   3 +-
 qapi/qapi-util.c            |   2 +-
 qapi/qapi-visit-core.c      |   6 +-
 qemu-options.hx             |  70 +++++++---
 qmp.c                       |   6 +-
 qom/object.c                | 191 +++++++++++++++++++++++++++-
 scripts/qapi-types.py       |   4 +-
 tests/.gitignore            |   1 +
 tests/Makefile              |   5 +-
 tests/check-qom-proplist.c  | 302 ++++++++++++++++++++++++++++++++++++++++++++
 vl.c                        |  40 +++++-
 20 files changed, 784 insertions(+), 57 deletions(-)
 create mode 100644 tests/check-qom-proplist.c
Signature · 1 line
2.4.1