[PATCH 0/6] qapi: generalize special features

Daniel P. Berrangé posted 6 patches 3 months, 3 weeks ago
There is a newer version of this series
include/qapi/compat-policy.h  |   2 +-
include/qapi/qmp/dispatch.h   |   4 +-
include/qapi/util.h           |   7 +-
include/qapi/visitor-impl.h   |   4 +-
include/qapi/visitor.h        |  12 +--
meson.build                   |   1 +
qapi/qapi-forward-visitor.c   |   8 +-
qapi/qapi-util.c              |   6 +-
qapi/qapi-visit-core.c        |  12 +--
qapi/qmp-dispatch.c           |   2 +-
qapi/qmp-registry.c           |   4 +-
qapi/qobject-input-visitor.c  |   4 +-
qapi/qobject-output-visitor.c |   6 +-
scripts/qapi/commands.py      |   9 ++-
scripts/qapi/events.py        |   3 +-
scripts/qapi/features.py      | 134 ++++++++++++++++++++++++++++++++++
scripts/qapi/gen.py           |   9 ++-
scripts/qapi/main.py          |   2 +
scripts/qapi/schema.py        |   5 +-
scripts/qapi/types.py         |  19 +++--
scripts/qapi/visit.py         |  17 +++--
21 files changed, 206 insertions(+), 64 deletions(-)
create mode 100644 scripts/qapi/features.py
[PATCH 0/6] qapi: generalize special features
Posted by Daniel P. Berrangé 3 months, 3 weeks ago
This series is a spin-off from

  https://lists.nongnu.org/archive/html/qemu-devel/2024-06/msg00807.html

That series introduced a pragma allowing a schema to declare extra
features that would be exposed to code.

Following Markus' suggestion:

  https://lists.nongnu.org/archive/html/qemu-devel/2024-07/msg03765.html

I've changed impl such that we expose all features to the code
regardless of whether they are special, and don't require any pragma.

I've split it from the QGA patches since it makes more sense to work
on this bit in isolation.

Daniel P. Berrangé (6):
  qapi: change 'unsigned special_features' to 'uint64_t features'
  scripts/qapi: rename 'special_features' to 'features'
  qapi: use "QAPI_FEATURE" as namespace for features
  qapi: cope with  feature names containing a '-'
  qapi: apply schema prefix to QAPI feature enum constants
  qapi: expose all schema features to code

 include/qapi/compat-policy.h  |   2 +-
 include/qapi/qmp/dispatch.h   |   4 +-
 include/qapi/util.h           |   7 +-
 include/qapi/visitor-impl.h   |   4 +-
 include/qapi/visitor.h        |  12 +--
 meson.build                   |   1 +
 qapi/qapi-forward-visitor.c   |   8 +-
 qapi/qapi-util.c              |   6 +-
 qapi/qapi-visit-core.c        |  12 +--
 qapi/qmp-dispatch.c           |   2 +-
 qapi/qmp-registry.c           |   4 +-
 qapi/qobject-input-visitor.c  |   4 +-
 qapi/qobject-output-visitor.c |   6 +-
 scripts/qapi/commands.py      |   9 ++-
 scripts/qapi/events.py        |   3 +-
 scripts/qapi/features.py      | 134 ++++++++++++++++++++++++++++++++++
 scripts/qapi/gen.py           |   9 ++-
 scripts/qapi/main.py          |   2 +
 scripts/qapi/schema.py        |   5 +-
 scripts/qapi/types.py         |  19 +++--
 scripts/qapi/visit.py         |  17 +++--
 21 files changed, 206 insertions(+), 64 deletions(-)
 create mode 100644 scripts/qapi/features.py

-- 
2.45.2