public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [PATCH V4 0/5] FmpDevicePkg: Move capsule dependency implement to library
@ 2020-05-15  1:51 Xu, Wei6
  2020-05-15  1:51 ` [edk2-devel] [PATCH V4 1/5] FmpDevicePkg: Add FmpDependency library class and BASE instance Xu, Wei6
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Xu, Wei6 @ 2020-05-15  1:51 UTC (permalink / raw)
  To: devel; +Cc: Michael D Kinney, Liming Gao, Sean Brogan

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-05-15  3:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-15  1:51 [edk2-devel] [PATCH V4 0/5] FmpDevicePkg: Move capsule dependency implement to library Xu, Wei6
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox