Heinrich has reviewed; suggest to mention what is mandatory.
Ilias: folks at Linaro are working on implementing all mandatory tables and structures in U-Boot. At least require something. SMBIOS vendor string is used for quirks in EFI stub, too.
Qemu has no EL3, but emulates PSCI -> not blocking.
UEFI Variables in RAM
Userspace must copy to persist the variables (efivar RedHat package).
Javier from Ilias' team put a pull request in flight for efivar.
RTStorageVolatile: EFI Variable with the path to file relative to ESP
VarToFile: EFI Variable containing all the (other) EFI Variables, which must be copied to persist
No problem for GRUB before ExitBootServices().
Not clear if efivar is in Debian netboot installer for example. Ilias: they might use efibootmgr. To be confirmed.
GUID in Capsule
One specific GUID per board, per firmware (when several firmwares; ESRT entries).
Currently in U-Boot, this GUID is tied to the GUID used in the GPT partition type for the FIP.
Single GUID in U-Boot for all STM32MP1 systems.
GUID hardcoded in U-Boot header file is not convenient to address systems from multiple vendors.
Michal: asked to blacklist GUIDs at LVFS to make sure folks do not go into production with those GUIDs by mistake. Also, GUIDs generated out of compatible strings of Linux are an alternative.
Ilias: patch to derive GUIDs during build with salt + system compatible string