On Tue, Aug 13, 2024 at 04:01:13PM GMT, 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>
>Acked-by: Michael S. Tsirkin <mst@redhat.com>
>---
> docs/interop/firmware.json | 30 ++++++++++++++++++++++++++++--
> 1 file changed, 28 insertions(+), 2 deletions(-)
>
>diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json
>index 57f55f6c54..59ae39cb13 100644
>--- a/docs/interop/firmware.json
>+++ b/docs/interop/firmware.json
>@@ -57,10 +57,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: 9.2
>+#
> # Since: 3.0
> ##
> { 'enum' : 'FirmwareDevice',
>- 'data' : [ 'flash', 'kernel', 'memory' ] }
>+ 'data' : [ 'flash', 'kernel', 'memory', 'igvm' ] }
>
> ##
> # @FirmwareArchitecture:
>@@ -367,6 +374,24 @@
> { 'struct' : 'FirmwareMappingMemory',
> 'data' : { 'filename' : 'str' } }
>
>+##
>+# @FirmwareMappingIgvm:
>+#
>+# Describes loading and mapping properties for the firmware executable,
>+# when @FirmwareDevice is @igvm.
>+#
>+# @filename: Identifies the IGVM file containing the firmware executable
>+# along with other information used to configure the initial
>+# state of the guest. The IGVM file may be shared by multiple
>+# virtual machine definitions. This corresponds to creating
>+# an object on the command line with "-object igvm-cfg,
>+# file=@filename".
>+#
>+# Since: 9.1
Ditto
With them fixed:
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
>+##
>+{ 'struct' : 'FirmwareMappingIgvm',
>+ 'data' : { 'filename' : 'str' } }
>+
> ##
> # @FirmwareMapping:
> #
>@@ -383,7 +408,8 @@
> 'discriminator' : 'device',
> 'data' : { 'flash' : 'FirmwareMappingFlash',
> 'kernel' : 'FirmwareMappingKernel',
>- 'memory' : 'FirmwareMappingMemory' } }
>+ 'memory' : 'FirmwareMappingMemory',
>+ 'igvm' : 'FirmwareMappingIgvm' } }
>
> ##
> # @Firmware:
>--
>2.43.0
>