On Thu, 23 Nov 2023 at 16:02, Gerd Hoffmann <kra...@redhat.com> wrote: > > This is the edk2 side of the qemu patch series posted last week to > qemu-devel: > https://lists.gnu.org/archive/html/qemu-devel/2023-11/msg03714.html > > The driver forwards MM calls to the virtualization host instead of the > MM code running in SMM (x64) or el3 (arm) mode. The functionality > traditionally implemented by the SMM code is provided by qemu instead. > > This allows to provide persistent variable support without an > (virtual) flash device and it also allows to support secure > boot without depending on SMM or el3 emulation support in the > hypervisor. >
I like this a lot - not only for QEMU + OVMF/ArmVirt, but also for other VM firmware projects (I am working on a minimal UEFI implementation in Rust for ArmVirt, and variable support is much easier to implement using this paravirt interface) > Gerd Hoffmann (7): > OvmfPkg: add IndustryStandard/QemuUefiVars.h > OvmfPkg: add new VirtMmCommunicationDxe driver > OvmfPkg/OvmfPkgX64: add QEMU_VARS option > OvmfPkg: add PcdQemuVarsRequire > OvmfPkg/VirtMmCommunicationDxe: stop on init failure > OvmfPkg/VirtMmCommunicationDxe: add arm support > ArmVirtPkg/ArmVirtQemu: add QEMU_VARS option > > OvmfPkg/OvmfPkg.dec | 3 + > ArmVirtPkg/ArmVirt.dsc.inc | 3 + > ArmVirtPkg/ArmVirtQemu.dsc | 11 + > ArmVirtPkg/ArmVirtQemuKernel.dsc | 11 + > OvmfPkg/OvmfPkgX64.dsc | 17 +- > OvmfPkg/OvmfPkgX64.fdf | 12 +- > OvmfPkg/PlatformPei/PlatformPei.inf | 1 + > .../VirtMmCommunication.inf | 67 +++ > .../Include/IndustryStandard/QemuUefiVars.h | 41 ++ > .../VirtMmCommunication.h | 37 ++ > OvmfPkg/PlatformPei/Platform.c | 4 + > OvmfPkg/VirtMmCommunicationDxe/QemuFdt.c | 208 ++++++++++ > OvmfPkg/VirtMmCommunicationDxe/QemuX64.c | 106 +++++ > .../VirtMmCommunication.c | 390 ++++++++++++++++++ > ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 5 + > 15 files changed, 914 insertions(+), 2 deletions(-) > create mode 100644 OvmfPkg/VirtMmCommunicationDxe/VirtMmCommunication.inf > create mode 100644 OvmfPkg/Include/IndustryStandard/QemuUefiVars.h > create mode 100644 OvmfPkg/VirtMmCommunicationDxe/VirtMmCommunication.h > create mode 100644 OvmfPkg/VirtMmCommunicationDxe/QemuFdt.c > create mode 100644 OvmfPkg/VirtMmCommunicationDxe/QemuX64.c > create mode 100644 OvmfPkg/VirtMmCommunicationDxe/VirtMmCommunication.c > > -- > 2.42.0 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111800): https://edk2.groups.io/g/devel/message/111800 Mute This Topic: https://groups.io/mt/102767943/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-