Add QAPI schema for the module info database. Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- qapi/meson.build | 1 + qapi/modules.json | 36 ++++++++++++++++++++++++++++++++++++ qapi/qapi-schema.json | 1 + 3 files changed, 38 insertions(+) create mode 100644 qapi/modules.json
diff --git a/qapi/meson.build b/qapi/meson.build index 376f4ceafe74..596aa5d71168 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -36,6 +36,7 @@ qapi_all_modules = [ 'migration', 'misc', 'misc-target', + 'modules', 'net', 'pragma', 'qom', diff --git a/qapi/modules.json b/qapi/modules.json new file mode 100644 index 000000000000..5420977d8765 --- /dev/null +++ b/qapi/modules.json @@ -0,0 +1,36 @@ +# -*- Mode: Python -*- +# vim: filetype=python + +## +# @ModuleInfo: +# +# qemu module metadata +# +# @name: module name +# +# @objs: list of qom objects implemented by the module. +# +# @deps: list of other modules this module depends on. +# +# @arch: module architecture. +# +# @opts: qemu opts implemented by module. +# +# Since: 6.1 +## +{ 'struct': 'ModuleInfo', + 'data': { 'name' : 'str', + '*objs' : ['str'], + '*deps' : ['str'], + '*arch' : 'str', + '*opts' : 'str'}} + +## +# @Modules: +# +# qemu module list +# +# Since: 6.1 +## +{ 'struct': 'Modules', + 'data': { 'list' : ['ModuleInfo']}} diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json index 4912b9744e69..5baa511c2ff5 100644 --- a/qapi/qapi-schema.json +++ b/qapi/qapi-schema.json @@ -93,3 +93,4 @@ { 'include': 'audio.json' } { 'include': 'acpi.json' } { 'include': 'pci.json' } +{ 'include': 'modules.json' } -- 2.31.1