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.hopk...@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 :|