mbox series

[edk2,0/5] Platform/AMD/Overdrive: implement capsule support + some fixes

Message ID 20171015095453.4420-1-ard.biesheuvel@linaro.org
Headers show
Series Platform/AMD/Overdrive: implement capsule support + some fixes | expand

Message

Ard Biesheuvel Oct. 15, 2017, 9:54 a.m. UTC
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