Changes in V6 ============= * Remove Bool PCD comparison against TRUE in BDS * Remove useless lib mapping in FmpDevicePkg DSC file * Fix XCODE build failure due to extra parenthesis
Changes in V4/V5 ================= * Return 0 when LSV check is not required * Remove IPF * Add DISABLE_NEW_DEPRECATED_INTERFACES build options * Check Progress!= NULL before calling Progress(100) * Add EFI_ABORTED in retval of CheckTheImage() * Fix typo "EFI_SECURITY_VIOLATIO" * Add NULL check to return Value from GetVariable2 * Check ImageIndex first before Image/ImageSize * Use Attributes to know whether reset is required * Add comment in mFmpDeviceLocked's declaration * Return UNSUPPORTED if device has been locked * Initialize DeviceLibLowestSupportedVersion * Fix code style issue * Use local variable to store test key digest size Changes in V3 ============= * Change CheckLowestSupportedVersion() to LowestSupportedVersionCheckRequired() * Change LockFmpDeviceAtLockEventGuid() to LockFmpDeviceAtLockEventGuidRequired() * Set EDKII_FIRMWARE_MANAGEMENT_PROGRESS_PROTOCOL Version field to 1 * Fix description of return values in LowestSupportedVersionCheckRequired() * Fix description of return values in LockFmpDeviceAtLockEventGuidRequired() Changes in V2 ============= * FmpDevicePkg DEC file + Change PcdFmpDeviceSystemResetRequired from FeatureFlag to FixedAtBuild + Add PcdFmpDeviceTestKeySha256Digest for test key detection. Set to {0} to disable test key detection. * FmpDevicePkg DSC file + Fix ARM and AARCH64 build issues + Update DisplayUpdateProgressLib mappings to match patches in Bug_801_DisplayUpdateProgressLib_V2 * FmpDeviceLib Class and Instance + Update FmpDeviceGetSize() to return EFI_STATUS + Update FmpDeviceGetAttributes() to return EFI_STATUS + Update FmpDeviceGetVersionString() to return EFI_STATUS * FmpDxe + Set depex to Variable Arch Write Protocol and Variable Lock Protocol + Break out test key detection in FmpDxe into DetectTestKey.c + Change LockAllVars() to LockAllFmpVariables() + Update LockAllFmpVariables() to lock each of the UEFI variables used. + Always lock UEFI variables when PcdFmpDeviceLockEventGuid is signaled + Remove ComputeVersionName(). FmpDeviceLib must provide version string Based on content from the following branch: https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport/MsCapsuleUpdatePkg Further development and testing of FmpDevicePkg was performed at: https://github.com/tianocore/edk2-staging/tree/FmpDevicePkg-master https://github.com/tianocore/edk2-staging/tree/FmpDevicePkg-UDK2018 This package provides an implementation of a Firmware Management Protocol instance that supports the update of firmware storage devices using UEFI Capsules. The behavior of the Firmware Management Protocol instance is customized using libraries and PCDs. Cc: Sean Brogan <sean.bro...@microsoft.com> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Star Zeng <star.z...@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kin...@intel.com> Kinney, Michael D (5): FmpDevicePkg: Add package, library classes, and PCDs FmpDevicePkg: Add library instances FmpDevicePkg: Add FmpDxe module FmpDevicePkg: Add DSC file to build all package components MdeModulePkg/BdsDxe: Move display of test key usage into BDS module Star Zeng (16): FmpDevicePkg FmpDxe: Update function comment for FmpDxeEntryPoint FmpDevicePkg FmpDxe: Return 0 when LSV check is not required FmpDevicePkg: Remove IPF FmpDevicePkg: Add DISABLE_NEW_DEPRECATED_INTERFACES build options FmpDevicePkg FmpDxe: Check Progress!= NULL before calling Progress(100) FmpDevicePkg FmpDxe: Add EFI_ABORTED in retval of CheckTheImage() FmpDevicePkg FmpDxe: Fix typo "EFI_SECURITY_VIOLATIO" FmpDevicePkg: Remove DisplayUpdateProgressLib mapping for FmpDxe FmpDevicePkg FmpDxe: Add NULL check to return Value from GetVariable2 FmpDevicePkg FmpDxe: Check ImageIndex first before Image/ImageSize FmpDevicePkg FmpDxe: Use Attributes to know whether reset is required FmpDevicePkg FmpDxe: Add comment in mFmpDeviceLocked's declaration FmpDevicePkg FmpDxe: Return UNSUPPORTED if device has been locked FmpDevicePkg FmpDxe: Initialize DeviceLibLowestSupportedVersion FmpDevicePkg: Fix code style issue FmpDevicePkg FmpDxe: Use local variable to store test key digest size Zeng, Star (2): FmpDevicePkg/FmpDxe: Fix XCODE build failure FmpDevicePkg: Remove useless lib mapping in dsc FmpDevicePkg/FmpDevicePkg.dec | 125 ++ FmpDevicePkg/FmpDevicePkg.dsc | 114 ++ FmpDevicePkg/FmpDevicePkg.uni | 75 + FmpDevicePkg/FmpDevicePkgExtra.uni | 18 + FmpDevicePkg/FmpDxe/DetectTestKey.c | 168 +++ FmpDevicePkg/FmpDxe/FmpDxe.c | 1474 ++++++++++++++++++++ FmpDevicePkg/FmpDxe/FmpDxe.inf | 92 ++ FmpDevicePkg/FmpDxe/FmpDxe.uni | 20 + FmpDevicePkg/FmpDxe/FmpDxeExtra.uni | 18 + FmpDevicePkg/FmpDxe/FmpDxeLib.inf | 89 ++ FmpDevicePkg/FmpDxe/VariableSupport.c | 461 ++++++ FmpDevicePkg/FmpDxe/VariableSupport.h | 180 +++ .../Include/Library/CapsuleUpdatePolicyLib.h | 120 ++ FmpDevicePkg/Include/Library/FmpDeviceLib.h | 405 ++++++ FmpDevicePkg/Include/Library/FmpPayloadHeaderLib.h | 100 ++ .../CapsuleUpdatePolicyLibNull.c | 136 ++ .../CapsuleUpdatePolicyLibNull.inf | 45 + .../CapsuleUpdatePolicyLibNull.uni | 17 + .../Library/FmpDeviceLibNull/FmpDeviceLib.c | 427 ++++++ .../Library/FmpDeviceLibNull/FmpDeviceLibNull.inf | 48 + .../Library/FmpDeviceLibNull/FmpDeviceLibNull.uni | 18 + .../FmpPayloadHeaderLibV1/FmpPayloadHeaderLib.c | 188 +++ .../FmpPayloadHeaderLibV1.inf | 48 + .../FmpPayloadHeaderLibV1.uni | 21 + MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 1 + MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 12 + 26 files changed, 4420 insertions(+) create mode 100644 FmpDevicePkg/FmpDevicePkg.dec create mode 100644 FmpDevicePkg/FmpDevicePkg.dsc create mode 100644 FmpDevicePkg/FmpDevicePkg.uni create mode 100644 FmpDevicePkg/FmpDevicePkgExtra.uni create mode 100644 FmpDevicePkg/FmpDxe/DetectTestKey.c create mode 100644 FmpDevicePkg/FmpDxe/FmpDxe.c create mode 100644 FmpDevicePkg/FmpDxe/FmpDxe.inf create mode 100644 FmpDevicePkg/FmpDxe/FmpDxe.uni create mode 100644 FmpDevicePkg/FmpDxe/FmpDxeExtra.uni create mode 100644 FmpDevicePkg/FmpDxe/FmpDxeLib.inf create mode 100644 FmpDevicePkg/FmpDxe/VariableSupport.c create mode 100644 FmpDevicePkg/FmpDxe/VariableSupport.h create mode 100644 FmpDevicePkg/Include/Library/CapsuleUpdatePolicyLib.h create mode 100644 FmpDevicePkg/Include/Library/FmpDeviceLib.h create mode 100644 FmpDevicePkg/Include/Library/FmpPayloadHeaderLib.h create mode 100644 FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.c create mode 100644 FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf create mode 100644 FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.uni create mode 100644 FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLib.c create mode 100644 FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.inf create mode 100644 FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.uni create mode 100644 FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLib.c create mode 100644 FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf create mode 100644 FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.uni -- 2.14.2.windows.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel