This series compiles QAPI generated once, while keeping the same schema and commands exposed to the QAPI consumer.
Steps: - Introduce a new json entry, named 'runtime_if' (name is not definitive, see patch 1), to allow dynamic check about exposing a given entry/command or not. - Conditionally expose the QMP schema based on those conditionals. - Conditonally register commands - Conditinally visit fields during JSON marshalling - Extend existing qemu/target-info.h with the helpers needed. - Modify QAPI json to use runtime conditionals - Compile QAPI generated code as common - no more target specifics Note: A final annex (do not merge) is included to see the differences in the generated QAPI code, so you don't need to pull and see it by yourself. Original RFC (and context) -------------------------- https://patchew.org/QEMU/20250424183350.1798746-1-pierrick.bouv...@linaro.org/ Pierrick Bouvier (13): qapi: introduce 'runtime_if' for QAPI json qapi/introspect: generate schema as a QObject directly qobject/qlit: allow to hide dict or list entries qapi/introspect: hide fields in schema qapi/commands: register commands conditionally qapi/visit: hide fields in JSON marshalling qapi: add access to qemu/target-info.h qemu/target-info: implement missing helpers qapi: transform target specific 'if' in runtime checks qapi: add weak stubs for target specific commands qapi: make all generated files common [ANNEX] build/qapi: reference [ANNEX] build/qapi: after series meson.build | 2 +- qapi/machine-target.json | 84 +- qapi/misc-target.json | 48 +- build/qapi/qapi-builtin-types.h | 184 + build/qapi/qapi-builtin-visit.h | 68 + build/qapi/qapi-commands-acpi.h | 21 + build/qapi/qapi-commands-audio.h | 21 + build/qapi/qapi-commands-authz.h | 19 + build/qapi/qapi-commands-block-core.h | 105 + build/qapi/qapi-commands-block-export.h | 35 + build/qapi/qapi-commands-block.h | 38 + build/qapi/qapi-commands-char.h | 36 + build/qapi/qapi-commands-common.h | 19 + build/qapi/qapi-commands-compat.h | 19 + build/qapi/qapi-commands-control.h | 27 + build/qapi/qapi-commands-crypto.h | 19 + build/qapi/qapi-commands-cryptodev.h | 21 + build/qapi/qapi-commands-cxl.h | 35 + build/qapi/qapi-commands-dump.h | 25 + build/qapi/qapi-commands-ebpf.h | 23 + build/qapi/qapi-commands-error.h | 19 + build/qapi/qapi-commands-introspect.h | 21 + build/qapi/qapi-commands-job.h | 33 + build/qapi/qapi-commands-machine-common.h | 19 + build/qapi/qapi-commands-machine-target.h | 32 + build/qapi/qapi-commands-machine.h | 89 + build/qapi/qapi-commands-migration.h | 89 + build/qapi/qapi-commands-misc-target.h | 41 + build/qapi/qapi-commands-misc.h | 52 + build/qapi/qapi-commands-net.h | 30 + build/qapi/qapi-commands-pci.h | 21 + build/qapi/qapi-commands-pragma.h | 19 + build/qapi/qapi-commands-qdev.h | 26 + build/qapi/qapi-commands-qom.h | 37 + build/qapi/qapi-commands-replay.h | 28 + build/qapi/qapi-commands-rocker.h | 27 + build/qapi/qapi-commands-run-state.h | 25 + build/qapi/qapi-commands-sockets.h | 19 + build/qapi/qapi-commands-stats.h | 23 + build/qapi/qapi-commands-tpm.h | 31 + build/qapi/qapi-commands-trace.h | 23 + build/qapi/qapi-commands-transaction.h | 22 + build/qapi/qapi-commands-uefi.h | 19 + build/qapi/qapi-commands-ui.h | 59 + build/qapi/qapi-commands-vfio.h | 19 + build/qapi/qapi-commands-virtio.h | 29 + build/qapi/qapi-commands-yank.h | 23 + build/qapi/qapi-commands.h | 60 + build/qapi/qapi-emit-events.h | 85 + build/qapi/qapi-events-acpi.h | 21 + build/qapi/qapi-events-audio.h | 19 + build/qapi/qapi-events-authz.h | 19 + build/qapi/qapi-events-block-core.h | 43 + build/qapi/qapi-events-block-export.h | 23 + build/qapi/qapi-events-block.h | 24 + build/qapi/qapi-events-char.h | 22 + build/qapi/qapi-events-common.h | 19 + build/qapi/qapi-events-compat.h | 19 + build/qapi/qapi-events-control.h | 19 + build/qapi/qapi-events-crypto.h | 19 + build/qapi/qapi-events-cryptodev.h | 19 + build/qapi/qapi-events-cxl.h | 19 + build/qapi/qapi-events-dump.h | 21 + build/qapi/qapi-events-ebpf.h | 19 + build/qapi/qapi-events-error.h | 19 + build/qapi/qapi-events-introspect.h | 19 + build/qapi/qapi-events-job.h | 21 + build/qapi/qapi-events-machine-common.h | 19 + build/qapi/qapi-events-machine-target.h | 22 + build/qapi/qapi-events-machine.h | 27 + build/qapi/qapi-events-migration.h | 29 + build/qapi/qapi-events-misc-target.h | 19 + build/qapi/qapi-events-misc.h | 24 + build/qapi/qapi-events-net.h | 32 + build/qapi/qapi-events-pci.h | 19 + build/qapi/qapi-events-pragma.h | 19 + build/qapi/qapi-events-qdev.h | 24 + build/qapi/qapi-events-qom.h | 23 + build/qapi/qapi-events-replay.h | 20 + build/qapi/qapi-events-rocker.h | 19 + build/qapi/qapi-events-run-state.h | 45 + build/qapi/qapi-events-sockets.h | 19 + build/qapi/qapi-events-stats.h | 19 + build/qapi/qapi-events-tpm.h | 19 + build/qapi/qapi-events-trace.h | 19 + build/qapi/qapi-events-transaction.h | 20 + build/qapi/qapi-events-uefi.h | 19 + build/qapi/qapi-events-ui.h | 49 + build/qapi/qapi-events-vfio.h | 21 + build/qapi/qapi-events-virtio.h | 19 + build/qapi/qapi-events-yank.h | 19 + build/qapi/qapi-events.h | 60 + build/qapi/qapi-features.h | 28 + build/qapi/qapi-init-commands.h | 20 + build/qapi/qapi-introspect.h | 19 + build/qapi/qapi-types-acpi.h | 78 + build/qapi/qapi-types-audio.h | 537 + build/qapi/qapi-types-authz.h | 103 + build/qapi/qapi-types-block-core.h | 3643 ++ build/qapi/qapi-types-block-export.h | 313 + build/qapi/qapi-types-block.h | 161 + build/qapi/qapi-types-char.h | 728 + build/qapi/qapi-types-common.h | 175 + build/qapi/qapi-types-compat.h | 57 + build/qapi/qapi-types-control.h | 110 + build/qapi/qapi-types-crypto.h | 527 + build/qapi/qapi-types-cryptodev.h | 106 + build/qapi/qapi-types-cxl.h | 247 + build/qapi/qapi-types-dump.h | 100 + build/qapi/qapi-types-ebpf.h | 55 + build/qapi/qapi-types-error.h | 32 + build/qapi/qapi-types-introspect.h | 244 + build/qapi/qapi-types-job.h | 140 + build/qapi/qapi-types-machine-common.h | 91 + build/qapi/qapi-types-machine-target.h | 172 + build/qapi/qapi-types-machine.h | 922 + build/qapi/qapi-types-migration.h | 900 + build/qapi/qapi-types-misc-target.h | 238 + build/qapi/qapi-types-misc.h | 241 + build/qapi/qapi-types-net.h | 549 + build/qapi/qapi-types-pci.h | 152 + build/qapi/qapi-types-pragma.h | 18 + build/qapi/qapi-types-qdev.h | 59 + build/qapi/qapi-types-qom.h | 1049 + build/qapi/qapi-types-replay.h | 54 + build/qapi/qapi-types-rocker.h | 231 + build/qapi/qapi-types-run-state.h | 312 + build/qapi/qapi-types-sockets.h | 220 + build/qapi/qapi-types-stats.h | 231 + build/qapi/qapi-types-tpm.h | 194 + build/qapi/qapi-types-trace.h | 65 + build/qapi/qapi-types-transaction.h | 197 + build/qapi/qapi-types-uefi.h | 52 + build/qapi/qapi-types-ui.h | 1263 + build/qapi/qapi-types-vfio.h | 42 + build/qapi/qapi-types-virtio.h | 307 + build/qapi/qapi-types-yank.h | 83 + build/qapi/qapi-types.h | 59 + build/qapi/qapi-visit-acpi.h | 38 + build/qapi/qapi-visit-audio.h | 136 + build/qapi/qapi-visit-authz.h | 54 + build/qapi/qapi-visit-block-core.h | 962 + build/qapi/qapi-visit-block-export.h | 99 + build/qapi/qapi-visit-block.h | 56 + build/qapi/qapi-visit-char.h | 235 + build/qapi/qapi-visit-common.h | 58 + build/qapi/qapi-visit-compat.h | 31 + build/qapi/qapi-visit-control.h | 54 + build/qapi/qapi-visit-crypto.h | 165 + build/qapi/qapi-visit-cryptodev.h | 48 + build/qapi/qapi-visit-cxl.h | 67 + build/qapi/qapi-visit-dump.h | 43 + build/qapi/qapi-visit-ebpf.h | 36 + build/qapi/qapi-visit-error.h | 23 + build/qapi/qapi-visit-introspect.h | 103 + build/qapi/qapi-visit-job.h | 51 + build/qapi/qapi-visit-machine-common.h | 42 + build/qapi/qapi-visit-machine-target.h | 73 + build/qapi/qapi-visit-machine.h | 311 + build/qapi/qapi-visit-migration.h | 241 + build/qapi/qapi-visit-misc-target.h | 96 + build/qapi/qapi-visit-misc.h | 98 + build/qapi/qapi-visit-net.h | 171 + build/qapi/qapi-visit-pci.h | 69 + build/qapi/qapi-visit-pragma.h | 20 + build/qapi/qapi-visit-qdev.h | 33 + build/qapi/qapi-visit-qom.h | 263 + build/qapi/qapi-visit-replay.h | 33 + build/qapi/qapi-visit-rocker.h | 78 + build/qapi/qapi-visit-run-state.h | 99 + build/qapi/qapi-visit-sockets.h | 91 + build/qapi/qapi-visit-stats.h | 89 + build/qapi/qapi-visit-tpm.h | 91 + build/qapi/qapi-visit-trace.h | 35 + build/qapi/qapi-visit-transaction.h | 94 + build/qapi/qapi-visit-uefi.h | 33 + build/qapi/qapi-visit-ui.h | 370 + build/qapi/qapi-visit-vfio.h | 25 + build/qapi/qapi-visit-virtio.h | 113 + build/qapi/qapi-visit-yank.h | 45 + build/qapi/qapi-visit.h | 61 + include/qemu/target-info.h | 14 + include/qobject/qlit.h | 12 + build/qapi/qapi-builtin-types.c | 227 + build/qapi/qapi-builtin-visit.c | 448 + build/qapi/qapi-commands-acpi.c | 87 + build/qapi/qapi-commands-audio.c | 87 + build/qapi/qapi-commands-authz.c | 26 + build/qapi/qapi-commands-block-core.c | 1931 + build/qapi/qapi-commands-block-export.c | 341 + build/qapi/qapi-commands-block.c | 431 + build/qapi/qapi-commands-char.c | 457 + build/qapi/qapi-commands-common.c | 26 + build/qapi/qapi-commands-compat.c | 26 + build/qapi/qapi-commands-control.c | 230 + build/qapi/qapi-commands-crypto.c | 26 + build/qapi/qapi-commands-cryptodev.c | 87 + build/qapi/qapi-commands-cxl.c | 370 + build/qapi/qapi-commands-dump.c | 191 + build/qapi/qapi-commands-ebpf.c | 95 + build/qapi/qapi-commands-error.c | 26 + build/qapi/qapi-commands-introspect.c | 87 + build/qapi/qapi-commands-job.c | 345 + build/qapi/qapi-commands-machine-common.c | 26 + build/qapi/qapi-commands-machine-target.c | 386 + build/qapi/qapi-commands-machine.c | 1626 + build/qapi/qapi-commands-migration.c | 1415 + build/qapi/qapi-commands-misc-target.c | 628 + build/qapi/qapi-commands-misc.c | 740 + build/qapi/qapi-commands-net.c | 263 + build/qapi/qapi-commands-pci.c | 87 + build/qapi/qapi-commands-pragma.c | 26 + build/qapi/qapi-commands-qdev.c | 177 + build/qapi/qapi-commands-qom.c | 400 + build/qapi/qapi-commands-replay.c | 212 + build/qapi/qapi-commands-rocker.c | 286 + build/qapi/qapi-commands-run-state.c | 173 + build/qapi/qapi-commands-sockets.c | 26 + build/qapi/qapi-commands-stats.c | 156 + build/qapi/qapi-commands-tpm.c | 221 + build/qapi/qapi-commands-trace.c | 134 + build/qapi/qapi-commands-transaction.c | 69 + build/qapi/qapi-commands-uefi.c | 26 + build/qapi/qapi-commands-ui.c | 734 + build/qapi/qapi-commands-vfio.c | 26 + build/qapi/qapi-commands-virtio.c | 347 + build/qapi/qapi-commands-yank.c | 130 + build/qapi/qapi-commands.c | 24 + build/qapi/qapi-emit-events.c | 79 + build/qapi/qapi-events-acpi.c | 53 + build/qapi/qapi-events-audio.c | 23 + build/qapi/qapi-events-authz.c | 23 + build/qapi/qapi-events-block-core.c | 323 + build/qapi/qapi-events-block-export.c | 53 + build/qapi/qapi-events-block.c | 83 + build/qapi/qapi-events-char.c | 53 + build/qapi/qapi-events-common.c | 23 + build/qapi/qapi-events-compat.c | 23 + build/qapi/qapi-events-control.c | 23 + build/qapi/qapi-events-crypto.c | 23 + build/qapi/qapi-events-cryptodev.c | 23 + build/qapi/qapi-events-cxl.c | 23 + build/qapi/qapi-events-dump.c | 53 + build/qapi/qapi-events-ebpf.c | 23 + build/qapi/qapi-events-error.c | 23 + build/qapi/qapi-events-introspect.c | 23 + build/qapi/qapi-events-job.c | 53 + build/qapi/qapi-events-machine-common.c | 23 + build/qapi/qapi-events-machine-target.c | 57 + build/qapi/qapi-events-machine.c | 110 + build/qapi/qapi-events-migration.c | 143 + build/qapi/qapi-events-misc-target.c | 23 + build/qapi/qapi-events-misc.c | 83 + build/qapi/qapi-events-net.c | 203 + build/qapi/qapi-events-pci.c | 23 + build/qapi/qapi-events-pragma.c | 23 + build/qapi/qapi-events-qdev.c | 83 + build/qapi/qapi-events-qom.c | 23 + build/qapi/qapi-events-replay.c | 23 + build/qapi/qapi-events-rocker.c | 23 + build/qapi/qapi-events-run-state.c | 280 + build/qapi/qapi-events-sockets.c | 23 + build/qapi/qapi-events-stats.c | 23 + build/qapi/qapi-events-tpm.c | 23 + build/qapi/qapi-events-trace.c | 23 + build/qapi/qapi-events-transaction.c | 23 + build/qapi/qapi-events-uefi.c | 23 + build/qapi/qapi-events-ui.c | 228 + build/qapi/qapi-events-vfio.c | 53 + build/qapi/qapi-events-virtio.c | 23 + build/qapi/qapi-events-yank.c | 23 + build/qapi/qapi-events.c | 23 + build/qapi/qapi-features.c | 14 + build/qapi/qapi-init-commands.c | 576 + build/qapi/qapi-introspect.c | 32177 ++++++++++++++++ build/qapi/qapi-types-acpi.c | 67 + build/qapi/qapi-types-audio.c | 360 + build/qapi/qapi-types-authz.c | 114 + build/qapi/qapi-types-block-core.c | 2488 ++ build/qapi/qapi-types-block-export.c | 211 + build/qapi/qapi-types-block.c | 77 + build/qapi/qapi-types-char.c | 560 + build/qapi/qapi-types-common.c | 151 + build/qapi/qapi-types-compat.c | 50 + build/qapi/qapi-types-control.c | 113 + build/qapi/qapi-types-crypto.c | 415 + build/qapi/qapi-types-cryptodev.c | 113 + build/qapi/qapi-types-cxl.c | 134 + build/qapi/qapi-types-dump.c | 83 + build/qapi/qapi-types-ebpf.c | 44 + build/qapi/qapi-types-error.c | 31 + build/qapi/qapi-types-introspect.c | 268 + build/qapi/qapi-types-job.c | 92 + build/qapi/qapi-types-machine-common.c | 94 + build/qapi/qapi-types-machine-target.c | 137 + build/qapi/qapi-types-machine.c | 811 + build/qapi/qapi-types-migration.c | 606 + build/qapi/qapi-types-misc-target.c | 221 + build/qapi/qapi-types-misc.c | 186 + build/qapi/qapi-types-net.c | 378 + build/qapi/qapi-types-pci.c | 163 + build/qapi/qapi-types-pragma.c | 20 + build/qapi/qapi-types-qdev.c | 20 + build/qapi/qapi-types-qom.c | 659 + build/qapi/qapi-types-replay.c | 42 + build/qapi/qapi-types-rocker.c | 166 + build/qapi/qapi-types-run-state.c | 218 + build/qapi/qapi-types-sockets.c | 210 + build/qapi/qapi-types-stats.c | 227 + build/qapi/qapi-types-tpm.c | 176 + build/qapi/qapi-types-trace.c | 55 + build/qapi/qapi-types-transaction.c | 218 + build/qapi/qapi-types-uefi.c | 59 + build/qapi/qapi-types-ui.c | 987 + build/qapi/qapi-types-vfio.c | 33 + build/qapi/qapi-types-virtio.c | 261 + build/qapi/qapi-types-yank.c | 81 + build/qapi/qapi-types.c | 20 + build/qapi/qapi-visit-acpi.c | 200 + build/qapi/qapi-visit-audio.c | 1183 + build/qapi/qapi-visit-authz.c | 261 + build/qapi/qapi-visit-block-core.c | 9436 +++++ build/qapi/qapi-visit-block-export.c | 667 + build/qapi/qapi-visit-block.c | 311 + build/qapi/qapi-visit-char.c | 1625 + build/qapi/qapi-visit-common.c | 187 + build/qapi/qapi-visit-compat.c | 90 + build/qapi/qapi-visit-control.c | 270 + build/qapi/qapi-visit-crypto.c | 1112 + build/qapi/qapi-visit-cryptodev.c | 210 + build/qapi/qapi-visit-cxl.c | 452 + build/qapi/qapi-visit-dump.c | 188 + build/qapi/qapi-visit-ebpf.c | 78 + build/qapi/qapi-visit-error.c | 29 + build/qapi/qapi-visit-introspect.c | 683 + build/qapi/qapi-visit-job.c | 188 + build/qapi/qapi-visit-machine-common.c | 148 + build/qapi/qapi-visit-machine-target.c | 400 + build/qapi/qapi-visit-machine.c | 2477 ++ build/qapi/qapi-visit-migration.c | 1918 + build/qapi/qapi-visit-misc-target.c | 598 + build/qapi/qapi-visit-misc.c | 600 + build/qapi/qapi-visit-net.c | 1583 + build/qapi/qapi-visit-pci.c | 482 + build/qapi/qapi-visit-pragma.c | 20 + build/qapi/qapi-visit-qdev.c | 95 + build/qapi/qapi-visit-qom.c | 2164 ++ build/qapi/qapi-visit-replay.c | 90 + build/qapi/qapi-visit-rocker.c | 617 + build/qapi/qapi-visit-run-state.c | 453 + build/qapi/qapi-visit-sockets.c | 571 + build/qapi/qapi-visit-stats.c | 566 + build/qapi/qapi-visit-tpm.c | 388 + build/qapi/qapi-visit-trace.c | 119 + build/qapi/qapi-visit-transaction.c | 536 + build/qapi/qapi-visit-uefi.c | 143 + build/qapi/qapi-visit-ui.c | 2346 ++ build/qapi/qapi-visit-vfio.c | 43 + build/qapi/qapi-visit-virtio.c | 889 + build/qapi/qapi-visit-yank.c | 188 + build/qapi/qapi-visit.c | 20 + monitor/qmp-cmds-control.c | 2 +- qapi/commands-weak-stubs.c | 38 + qobject/qlit.c | 10 +- target-info.c | 117 + tests/unit/test-qobject-input-visitor.c | 6 +- build/qapi/qapi-commands-acpi.trace-events | 4 + build/qapi/qapi-commands-audio.trace-events | 4 + build/qapi/qapi-commands-authz.trace-events | 2 + .../qapi-commands-block-core.trace-events | 84 + .../qapi-commands-block-export.trace-events | 16 + build/qapi/qapi-commands-block.trace-events | 20 + build/qapi/qapi-commands-char.trace-events | 18 + build/qapi/qapi-commands-common.trace-events | 2 + build/qapi/qapi-commands-compat.trace-events | 2 + build/qapi/qapi-commands-control.trace-events | 10 + build/qapi/qapi-commands-crypto.trace-events | 2 + .../qapi/qapi-commands-cryptodev.trace-events | 4 + build/qapi/qapi-commands-cxl.trace-events | 18 + build/qapi/qapi-commands-dump.trace-events | 8 + build/qapi/qapi-commands-ebpf.trace-events | 4 + build/qapi/qapi-commands-error.trace-events | 2 + .../qapi-commands-introspect.trace-events | 4 + build/qapi/qapi-commands-job.trace-events | 16 + .../qapi-commands-machine-common.trace-events | 2 + .../qapi-commands-machine-target.trace-events | 14 + build/qapi/qapi-commands-machine.trace-events | 64 + .../qapi/qapi-commands-migration.trace-events | 60 + .../qapi-commands-misc-target.trace-events | 24 + build/qapi/qapi-commands-misc.trace-events | 30 + build/qapi/qapi-commands-net.trace-events | 12 + build/qapi/qapi-commands-pci.trace-events | 4 + build/qapi/qapi-commands-pragma.trace-events | 2 + build/qapi/qapi-commands-qdev.trace-events | 8 + build/qapi/qapi-commands-qom.trace-events | 16 + build/qapi/qapi-commands-replay.trace-events | 10 + build/qapi/qapi-commands-rocker.trace-events | 10 + .../qapi/qapi-commands-run-state.trace-events | 8 + build/qapi/qapi-commands-sockets.trace-events | 2 + build/qapi/qapi-commands-stats.trace-events | 6 + build/qapi/qapi-commands-tpm.trace-events | 8 + build/qapi/qapi-commands-trace.trace-events | 6 + .../qapi-commands-transaction.trace-events | 4 + build/qapi/qapi-commands-uefi.trace-events | 2 + build/qapi/qapi-commands-ui.trace-events | 30 + build/qapi/qapi-commands-vfio.trace-events | 2 + build/qapi/qapi-commands-virtio.trace-events | 12 + build/qapi/qapi-commands-yank.trace-events | 6 + build/qapi/qapi-commands.trace-events | 2 + build/qapi/qapi-init-commands.trace-events | 2 + qapi/meson.build | 4 +- scripts/qapi/commands.py | 10 +- scripts/qapi/common.py | 16 +- scripts/qapi/expr.py | 18 +- scripts/qapi/gen.py | 56 +- scripts/qapi/introspect.py | 38 +- scripts/qapi/schema.py | 47 +- scripts/qapi/visit.py | 4 + 418 files changed, 119094 insertions(+), 101 deletions(-) create mode 100644 build/qapi/qapi-builtin-types.h create mode 100644 build/qapi/qapi-builtin-visit.h create mode 100644 build/qapi/qapi-commands-acpi.h create mode 100644 build/qapi/qapi-commands-audio.h create mode 100644 build/qapi/qapi-commands-authz.h create mode 100644 build/qapi/qapi-commands-block-core.h create mode 100644 build/qapi/qapi-commands-block-export.h create mode 100644 build/qapi/qapi-commands-block.h create mode 100644 build/qapi/qapi-commands-char.h create mode 100644 build/qapi/qapi-commands-common.h create mode 100644 build/qapi/qapi-commands-compat.h create mode 100644 build/qapi/qapi-commands-control.h create mode 100644 build/qapi/qapi-commands-crypto.h create mode 100644 build/qapi/qapi-commands-cryptodev.h create mode 100644 build/qapi/qapi-commands-cxl.h create mode 100644 build/qapi/qapi-commands-dump.h create mode 100644 build/qapi/qapi-commands-ebpf.h create mode 100644 build/qapi/qapi-commands-error.h create mode 100644 build/qapi/qapi-commands-introspect.h create mode 100644 build/qapi/qapi-commands-job.h create mode 100644 build/qapi/qapi-commands-machine-common.h create mode 100644 build/qapi/qapi-commands-machine-target.h create mode 100644 build/qapi/qapi-commands-machine.h create mode 100644 build/qapi/qapi-commands-migration.h create mode 100644 build/qapi/qapi-commands-misc-target.h create mode 100644 build/qapi/qapi-commands-misc.h create mode 100644 build/qapi/qapi-commands-net.h create mode 100644 build/qapi/qapi-commands-pci.h create mode 100644 build/qapi/qapi-commands-pragma.h create mode 100644 build/qapi/qapi-commands-qdev.h create mode 100644 build/qapi/qapi-commands-qom.h create mode 100644 build/qapi/qapi-commands-replay.h create mode 100644 build/qapi/qapi-commands-rocker.h create mode 100644 build/qapi/qapi-commands-run-state.h create mode 100644 build/qapi/qapi-commands-sockets.h create mode 100644 build/qapi/qapi-commands-stats.h create mode 100644 build/qapi/qapi-commands-tpm.h create mode 100644 build/qapi/qapi-commands-trace.h create mode 100644 build/qapi/qapi-commands-transaction.h create mode 100644 build/qapi/qapi-commands-uefi.h create mode 100644 build/qapi/qapi-commands-ui.h create mode 100644 build/qapi/qapi-commands-vfio.h create mode 100644 build/qapi/qapi-commands-virtio.h create mode 100644 build/qapi/qapi-commands-yank.h create mode 100644 build/qapi/qapi-commands.h create mode 100644 build/qapi/qapi-emit-events.h create mode 100644 build/qapi/qapi-events-acpi.h create mode 100644 build/qapi/qapi-events-audio.h create mode 100644 build/qapi/qapi-events-authz.h create mode 100644 build/qapi/qapi-events-block-core.h create mode 100644 build/qapi/qapi-events-block-export.h create mode 100644 build/qapi/qapi-events-block.h create mode 100644 build/qapi/qapi-events-char.h create mode 100644 build/qapi/qapi-events-common.h create mode 100644 build/qapi/qapi-events-compat.h create mode 100644 build/qapi/qapi-events-control.h create mode 100644 build/qapi/qapi-events-crypto.h create mode 100644 build/qapi/qapi-events-cryptodev.h create mode 100644 build/qapi/qapi-events-cxl.h create mode 100644 build/qapi/qapi-events-dump.h create mode 100644 build/qapi/qapi-events-ebpf.h create mode 100644 build/qapi/qapi-events-error.h create mode 100644 build/qapi/qapi-events-introspect.h create mode 100644 build/qapi/qapi-events-job.h create mode 100644 build/qapi/qapi-events-machine-common.h create mode 100644 build/qapi/qapi-events-machine-target.h create mode 100644 build/qapi/qapi-events-machine.h create mode 100644 build/qapi/qapi-events-migration.h create mode 100644 build/qapi/qapi-events-misc-target.h create mode 100644 build/qapi/qapi-events-misc.h create mode 100644 build/qapi/qapi-events-net.h create mode 100644 build/qapi/qapi-events-pci.h create mode 100644 build/qapi/qapi-events-pragma.h create mode 100644 build/qapi/qapi-events-qdev.h create mode 100644 build/qapi/qapi-events-qom.h create mode 100644 build/qapi/qapi-events-replay.h create mode 100644 build/qapi/qapi-events-rocker.h create mode 100644 build/qapi/qapi-events-run-state.h create mode 100644 build/qapi/qapi-events-sockets.h create mode 100644 build/qapi/qapi-events-stats.h create mode 100644 build/qapi/qapi-events-tpm.h create mode 100644 build/qapi/qapi-events-trace.h create mode 100644 build/qapi/qapi-events-transaction.h create mode 100644 build/qapi/qapi-events-uefi.h create mode 100644 build/qapi/qapi-events-ui.h create mode 100644 build/qapi/qapi-events-vfio.h create mode 100644 build/qapi/qapi-events-virtio.h create mode 100644 build/qapi/qapi-events-yank.h create mode 100644 build/qapi/qapi-events.h create mode 100644 build/qapi/qapi-features.h create mode 100644 build/qapi/qapi-init-commands.h create mode 100644 build/qapi/qapi-introspect.h create mode 100644 build/qapi/qapi-types-acpi.h create mode 100644 build/qapi/qapi-types-audio.h create mode 100644 build/qapi/qapi-types-authz.h create mode 100644 build/qapi/qapi-types-block-core.h create mode 100644 build/qapi/qapi-types-block-export.h create mode 100644 build/qapi/qapi-types-block.h create mode 100644 build/qapi/qapi-types-char.h create mode 100644 build/qapi/qapi-types-common.h create mode 100644 build/qapi/qapi-types-compat.h create mode 100644 build/qapi/qapi-types-control.h create mode 100644 build/qapi/qapi-types-crypto.h create mode 100644 build/qapi/qapi-types-cryptodev.h create mode 100644 build/qapi/qapi-types-cxl.h create mode 100644 build/qapi/qapi-types-dump.h create mode 100644 build/qapi/qapi-types-ebpf.h create mode 100644 build/qapi/qapi-types-error.h create mode 100644 build/qapi/qapi-types-introspect.h create mode 100644 build/qapi/qapi-types-job.h create mode 100644 build/qapi/qapi-types-machine-common.h create mode 100644 build/qapi/qapi-types-machine-target.h create mode 100644 build/qapi/qapi-types-machine.h create mode 100644 build/qapi/qapi-types-migration.h create mode 100644 build/qapi/qapi-types-misc-target.h create mode 100644 build/qapi/qapi-types-misc.h create mode 100644 build/qapi/qapi-types-net.h create mode 100644 build/qapi/qapi-types-pci.h create mode 100644 build/qapi/qapi-types-pragma.h create mode 100644 build/qapi/qapi-types-qdev.h create mode 100644 build/qapi/qapi-types-qom.h create mode 100644 build/qapi/qapi-types-replay.h create mode 100644 build/qapi/qapi-types-rocker.h create mode 100644 build/qapi/qapi-types-run-state.h create mode 100644 build/qapi/qapi-types-sockets.h create mode 100644 build/qapi/qapi-types-stats.h create mode 100644 build/qapi/qapi-types-tpm.h create mode 100644 build/qapi/qapi-types-trace.h create mode 100644 build/qapi/qapi-types-transaction.h create mode 100644 build/qapi/qapi-types-uefi.h create mode 100644 build/qapi/qapi-types-ui.h create mode 100644 build/qapi/qapi-types-vfio.h create mode 100644 build/qapi/qapi-types-virtio.h create mode 100644 build/qapi/qapi-types-yank.h create mode 100644 build/qapi/qapi-types.h create mode 100644 build/qapi/qapi-visit-acpi.h create mode 100644 build/qapi/qapi-visit-audio.h create mode 100644 build/qapi/qapi-visit-authz.h create mode 100644 build/qapi/qapi-visit-block-core.h create mode 100644 build/qapi/qapi-visit-block-export.h create mode 100644 build/qapi/qapi-visit-block.h create mode 100644 build/qapi/qapi-visit-char.h create mode 100644 build/qapi/qapi-visit-common.h create mode 100644 build/qapi/qapi-visit-compat.h create mode 100644 build/qapi/qapi-visit-control.h create mode 100644 build/qapi/qapi-visit-crypto.h create mode 100644 build/qapi/qapi-visit-cryptodev.h create mode 100644 build/qapi/qapi-visit-cxl.h create mode 100644 build/qapi/qapi-visit-dump.h create mode 100644 build/qapi/qapi-visit-ebpf.h create mode 100644 build/qapi/qapi-visit-error.h create mode 100644 build/qapi/qapi-visit-introspect.h create mode 100644 build/qapi/qapi-visit-job.h create mode 100644 build/qapi/qapi-visit-machine-common.h create mode 100644 build/qapi/qapi-visit-machine-target.h create mode 100644 build/qapi/qapi-visit-machine.h create mode 100644 build/qapi/qapi-visit-migration.h create mode 100644 build/qapi/qapi-visit-misc-target.h create mode 100644 build/qapi/qapi-visit-misc.h create mode 100644 build/qapi/qapi-visit-net.h create mode 100644 build/qapi/qapi-visit-pci.h create mode 100644 build/qapi/qapi-visit-pragma.h create mode 100644 build/qapi/qapi-visit-qdev.h create mode 100644 build/qapi/qapi-visit-qom.h create mode 100644 build/qapi/qapi-visit-replay.h create mode 100644 build/qapi/qapi-visit-rocker.h create mode 100644 build/qapi/qapi-visit-run-state.h create mode 100644 build/qapi/qapi-visit-sockets.h create mode 100644 build/qapi/qapi-visit-stats.h create mode 100644 build/qapi/qapi-visit-tpm.h create mode 100644 build/qapi/qapi-visit-trace.h create mode 100644 build/qapi/qapi-visit-transaction.h create mode 100644 build/qapi/qapi-visit-uefi.h create mode 100644 build/qapi/qapi-visit-ui.h create mode 100644 build/qapi/qapi-visit-vfio.h create mode 100644 build/qapi/qapi-visit-virtio.h create mode 100644 build/qapi/qapi-visit-yank.h create mode 100644 build/qapi/qapi-visit.h create mode 100644 build/qapi/qapi-builtin-types.c create mode 100644 build/qapi/qapi-builtin-visit.c create mode 100644 build/qapi/qapi-commands-acpi.c create mode 100644 build/qapi/qapi-commands-audio.c create mode 100644 build/qapi/qapi-commands-authz.c create mode 100644 build/qapi/qapi-commands-block-core.c create mode 100644 build/qapi/qapi-commands-block-export.c create mode 100644 build/qapi/qapi-commands-block.c create mode 100644 build/qapi/qapi-commands-char.c create mode 100644 build/qapi/qapi-commands-common.c create mode 100644 build/qapi/qapi-commands-compat.c create mode 100644 build/qapi/qapi-commands-control.c create mode 100644 build/qapi/qapi-commands-crypto.c create mode 100644 build/qapi/qapi-commands-cryptodev.c create mode 100644 build/qapi/qapi-commands-cxl.c create mode 100644 build/qapi/qapi-commands-dump.c create mode 100644 build/qapi/qapi-commands-ebpf.c create mode 100644 build/qapi/qapi-commands-error.c create mode 100644 build/qapi/qapi-commands-introspect.c create mode 100644 build/qapi/qapi-commands-job.c create mode 100644 build/qapi/qapi-commands-machine-common.c create mode 100644 build/qapi/qapi-commands-machine-target.c create mode 100644 build/qapi/qapi-commands-machine.c create mode 100644 build/qapi/qapi-commands-migration.c create mode 100644 build/qapi/qapi-commands-misc-target.c create mode 100644 build/qapi/qapi-commands-misc.c create mode 100644 build/qapi/qapi-commands-net.c create mode 100644 build/qapi/qapi-commands-pci.c create mode 100644 build/qapi/qapi-commands-pragma.c create mode 100644 build/qapi/qapi-commands-qdev.c create mode 100644 build/qapi/qapi-commands-qom.c create mode 100644 build/qapi/qapi-commands-replay.c create mode 100644 build/qapi/qapi-commands-rocker.c create mode 100644 build/qapi/qapi-commands-run-state.c create mode 100644 build/qapi/qapi-commands-sockets.c create mode 100644 build/qapi/qapi-commands-stats.c create mode 100644 build/qapi/qapi-commands-tpm.c create mode 100644 build/qapi/qapi-commands-trace.c create mode 100644 build/qapi/qapi-commands-transaction.c create mode 100644 build/qapi/qapi-commands-uefi.c create mode 100644 build/qapi/qapi-commands-ui.c create mode 100644 build/qapi/qapi-commands-vfio.c create mode 100644 build/qapi/qapi-commands-virtio.c create mode 100644 build/qapi/qapi-commands-yank.c create mode 100644 build/qapi/qapi-commands.c create mode 100644 build/qapi/qapi-emit-events.c create mode 100644 build/qapi/qapi-events-acpi.c create mode 100644 build/qapi/qapi-events-audio.c create mode 100644 build/qapi/qapi-events-authz.c create mode 100644 build/qapi/qapi-events-block-core.c create mode 100644 build/qapi/qapi-events-block-export.c create mode 100644 build/qapi/qapi-events-block.c create mode 100644 build/qapi/qapi-events-char.c create mode 100644 build/qapi/qapi-events-common.c create mode 100644 build/qapi/qapi-events-compat.c create mode 100644 build/qapi/qapi-events-control.c create mode 100644 build/qapi/qapi-events-crypto.c create mode 100644 build/qapi/qapi-events-cryptodev.c create mode 100644 build/qapi/qapi-events-cxl.c create mode 100644 build/qapi/qapi-events-dump.c create mode 100644 build/qapi/qapi-events-ebpf.c create mode 100644 build/qapi/qapi-events-error.c create mode 100644 build/qapi/qapi-events-introspect.c create mode 100644 build/qapi/qapi-events-job.c create mode 100644 build/qapi/qapi-events-machine-common.c create mode 100644 build/qapi/qapi-events-machine-target.c create mode 100644 build/qapi/qapi-events-machine.c create mode 100644 build/qapi/qapi-events-migration.c create mode 100644 build/qapi/qapi-events-misc-target.c create mode 100644 build/qapi/qapi-events-misc.c create mode 100644 build/qapi/qapi-events-net.c create mode 100644 build/qapi/qapi-events-pci.c create mode 100644 build/qapi/qapi-events-pragma.c create mode 100644 build/qapi/qapi-events-qdev.c create mode 100644 build/qapi/qapi-events-qom.c create mode 100644 build/qapi/qapi-events-replay.c create mode 100644 build/qapi/qapi-events-rocker.c create mode 100644 build/qapi/qapi-events-run-state.c create mode 100644 build/qapi/qapi-events-sockets.c create mode 100644 build/qapi/qapi-events-stats.c create mode 100644 build/qapi/qapi-events-tpm.c create mode 100644 build/qapi/qapi-events-trace.c create mode 100644 build/qapi/qapi-events-transaction.c create mode 100644 build/qapi/qapi-events-uefi.c create mode 100644 build/qapi/qapi-events-ui.c create mode 100644 build/qapi/qapi-events-vfio.c create mode 100644 build/qapi/qapi-events-virtio.c create mode 100644 build/qapi/qapi-events-yank.c create mode 100644 build/qapi/qapi-events.c create mode 100644 build/qapi/qapi-features.c create mode 100644 build/qapi/qapi-init-commands.c create mode 100644 build/qapi/qapi-introspect.c create mode 100644 build/qapi/qapi-types-acpi.c create mode 100644 build/qapi/qapi-types-audio.c create mode 100644 build/qapi/qapi-types-authz.c create mode 100644 build/qapi/qapi-types-block-core.c create mode 100644 build/qapi/qapi-types-block-export.c create mode 100644 build/qapi/qapi-types-block.c create mode 100644 build/qapi/qapi-types-char.c create mode 100644 build/qapi/qapi-types-common.c create mode 100644 build/qapi/qapi-types-compat.c create mode 100644 build/qapi/qapi-types-control.c create mode 100644 build/qapi/qapi-types-crypto.c create mode 100644 build/qapi/qapi-types-cryptodev.c create mode 100644 build/qapi/qapi-types-cxl.c create mode 100644 build/qapi/qapi-types-dump.c create mode 100644 build/qapi/qapi-types-ebpf.c create mode 100644 build/qapi/qapi-types-error.c create mode 100644 build/qapi/qapi-types-introspect.c create mode 100644 build/qapi/qapi-types-job.c create mode 100644 build/qapi/qapi-types-machine-common.c create mode 100644 build/qapi/qapi-types-machine-target.c create mode 100644 build/qapi/qapi-types-machine.c create mode 100644 build/qapi/qapi-types-migration.c create mode 100644 build/qapi/qapi-types-misc-target.c create mode 100644 build/qapi/qapi-types-misc.c create mode 100644 build/qapi/qapi-types-net.c create mode 100644 build/qapi/qapi-types-pci.c create mode 100644 build/qapi/qapi-types-pragma.c create mode 100644 build/qapi/qapi-types-qdev.c create mode 100644 build/qapi/qapi-types-qom.c create mode 100644 build/qapi/qapi-types-replay.c create mode 100644 build/qapi/qapi-types-rocker.c create mode 100644 build/qapi/qapi-types-run-state.c create mode 100644 build/qapi/qapi-types-sockets.c create mode 100644 build/qapi/qapi-types-stats.c create mode 100644 build/qapi/qapi-types-tpm.c create mode 100644 build/qapi/qapi-types-trace.c create mode 100644 build/qapi/qapi-types-transaction.c create mode 100644 build/qapi/qapi-types-uefi.c create mode 100644 build/qapi/qapi-types-ui.c create mode 100644 build/qapi/qapi-types-vfio.c create mode 100644 build/qapi/qapi-types-virtio.c create mode 100644 build/qapi/qapi-types-yank.c create mode 100644 build/qapi/qapi-types.c create mode 100644 build/qapi/qapi-visit-acpi.c create mode 100644 build/qapi/qapi-visit-audio.c create mode 100644 build/qapi/qapi-visit-authz.c create mode 100644 build/qapi/qapi-visit-block-core.c create mode 100644 build/qapi/qapi-visit-block-export.c create mode 100644 build/qapi/qapi-visit-block.c create mode 100644 build/qapi/qapi-visit-char.c create mode 100644 build/qapi/qapi-visit-common.c create mode 100644 build/qapi/qapi-visit-compat.c create mode 100644 build/qapi/qapi-visit-control.c create mode 100644 build/qapi/qapi-visit-crypto.c create mode 100644 build/qapi/qapi-visit-cryptodev.c create mode 100644 build/qapi/qapi-visit-cxl.c create mode 100644 build/qapi/qapi-visit-dump.c create mode 100644 build/qapi/qapi-visit-ebpf.c create mode 100644 build/qapi/qapi-visit-error.c create mode 100644 build/qapi/qapi-visit-introspect.c create mode 100644 build/qapi/qapi-visit-job.c create mode 100644 build/qapi/qapi-visit-machine-common.c create mode 100644 build/qapi/qapi-visit-machine-target.c create mode 100644 build/qapi/qapi-visit-machine.c create mode 100644 build/qapi/qapi-visit-migration.c create mode 100644 build/qapi/qapi-visit-misc-target.c create mode 100644 build/qapi/qapi-visit-misc.c create mode 100644 build/qapi/qapi-visit-net.c create mode 100644 build/qapi/qapi-visit-pci.c create mode 100644 build/qapi/qapi-visit-pragma.c create mode 100644 build/qapi/qapi-visit-qdev.c create mode 100644 build/qapi/qapi-visit-qom.c create mode 100644 build/qapi/qapi-visit-replay.c create mode 100644 build/qapi/qapi-visit-rocker.c create mode 100644 build/qapi/qapi-visit-run-state.c create mode 100644 build/qapi/qapi-visit-sockets.c create mode 100644 build/qapi/qapi-visit-stats.c create mode 100644 build/qapi/qapi-visit-tpm.c create mode 100644 build/qapi/qapi-visit-trace.c create mode 100644 build/qapi/qapi-visit-transaction.c create mode 100644 build/qapi/qapi-visit-uefi.c create mode 100644 build/qapi/qapi-visit-ui.c create mode 100644 build/qapi/qapi-visit-vfio.c create mode 100644 build/qapi/qapi-visit-virtio.c create mode 100644 build/qapi/qapi-visit-yank.c create mode 100644 build/qapi/qapi-visit.c create mode 100644 qapi/commands-weak-stubs.c create mode 100644 build/qapi/qapi-commands-acpi.trace-events create mode 100644 build/qapi/qapi-commands-audio.trace-events create mode 100644 build/qapi/qapi-commands-authz.trace-events create mode 100644 build/qapi/qapi-commands-block-core.trace-events create mode 100644 build/qapi/qapi-commands-block-export.trace-events create mode 100644 build/qapi/qapi-commands-block.trace-events create mode 100644 build/qapi/qapi-commands-char.trace-events create mode 100644 build/qapi/qapi-commands-common.trace-events create mode 100644 build/qapi/qapi-commands-compat.trace-events create mode 100644 build/qapi/qapi-commands-control.trace-events create mode 100644 build/qapi/qapi-commands-crypto.trace-events create mode 100644 build/qapi/qapi-commands-cryptodev.trace-events create mode 100644 build/qapi/qapi-commands-cxl.trace-events create mode 100644 build/qapi/qapi-commands-dump.trace-events create mode 100644 build/qapi/qapi-commands-ebpf.trace-events create mode 100644 build/qapi/qapi-commands-error.trace-events create mode 100644 build/qapi/qapi-commands-introspect.trace-events create mode 100644 build/qapi/qapi-commands-job.trace-events create mode 100644 build/qapi/qapi-commands-machine-common.trace-events create mode 100644 build/qapi/qapi-commands-machine-target.trace-events create mode 100644 build/qapi/qapi-commands-machine.trace-events create mode 100644 build/qapi/qapi-commands-migration.trace-events create mode 100644 build/qapi/qapi-commands-misc-target.trace-events create mode 100644 build/qapi/qapi-commands-misc.trace-events create mode 100644 build/qapi/qapi-commands-net.trace-events create mode 100644 build/qapi/qapi-commands-pci.trace-events create mode 100644 build/qapi/qapi-commands-pragma.trace-events create mode 100644 build/qapi/qapi-commands-qdev.trace-events create mode 100644 build/qapi/qapi-commands-qom.trace-events create mode 100644 build/qapi/qapi-commands-replay.trace-events create mode 100644 build/qapi/qapi-commands-rocker.trace-events create mode 100644 build/qapi/qapi-commands-run-state.trace-events create mode 100644 build/qapi/qapi-commands-sockets.trace-events create mode 100644 build/qapi/qapi-commands-stats.trace-events create mode 100644 build/qapi/qapi-commands-tpm.trace-events create mode 100644 build/qapi/qapi-commands-trace.trace-events create mode 100644 build/qapi/qapi-commands-transaction.trace-events create mode 100644 build/qapi/qapi-commands-uefi.trace-events create mode 100644 build/qapi/qapi-commands-ui.trace-events create mode 100644 build/qapi/qapi-commands-vfio.trace-events create mode 100644 build/qapi/qapi-commands-virtio.trace-events create mode 100644 build/qapi/qapi-commands-yank.trace-events create mode 100644 build/qapi/qapi-commands.trace-events create mode 100644 build/qapi/qapi-init-commands.trace-events -- 2.47.2