On 18.04.2018 00:40, Laszlo Ersek wrote:
Add a schema that describes the different uses and properties of
virtual
machine firmware.
Each firmware executable installed on a host system should come with at
least one JSON file that conforms to this schema. Each file informs the
management applications about the firmware's properties and one possible
use case / feature set.
In addition, a configuration directory with symlinks to the JSON files
should exist, with the symlinks carefully named to reflect a priority
order. Management applications can then search this directory in priority
order for the first firmware description that satisfies their search
criteria. The found JSON file provides the management layer with domain
configuration bits that are required to run the firmware binary for a
certain use case or feature set.
[...]
+##
+# @FirmwareMappingFlash:
+#
+# Describes loading and mapping properties for the firmware executable and its
+# accompanying NVRAM file, when @FirmwareDevice is @flash.
+#
+# @executable: Identifies the firmware executable. The firmware executable may
+# be shared by multiple virtual machine definitions. The
+# corresponding QEMU command line option is "-drive
+#
if=pflash,unit=0,readonly=on,file=@executable.@pathname,format=@executable.(a)format".
+#
+# @nvram_template: Identifies the NVRAM template compatible with @executable.
+# Management software instantiates an individual copy -- a
+# specific NVRAM file -- from @nvram_template.@pathname for
+# each new virtual machine definition created.
+# @nvram_template.@pathname itself is never mapped into
+# virtual machines, only individual copies of it are. An NVRAM
+# file is typically used for persistently storing the
+# non-volatile UEFI variables of a virtual machine definition.
+# The corresponding QEMU command line option is "-drive
+#
if=pflash,unit=1,readonly=off,file=PATHNAME_OF_PRIVATE_NVRAM_FILE,format=@nvram_template.(a)format".
+#
+# Since: 2.13
+##
+{ 'struct' : 'FirmwareMappingFlash',
+ 'data' : { 'executable' : 'FirmwareFlashFile',
+ 'nvram_template' : 'FirmwareFlashFile' } }
I think it's more common to use "-" than "_" in these json files,
so
maybe better use "nvram-template" instead of "nvram_template" ?
Thomas