[PATCH v4 12/17] docs/interop/firmware.json: Add igvm to FirmwareDevice

Roy Hopkins posted 17 patches 4 months, 3 weeks ago
Maintainers: "Philippe Mathieu-Daudé" <philmd@linaro.org>, "Daniel P. Berrangé" <berrange@redhat.com>, Kashyap Chamarthy <kchamart@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Thomas Huth <thuth@redhat.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>
There is a newer version of this series
[PATCH v4 12/17] docs/interop/firmware.json: Add igvm to FirmwareDevice
Posted by Roy Hopkins 4 months, 3 weeks ago
Create an enum entry within FirmwareDevice for 'igvm' to describe that
an IGVM file can be used to map firmware into memory as an alternative
to pre-existing firmware devices.

Signed-off-by: Roy Hopkins <roy.hopkins@suse.com>
---
 docs/interop/firmware.json | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json
index 54a1fc6c10..4a696adc22 100644
--- a/docs/interop/firmware.json
+++ b/docs/interop/firmware.json
@@ -55,10 +55,17 @@
 #
 # @memory: The firmware is to be mapped into memory.
 #
+# @igvm: The firmware is defined by a file conforming to the IGVM
+#        specification and mapped into memory according to directives
+#        defined in the file. This is similar to @memory but may
+#        include additional processing defined by the IGVM file
+#        including initial CPU state or population of metadata into
+#        the guest address space. Since: 9.1
+#
 # Since: 3.0
 ##
 { 'enum' : 'FirmwareDevice',
-  'data' : [ 'flash', 'kernel', 'memory' ] }
+  'data' : [ 'flash', 'kernel', 'memory', 'igvm' ] }
 
 ##
 # @FirmwareTarget:
-- 
2.43.0
Re: [PATCH v4 12/17] docs/interop/firmware.json: Add igvm to FirmwareDevice
Posted by Daniel P. Berrangé 4 months ago
On Wed, Jul 03, 2024 at 12:05:50PM +0100, Roy Hopkins wrote:
> Create an enum entry within FirmwareDevice for 'igvm' to describe that
> an IGVM file can be used to map firmware into memory as an alternative
> to pre-existing firmware devices.
> 
> Signed-off-by: Roy Hopkins <roy.hopkins@suse.com>
> ---
>  docs/interop/firmware.json | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json
> index 54a1fc6c10..4a696adc22 100644
> --- a/docs/interop/firmware.json
> +++ b/docs/interop/firmware.json
> @@ -55,10 +55,17 @@
>  #
>  # @memory: The firmware is to be mapped into memory.
>  #
> +# @igvm: The firmware is defined by a file conforming to the IGVM
> +#        specification and mapped into memory according to directives
> +#        defined in the file. This is similar to @memory but may
> +#        include additional processing defined by the IGVM file
> +#        including initial CPU state or population of metadata into
> +#        the guest address space. Since: 9.1
> +#
>  # Since: 3.0
>  ##
>  { 'enum' : 'FirmwareDevice',
> -  'data' : [ 'flash', 'kernel', 'memory' ] }
> +  'data' : [ 'flash', 'kernel', 'memory', 'igvm' ] }

Further down  'FirmwareDevice' is used as a union discriminator
for 'FirmwareMapping'. So you'll need to extend that union to
list what parameters can be used. I imagine just a copy of the
'FirmwareMappingMemory' struct is sufficient, giving us a simple
filename.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|