From: Michael D Kinney <michael.d.kinney@intel.com>
To: edk2-devel@lists.01.org
Cc: Sean Brogan <sean.brogan@microsoft.com>,
Jiewen Yao <jiewen.yao@intel.com>
Subject: [RFC v3 0/4] Add FmpDevicePkg
Date: Tue, 29 May 2018 15:37:11 -0700 [thread overview]
Message-ID: <20180529223715.23896-1-michael.d.kinney@intel.com> (raw)
https://bugzilla.tianocore.org/show_bug.cgi?id=922
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
Branch for review:
https://github.com/mdkinney/edk2/tree/Bug_922_FmpDevicePkg_V2
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@microsoft.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Kinney, Michael D (4):
FmpDevicePkg: Add package, library classes, and PCDs
FmpDevicePkg: Add library instances
FmpDevicePkg: Add FmpDxe module
FmpDevicePkg: Add DSC file to build all package components
FmpDevicePkg/FmpDevicePkg.dec | 132 ++
FmpDevicePkg/FmpDevicePkg.dsc | 134 ++
FmpDevicePkg/FmpDevicePkg.uni | 80 ++
FmpDevicePkg/FmpDevicePkgExtra.uni | 18 +
FmpDevicePkg/FmpDxe/DetectTestKey.c | 166 +++
FmpDevicePkg/FmpDxe/FmpDxe.c | 1452 ++++++++++++++++++++
FmpDevicePkg/FmpDxe/FmpDxe.inf | 93 ++
FmpDevicePkg/FmpDxe/FmpDxe.uni | 20 +
FmpDevicePkg/FmpDxe/FmpDxeExtra.uni | 18 +
FmpDevicePkg/FmpDxe/FmpDxeLib.inf | 90 ++
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 +
24 files changed, 4417 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-05-29 22:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-29 22:37 Michael D Kinney [this message]
2018-05-29 22:37 ` [RFC v3 1/4] FmpDevicePkg: Add package, library classes, and PCDs Michael D Kinney
2018-05-29 22:37 ` [RFC v3 2/4] FmpDevicePkg: Add library instances Michael D Kinney
2018-06-04 23:09 ` Yao, Jiewen
2018-06-04 23:54 ` Kinney, Michael D
2018-05-29 22:37 ` [RFC v3 3/4] FmpDevicePkg: Add FmpDxe module Michael D Kinney
2018-05-29 22:37 ` [RFC v3 4/4] FmpDevicePkg: Add DSC file to build all package components Michael D Kinney
2018-05-30 7:08 ` [RFC v3 0/4] Add FmpDevicePkg Ard Biesheuvel
2018-05-30 15:15 ` Kinney, Michael D
2018-05-31 11:13 ` Ard Biesheuvel
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=20180529223715.23896-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