From: "Kinney, Michael D" <michael.d.kinney@intel.com>
To: edk2-devel@lists.01.org
Cc: sean.brogan@microsoft.com, jiewen.yao@intel.com,
Star Zeng <star.zeng@intel.com>,
michael.d.kinney@intel.com
Subject: [Patch v5 00/21] Add FmpDevicePkg
Date: Tue, 31 Jul 2018 23:55:00 -0700 [thread overview]
Message-ID: <20180801065722.9500-1-michael.d.kinney@intel.com> (raw)
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.brogan at microsoft.com>
Cc: Jiewen Yao <jiewen.yao at intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney at 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
FmpDevicePkg/FmpDevicePkg.dec | 125 ++
FmpDevicePkg/FmpDevicePkg.dsc | 133 ++
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, 4439 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
next reply other threads:[~2018-08-01 6:57 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-01 6:55 Kinney, Michael D [this message]
2018-08-01 6:55 ` [Patch v5 01/21] FmpDevicePkg: Add package, library classes, and PCDs Kinney, Michael D
2018-08-01 7:50 ` Zeng, Star
2018-08-01 6:55 ` [Patch v5 02/21] FmpDevicePkg: Add library instances Kinney, Michael D
2018-08-01 7:50 ` Zeng, Star
2018-08-01 6:55 ` [Patch v5 03/21] FmpDevicePkg: Add FmpDxe module Kinney, Michael D
2018-08-01 7:50 ` Zeng, Star
2018-08-01 6:55 ` [Patch v5 04/21] FmpDevicePkg: Add DSC file to build all package components Kinney, Michael D
2018-08-01 7:50 ` Zeng, Star
2018-08-01 6:55 ` [Patch v5 05/21] FmpDevicePkg FmpDxe: Update function comment for FmpDxeEntryPoint Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 06/21] FmpDevicePkg FmpDxe: Return 0 when LSV check is not required Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 07/21] FmpDevicePkg: Remove IPF Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 08/21] FmpDevicePkg: Add DISABLE_NEW_DEPRECATED_INTERFACES build options Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 09/21] FmpDevicePkg FmpDxe: Check Progress!= NULL before calling Progress(100) Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 10/21] FmpDevicePkg FmpDxe: Add EFI_ABORTED in retval of CheckTheImage() Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 11/21] FmpDevicePkg FmpDxe: Fix typo "EFI_SECURITY_VIOLATIO" Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 12/21] FmpDevicePkg: Remove DisplayUpdateProgressLib mapping for FmpDxe Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 13/21] FmpDevicePkg FmpDxe: Add NULL check to return Value from GetVariable2 Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 14/21] FmpDevicePkg FmpDxe: Check ImageIndex first before Image/ImageSize Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 15/21] FmpDevicePkg FmpDxe: Use Attributes to know whether reset is required Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 16/21] FmpDevicePkg FmpDxe: Add comment in mFmpDeviceLocked's declaration Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 17/21] FmpDevicePkg FmpDxe: Return UNSUPPORTED if device has been locked Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 18/21] FmpDevicePkg FmpDxe: Initialize DeviceLibLowestSupportedVersion Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 19/21] FmpDevicePkg: Fix code style issue Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 20/21] FmpDevicePkg FmpDxe: Use local variable to store test key digest size Kinney, Michael D
2018-08-01 6:55 ` [Patch v5 21/21] MdeModulePkg/BdsDxe: Move display of test key usage into BDS module Kinney, Michael D
2018-08-01 7:53 ` Zeng, Star
2018-08-01 22:39 ` Kinney, Michael D
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180801065722.9500-1-michael.d.kinney@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox