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
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#59602): https://edk2.groups.io/g/devel/message/59602
Mute This Topic: https://groups.io/mt/74215655/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-