This implements signed capsule update for AMD overdrive. Due to the lack of
support for warm reboot in the secure firmware, this only works from the
boot environment, not from the OS.
To update, build CapsuleApp [from MdeModulePkg] and issue the following command
FS0:> CapsuleApp STYXFIRMWAREUPDATECAPSULEFMPPKCS7.Cap
The update itself takes a minute or so, without producing any output.
From the OS, fwupdate -l [as root] will give output like
{d34b3d29-0085-4ab3-8be8-84188cc50489} version 1 can be updated to any version above 0
but note that we will need to fix fwupdate to support non-persistent capsules.
The signing key is simply the test key from the EDK2 repo.
Patches #1 .. #3 are some unrelated fixes/improvements.
Patch #4 implements the PlatformFlashAccessLib instance that can be shared
across Styx platforms.
Patch #5 wires up all the bits and pieces for Overdrive. Doing the same for the
other Styx platforms is trivial, but should use different GUIDs to prevent the
capsules from being applied to the wrong platform.
Ard Biesheuvel (5):
Platform/AMD/Overdrive: remove StatusCodeLib references
Silicon/AMD/Styx: update SMMU id to MMU-401
Silicon/Amd/Styx: fix flasher support
Silicon/AMD/Styx: add PlatformFlashAccessLib implementation
Platforms/AMD/Overdrive: add signed capsule update support
Platform/AMD/OverdriveBoard/OverdriveBoard.dsc | 45 ++++---
Platform/AMD/OverdriveBoard/OverdriveBoard.fdf | 83 +++++++++++++
Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc | 80 ++++++++++++
Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf | 46 +++++++
Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptorPei.c | 68 +++++++++++
Platform/AMD/OverdriveBoard/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfig.ini | 25 ++++
Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc | 2 +-
Silicon/AMD/Styx/AcpiTables/Iort.c | 2 +-
Silicon/AMD/Styx/Applications/StyxFlashUefi/StyxFlashUefi.inf | 2 +-
Silicon/AMD/Styx/Library/StyxPlatformFlashAccessLib/StyxPlatformFlashAccessLib.c | 128 ++++++++++++++++++++
Silicon/AMD/Styx/Library/StyxPlatformFlashAccessLib/StyxPlatformFlashAccessLib.inf | 47 +++++++
11 files changed, 511 insertions(+), 17 deletions(-)
create mode 100644 Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
create mode 100644 Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
create mode 100644 Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptorPei.c
create mode 100644 Platform/AMD/OverdriveBoard/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfig.ini
create mode 100644 Silicon/AMD/Styx/Library/StyxPlatformFlashAccessLib/StyxPlatformFlashAccessLib.c
create mode 100644 Silicon/AMD/Styx/Library/StyxPlatformFlashAccessLib/StyxPlatformFlashAccessLib.inf
--
2.11.0
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel