* [PATCH v2 0/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory
@ 2026-02-09 13:39 Andrea Bolognani
2026-02-09 13:39 ` [PATCH v2 1/1] " Andrea Bolognani
0 siblings, 1 reply; 8+ messages in thread
From: Andrea Bolognani @ 2026-02-09 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Daniel P. Berrangé, Pierrick Bouvier, Kashyap Chamarthy,
Gerd Hoffmann, Markus Armbruster, Philippe Mathieu-Daudé
This is part of the ongoing effort to make Secure Boot for aarch64
libvirt guests possible[1].
Changes from [v1]:
* rewrite based on review feedback: the additional information is
now recorded as a dedicated struct, which intentionally doesn't
mirror the existing FirmwareMappingFlash.
[1] https://issues.redhat.com/browse/RHEL-82645
[v1] https://mail.gnu.org/archive/html/qemu-devel/2025-12/msg03462.html
Andrea Bolognani (1):
docs/interop/firmware: Add 'uefi-vars' member for
FirmwareMappingMemory
docs/interop/firmware.json | 44 +++++++++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
--
2.53.0
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH v2 1/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory 2026-02-09 13:39 [PATCH v2 0/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory Andrea Bolognani @ 2026-02-09 13:39 ` Andrea Bolognani 2026-02-11 16:18 ` Daniel P. Berrangé 2026-02-17 9:08 ` Markus Armbruster 0 siblings, 2 replies; 8+ messages in thread From: Andrea Bolognani @ 2026-02-09 13:39 UTC (permalink / raw) To: qemu-devel Cc: Daniel P. Berrangé, Pierrick Bouvier, Kashyap Chamarthy, Gerd Hoffmann, Markus Armbruster, Philippe Mathieu-Daudé This allows describing firmwares that are loaded as ROMs but also support a UEFI variable store. This is the case for edk2 builds that are set up to use the uefi-vars QEMU device, and whose descriptors would advertise the 'host-uefi-vars' feature. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- docs/interop/firmware.json | 44 +++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json index da0362a2c0..e51fffa473 100644 --- a/docs/interop/firmware.json +++ b/docs/interop/firmware.json @@ -369,6 +369,39 @@ { 'struct' : 'FirmwareMappingKernel', 'data' : { 'filename' : 'str' } } +## +# @FirmwareMemoryUefiVars: +# +# Contains information needed to set up the "uefi-vars" device +# to provide UEFI variable store access to the firmware. +# +# @template: The path to the UEFI variable store template compatible +# with the firmware. Management software instantiates an +# individual copy -- a specific UEFI variable store file -- from +# @template for each new virtual machine definition created. +# @template itself is never mapped into virtual machines, only +# individual copies of it are. The file created by copying +# @template is used for persistently storing the non-volatile +# UEFI variables of a virtual machine definition. The +# corresponding QEMU command line options are +# +# :: +# +# -device uefi-vars-x64,jsonfile=PATH_TO_PRIVATE_FILE +# +# for x86_64 virtual machines, or +# +# :: +# +# -device uefi-vars-sysbus,jsonfile=PATH_TO_PRIVATE_FILE +# +# for other UEFI architectures (aarch64, riscv64, loongarch64). +# +# Since: 11.0 +## +{ 'struct' : 'FirmwareMemoryUefiVars', + 'data' : { 'template' : 'str' }} + ## # @FirmwareMappingMemory: # @@ -380,10 +413,19 @@ # definitions. The corresponding QEMU command line option is # "-bios @filename". # +# @uefi-vars: Information specific to firmware builds that expect the +# "uefi-vars" device to be used to provide access to the +# UEFI variable store. If the mapping contains this +# member, the firmware descriptor should advertise the +# @uefi interface from @FirmwareOSInterface as well as +# the @host-uefi-vars feature from @FirmwareFeature. +# Since 11.0 +# # Since: 3.0 ## { 'struct' : 'FirmwareMappingMemory', - 'data' : { 'filename' : 'str' } } + 'data' : { 'filename' : 'str', + '*uefi-vars' : 'FirmwareMemoryUefiVars' } } ## # @FirmwareMappingIgvm: -- 2.53.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory 2026-02-09 13:39 ` [PATCH v2 1/1] " Andrea Bolognani @ 2026-02-11 16:18 ` Daniel P. Berrangé 2026-02-17 9:08 ` Markus Armbruster 1 sibling, 0 replies; 8+ messages in thread From: Daniel P. Berrangé @ 2026-02-11 16:18 UTC (permalink / raw) To: Andrea Bolognani Cc: qemu-devel, Pierrick Bouvier, Kashyap Chamarthy, Gerd Hoffmann, Markus Armbruster, Philippe Mathieu-Daudé On Mon, Feb 09, 2026 at 02:39:06PM +0100, Andrea Bolognani wrote: > This allows describing firmwares that are loaded as ROMs but also > support a UEFI variable store. This is the case for edk2 builds > that are set up to use the uefi-vars QEMU device, and whose > descriptors would advertise the 'host-uefi-vars' feature. > > Signed-off-by: Andrea Bolognani <abologna@redhat.com> > --- > docs/interop/firmware.json | 44 +++++++++++++++++++++++++++++++++++++- > 1 file changed, 43 insertions(+), 1 deletion(-) > > diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json > index da0362a2c0..e51fffa473 100644 > --- a/docs/interop/firmware.json > +++ b/docs/interop/firmware.json > @@ -369,6 +369,39 @@ > { 'struct' : 'FirmwareMappingKernel', > 'data' : { 'filename' : 'str' } } > > +## > +# @FirmwareMemoryUefiVars: > +# > +# Contains information needed to set up the "uefi-vars" device > +# to provide UEFI variable store access to the firmware. > +# > +# @template: The path to the UEFI variable store template compatible s/UEFI variable store/UEFI JSON variable store/ > +# with the firmware. Management software instantiates an > +# individual copy -- a specific UEFI variable store file -- from > +# @template for each new virtual machine definition created. > +# @template itself is never mapped into virtual machines, only > +# individual copies of it are. The file created by copying > +# @template is used for persistently storing the non-volatile > +# UEFI variables of a virtual machine definition. The > +# corresponding QEMU command line options are > +# > +# :: > +# > +# -device uefi-vars-x64,jsonfile=PATH_TO_PRIVATE_FILE > +# > +# for x86_64 virtual machines, or > +# > +# :: > +# > +# -device uefi-vars-sysbus,jsonfile=PATH_TO_PRIVATE_FILE > +# > +# for other UEFI architectures (aarch64, riscv64, loongarch64). > +# > +# Since: 11.0 > +## > +{ 'struct' : 'FirmwareMemoryUefiVars', > + 'data' : { 'template' : 'str' }} > + > ## > # @FirmwareMappingMemory: > # > @@ -380,10 +413,19 @@ > # definitions. The corresponding QEMU command line option is > # "-bios @filename". > # > +# @uefi-vars: Information specific to firmware builds that expect the > +# "uefi-vars" device to be used to provide access to the > +# UEFI variable store. If the mapping contains this > +# member, the firmware descriptor should advertise the > +# @uefi interface from @FirmwareOSInterface as well as > +# the @host-uefi-vars feature from @FirmwareFeature. > +# Since 11.0 s/should advertize the/must advertize both the/ s/as well as/and/ With those changes: Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > +# > # Since: 3.0 > ## > { 'struct' : 'FirmwareMappingMemory', > - 'data' : { 'filename' : 'str' } } > + 'data' : { 'filename' : 'str', > + '*uefi-vars' : 'FirmwareMemoryUefiVars' } } > > ## > # @FirmwareMappingIgvm: > -- > 2.53.0 > 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 :| ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory 2026-02-09 13:39 ` [PATCH v2 1/1] " Andrea Bolognani 2026-02-11 16:18 ` Daniel P. Berrangé @ 2026-02-17 9:08 ` Markus Armbruster 2026-02-17 11:37 ` Gerd Hoffmann 2026-02-17 13:18 ` Andrea Bolognani 1 sibling, 2 replies; 8+ messages in thread From: Markus Armbruster @ 2026-02-17 9:08 UTC (permalink / raw) To: Andrea Bolognani Cc: qemu-devel, Daniel P. Berrangé, Pierrick Bouvier, Kashyap Chamarthy, Gerd Hoffmann, Philippe Mathieu-Daudé Andrea Bolognani <abologna@redhat.com> writes: > This allows describing firmwares that are loaded as ROMs but also > support a UEFI variable store. This is the case for edk2 builds > that are set up to use the uefi-vars QEMU device, and whose > descriptors would advertise the 'host-uefi-vars' feature. > > Signed-off-by: Andrea Bolognani <abologna@redhat.com> > --- > docs/interop/firmware.json | 44 +++++++++++++++++++++++++++++++++++++- > 1 file changed, 43 insertions(+), 1 deletion(-) > > diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json > index da0362a2c0..e51fffa473 100644 > --- a/docs/interop/firmware.json > +++ b/docs/interop/firmware.json > @@ -369,6 +369,39 @@ > { 'struct' : 'FirmwareMappingKernel', > 'data' : { 'filename' : 'str' } } > > +## > +# @FirmwareMemoryUefiVars: > +# > +# Contains information needed to set up the "uefi-vars" device > +# to provide UEFI variable store access to the firmware. > +# > +# @template: The path to the UEFI variable store template compatible > +# with the firmware. Management software instantiates an > +# individual copy -- a specific UEFI variable store file -- from > +# @template for each new virtual machine definition created. > +# @template itself is never mapped into virtual machines, only > +# individual copies of it are. The file created by copying > +# @template is used for persistently storing the non-volatile > +# UEFI variables of a virtual machine definition. The > +# corresponding QEMU command line options are > +# > +# :: > +# > +# -device uefi-vars-x64,jsonfile=PATH_TO_PRIVATE_FILE > +# > +# for x86_64 virtual machines, or > +# > +# :: > +# > +# -device uefi-vars-sysbus,jsonfile=PATH_TO_PRIVATE_FILE > +# > +# for other UEFI architectures (aarch64, riscv64, loongarch64). > +# > +# Since: 11.0 > +## > +{ 'struct' : 'FirmwareMemoryUefiVars', > + 'data' : { 'template' : 'str' }} > + > ## > # @FirmwareMappingMemory: > # > @@ -380,10 +413,19 @@ > # definitions. The corresponding QEMU command line option is > # "-bios @filename". > # > +# @uefi-vars: Information specific to firmware builds that expect the > +# "uefi-vars" device to be used to provide access to the > +# UEFI variable store. If the mapping contains this > +# member, the firmware descriptor should advertise the > +# @uefi interface from @FirmwareOSInterface as well as > +# the @host-uefi-vars feature from @FirmwareFeature. > +# Since 11.0 > +# (Since 11.0) and indent like this, please: # @uefi-vars: Information specific to firmware builds that expect the # "uefi-vars" device to be used to provide access to the UEFI # variable store. If the mapping contains this member, the # firmware descriptor should advertise the @uefi interface from # @FirmwareOSInterface as well as the @host-uefi-vars feature # from @FirmwareFeature. (Since 11.0) > # Since: 3.0 > ## > { 'struct' : 'FirmwareMappingMemory', > - 'data' : { 'filename' : 'str' } } > + 'data' : { 'filename' : 'str', > + '*uefi-vars' : 'FirmwareMemoryUefiVars' } } > > ## > # @FirmwareMappingIgvm: Acked-by: Markus Armbruster <armbru@redhat.com> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory 2026-02-17 9:08 ` Markus Armbruster @ 2026-02-17 11:37 ` Gerd Hoffmann 2026-02-17 14:12 ` Andrea Bolognani 2026-02-17 13:18 ` Andrea Bolognani 1 sibling, 1 reply; 8+ messages in thread From: Gerd Hoffmann @ 2026-02-17 11:37 UTC (permalink / raw) To: Markus Armbruster Cc: Andrea Bolognani, qemu-devel, Daniel P. Berrangé, Pierrick Bouvier, Kashyap Chamarthy, Philippe Mathieu-Daudé On Tue, Feb 17, 2026 at 10:08:14AM +0100, Markus Armbruster wrote: > > (Since 11.0) and indent like this, please: > > # @uefi-vars: Information specific to firmware builds that expect the > # "uefi-vars" device to be used to provide access to the UEFI > # variable store. If the mapping contains this member, the > # firmware descriptor should advertise the @uefi interface from > # @FirmwareOSInterface as well as the @host-uefi-vars feature > # from @FirmwareFeature. (Since 11.0) Fixed up and queued. take care, Gerd ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory 2026-02-17 11:37 ` Gerd Hoffmann @ 2026-02-17 14:12 ` Andrea Bolognani 0 siblings, 0 replies; 8+ messages in thread From: Andrea Bolognani @ 2026-02-17 14:12 UTC (permalink / raw) To: Gerd Hoffmann Cc: Markus Armbruster, qemu-devel, Daniel P. Berrangé, Pierrick Bouvier, Kashyap Chamarthy, Philippe Mathieu-Daudé On Tue, Feb 17, 2026 at 12:37:15PM +0100, Gerd Hoffmann wrote: > On Tue, Feb 17, 2026 at 10:08:14AM +0100, Markus Armbruster wrote: > > (Since 11.0) and indent like this, please: > > > > # @uefi-vars: Information specific to firmware builds that expect the > > # "uefi-vars" device to be used to provide access to the UEFI > > # variable store. If the mapping contains this member, the > > # firmware descriptor should advertise the @uefi interface from > > # @FirmwareOSInterface as well as the @host-uefi-vars feature > > # from @FirmwareFeature. (Since 11.0) > > Fixed up and queued. I sent [v3] incorporating Daniel's comments too, maybe you've already taken care of that but just in case please make sure they don't get lost. Thanks! [v3] https://mail.gnu.org/archive/html/qemu-devel/2026-02/msg04422.html -- Andrea Bolognani / Red Hat / Virtualization ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory 2026-02-17 9:08 ` Markus Armbruster 2026-02-17 11:37 ` Gerd Hoffmann @ 2026-02-17 13:18 ` Andrea Bolognani 2026-02-17 15:29 ` Markus Armbruster 1 sibling, 1 reply; 8+ messages in thread From: Andrea Bolognani @ 2026-02-17 13:18 UTC (permalink / raw) To: Markus Armbruster Cc: qemu-devel, Daniel P. Berrangé, Pierrick Bouvier, Kashyap Chamarthy, Gerd Hoffmann, Philippe Mathieu-Daudé On Tue, Feb 17, 2026 at 10:08:14AM +0100, Markus Armbruster wrote: > > +# @uefi-vars: Information specific to firmware builds that expect the > > +# "uefi-vars" device to be used to provide access to the > > +# UEFI variable store. If the mapping contains this > > +# member, the firmware descriptor should advertise the > > +# @uefi interface from @FirmwareOSInterface as well as > > +# the @host-uefi-vars feature from @FirmwareFeature. > > +# Since 11.0 > > +# > > (Since 11.0) and indent like this, please: Done, but note that the documentation for existing members FirmwareDevice::igvm and FirmwareMappingFlash::mode doesn't follow this convention. -- Andrea Bolognani / Red Hat / Virtualization ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory 2026-02-17 13:18 ` Andrea Bolognani @ 2026-02-17 15:29 ` Markus Armbruster 0 siblings, 0 replies; 8+ messages in thread From: Markus Armbruster @ 2026-02-17 15:29 UTC (permalink / raw) To: Andrea Bolognani Cc: qemu-devel, Daniel P. Berrangé, Pierrick Bouvier, Kashyap Chamarthy, Gerd Hoffmann, Philippe Mathieu-Daudé Andrea Bolognani <abologna@redhat.com> writes: > On Tue, Feb 17, 2026 at 10:08:14AM +0100, Markus Armbruster wrote: >> > +# @uefi-vars: Information specific to firmware builds that expect the >> > +# "uefi-vars" device to be used to provide access to the >> > +# UEFI variable store. If the mapping contains this >> > +# member, the firmware descriptor should advertise the >> > +# @uefi interface from @FirmwareOSInterface as well as >> > +# the @host-uefi-vars feature from @FirmwareFeature. >> > +# Since 11.0 >> > +# >> >> (Since 11.0) and indent like this, please: > > Done, but note that the documentation for existing members > FirmwareDevice::igvm and FirmwareMappingFlash::mode doesn't follow > this convention. ... where "this convention" is about since. You're right, and I wasn't aware of it. Thanks! ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-02-17 15:30 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-02-09 13:39 [PATCH v2 0/1] docs/interop/firmware: Add 'uefi-vars' member for FirmwareMappingMemory Andrea Bolognani 2026-02-09 13:39 ` [PATCH v2 1/1] " Andrea Bolognani 2026-02-11 16:18 ` Daniel P. Berrangé 2026-02-17 9:08 ` Markus Armbruster 2026-02-17 11:37 ` Gerd Hoffmann 2026-02-17 14:12 ` Andrea Bolognani 2026-02-17 13:18 ` Andrea Bolognani 2026-02-17 15:29 ` Markus Armbruster
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.