Message ID | 20240719-qapi-firmware-json-v6-2-c2e3de390b58@linutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | docs/interop/firmware.json: scripts/qapi-gen.py compatibility | expand |
Thomas Weißschuh <thomas.weissschuh@linutronix.de> writes: > Only a small subset of all architectures supported by qemu make use of > firmware files. Introduce and use a new enum to represent this. > > This also removes the dependency to machine.json from the global qapi > definitions. > > Claim "Since: 3.0" for the new enum, because that's correct for most of > its members, and the members are what matters in the interface. > > Suggested-by: Daniel P. Berrangé <berrange@redhat.com> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> > --- > docs/interop/firmware.json | 28 ++++++++++++++++++++++++++-- > 1 file changed, 26 insertions(+), 2 deletions(-) > > diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json > index d5d4c17f230b..ae4179994479 100644 > --- a/docs/interop/firmware.json > +++ b/docs/interop/firmware.json > @@ -14,7 +14,10 @@ > # = Firmware > ## > > -{ 'include' : 'machine.json' } > +{ 'pragma': { > + 'member-name-exceptions': [ > + 'FirmwareArchitecture' # x86_64 > + ] } } > > ## > # @FirmwareOSInterface: > @@ -59,6 +62,27 @@ > { 'enum' : 'FirmwareDevice', > 'data' : [ 'flash', 'kernel', 'memory' ] } > > +## > +# @FirmwareArchitecture: > +# > +# Enumeration of architectures for which Qemu uses additional QEMU > +# firmware files. > +# > +# @aarch64: 64-bit Arm. > +# > +# @arm: 32-bit Arm. > +# > +# @i386: 32-bit x86. > +# > +# @loongarch64: 64-bit LoongArch. (since: 7.1) > +# > +# @x86_64: 64-bit x86. > +# > +# Since: 3.0 > +## > +{ 'enum' : 'FirmwareArchitecture', > + 'data' : [ 'aarch64', 'arm', 'i386', 'loongarch64', 'x86_64' ] } > + > ## > # @FirmwareTarget: > # > @@ -80,7 +104,7 @@ > # Since: 3.0 > ## > { 'struct' : 'FirmwareTarget', > - 'data' : { 'architecture' : 'SysEmuTarget', > + 'data' : { 'architecture' : 'FirmwareArchitecture', > 'machines' : [ 'str' ] } } > > ## Reviewed-by: Markus Armbruster <armbru@redhat.com>
diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json index d5d4c17f230b..ae4179994479 100644 --- a/docs/interop/firmware.json +++ b/docs/interop/firmware.json @@ -14,7 +14,10 @@ # = Firmware ## -{ 'include' : 'machine.json' } +{ 'pragma': { + 'member-name-exceptions': [ + 'FirmwareArchitecture' # x86_64 + ] } } ## # @FirmwareOSInterface: @@ -59,6 +62,27 @@ { 'enum' : 'FirmwareDevice', 'data' : [ 'flash', 'kernel', 'memory' ] } +## +# @FirmwareArchitecture: +# +# Enumeration of architectures for which Qemu uses additional +# firmware files. +# +# @aarch64: 64-bit Arm. +# +# @arm: 32-bit Arm. +# +# @i386: 32-bit x86. +# +# @loongarch64: 64-bit LoongArch. (since: 7.1) +# +# @x86_64: 64-bit x86. +# +# Since: 3.0 +## +{ 'enum' : 'FirmwareArchitecture', + 'data' : [ 'aarch64', 'arm', 'i386', 'loongarch64', 'x86_64' ] } + ## # @FirmwareTarget: # @@ -80,7 +104,7 @@ # Since: 3.0 ## { 'struct' : 'FirmwareTarget', - 'data' : { 'architecture' : 'SysEmuTarget', + 'data' : { 'architecture' : 'FirmwareArchitecture', 'machines' : [ 'str' ] } } ##