From: "Xu, Wei6" <wei6.xu@intel.com>
To: devel@edk2.groups.io
Cc: Michael D Kinney <michael.d.kinney@intel.com>,
Liming Gao <liming.gao@intel.com>,
Sean Brogan <sean.brogan@microsoft.com>
Subject: [edk2-devel] [PATCH V4 0/5] FmpDevicePkg: Move capsule dependency implement to library
Date: Fri, 15 May 2020 09:51:18 +0800 [thread overview]
Message-ID: <20200515015123.11484-1-wei6.xu@intel.com> (raw)
v4:
- Remove the CONST in ValidateDependency API to keep APIs common.
v3:
- Refine description and comments of API: EvaluateDependency(),
GetFmpDependency(), CheckFmpDependency().
- Remove the check on the dependencies coming from other FMP instances.
v2:
- Remove API GetDependencySize in FmpDependencyLib.
- Correct comments in FmpDependencyLib unit test; Correct the error status
when CreateUnitTestSuite fails.
- Update comments for null instance of FmpDependencyCheckLib; Remove
SaveFmpDependency and GetFmpDependency from FmpDependencyCheckLib
- Add new FmpDependencyDevice library class to provide firmware device
specific SaveFmpDependency and GetFmpDependency services.
- Update FmpDxe to use new FmpDependencyDeviceLib
v1:
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2696
This patch series move the implementation of Fmp Capsule Dependency from
FmpDxe driver into two library classes. FmpDependencyLib is a base lib
to provide generic dependency evaluation services. FmpDependencyCheckLib
is a platform lib to provide dependency check services during firmware
update. Platform can perform the dependency check in platform specific
manner by implementing its own FmpDependencyCheckLib.
This patch series also add unit test for EvaluateDependency API in
FmpDependencyLib.
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
Wei6 Xu (5):
FmpDevicePkg: Add FmpDependency library class and BASE instance
FmpDevicePkg/Test: Add FmpDependencyLib unit test
FmpDevicePkg: Add FmpDependencyCheck library class and instances
FmpDevicePkg: Add FmpDependencyDevice library class and NULL instance
FmpDevicePkg/FmpDxe: Use new Fmp dependency libraries
FmpDevicePkg/FmpDevicePkg.ci.yaml | 10 +
FmpDevicePkg/FmpDevicePkg.dec | 15 +-
FmpDevicePkg/FmpDevicePkg.dsc | 16 +-
FmpDevicePkg/FmpDxe/Dependency.h | 63 ----
FmpDevicePkg/FmpDxe/FmpDxe.c | 256 ++++------------
FmpDevicePkg/FmpDxe/FmpDxe.h | 4 +
FmpDevicePkg/FmpDxe/FmpDxe.inf | 5 +-
FmpDevicePkg/FmpDxe/FmpDxeLib.inf | 5 +-
.../Include/Library/FmpDependencyCheckLib.h | 38 +++
.../Include/Library/FmpDependencyDeviceLib.h | 51 ++++
FmpDevicePkg/Include/Library/FmpDependencyLib.h | 89 ++++++
.../FmpDependencyCheckLib/FmpDependencyCheckLib.c | 196 ++++++++++++
.../FmpDependencyCheckLib.inf | 43 +++
.../FmpDependencyCheckLib.uni | 13 +
.../FmpDependencyCheckLibNull.c | 34 +++
.../FmpDependencyCheckLibNull.inf | 30 ++
.../FmpDependencyCheckLibNull.uni | 13 +
.../FmpDependencyDeviceLib.c | 50 +++
.../FmpDependencyDeviceLibNull.inf | 29 ++
.../FmpDependencyDeviceLibNull.uni | 12 +
.../FmpDependencyLib/FmpDependencyLib.c} | 337 +++++++--------------
.../Library/FmpDependencyLib/FmpDependencyLib.inf | 34 +++
.../Library/FmpDependencyLib/FmpDependencyLib.uni | 12 +
FmpDevicePkg/Test/FmpDeviceHostPkgTest.dsc | 28 ++
.../FmpDependencyLib/EvaluateDependencyUnitTest.c | 270 +++++++++++++++++
.../FmpDependencyLibUnitTestsHost.inf | 34 +++
.../FmpDependencyLibUnitTestsUefi.inf | 35 +++
27 files changed, 1216 insertions(+), 506 deletions(-)
delete mode 100644 FmpDevicePkg/FmpDxe/Dependency.h
create mode 100644 FmpDevicePkg/Include/Library/FmpDependencyCheckLib.h
create mode 100644 FmpDevicePkg/Include/Library/FmpDependencyDeviceLib.h
create mode 100644 FmpDevicePkg/Include/Library/FmpDependencyLib.h
create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLib/FmpDependencyCheckLib.c
create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLib/FmpDependencyCheckLib.inf
create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLib/FmpDependencyCheckLib.uni
create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDependencyCheckLibNull.c
create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDependencyCheckLibNull.inf
create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDependencyCheckLibNull.uni
create mode 100644 FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpDependencyDeviceLib.c
create mode 100644 FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpDependencyDeviceLibNull.inf
create mode 100644 FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpDependencyDeviceLibNull.uni
rename FmpDevicePkg/{FmpDxe/Dependency.c => Library/FmpDependencyLib/FmpDependencyLib.c} (53%)
create mode 100644 FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyLib.inf
create mode 100644 FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyLib.uni
create mode 100644 FmpDevicePkg/Test/FmpDeviceHostPkgTest.dsc
create mode 100644 FmpDevicePkg/Test/UnitTest/Library/FmpDependencyLib/EvaluateDependencyUnitTest.c
create mode 100644 FmpDevicePkg/Test/UnitTest/Library/FmpDependencyLib/FmpDependencyLibUnitTestsHost.inf
create mode 100644 FmpDevicePkg/Test/UnitTest/Library/FmpDependencyLib/FmpDependencyLibUnitTestsUefi.inf
--
2.16.2.windows.1
next reply other threads:[~2020-05-15 1:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-15 1:51 Xu, Wei6 [this message]
2020-05-15 1:51 ` [edk2-devel] [PATCH V4 1/5] FmpDevicePkg: Add FmpDependency library class and BASE instance Xu, Wei6
2020-05-15 1:51 ` [edk2-devel] [PATCH V4 2/5] FmpDevicePkg/Test: Add FmpDependencyLib unit test Xu, Wei6
2020-05-15 1:51 ` [edk2-devel] [PATCH V4 3/5] FmpDevicePkg: Add FmpDependencyCheck library class and instances Xu, Wei6
2020-05-15 1:51 ` [edk2-devel] [PATCH V4 4/5] FmpDevicePkg: Add FmpDependencyDevice library class and NULL instance Xu, Wei6
2020-05-15 1:51 ` [edk2-devel] [PATCH V4 5/5] FmpDevicePkg/FmpDxe: Use new Fmp dependency libraries Xu, Wei6
2020-05-15 3:01 ` [edk2-devel] [PATCH V4 0/5] FmpDevicePkg: Move capsule dependency implement to library Liming Gao
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=20200515015123.11484-1-wei6.xu@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