public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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 0/4] FmpDevicePkg: Move capsule dependency implement to library
Date: Tue, 28 Apr 2020 21:25:26 +0800	[thread overview]
Message-ID: <20200428132530.4068-1-wei6.xu@intel.com> (raw)

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 (4):
  FmpDevicePkg: Add FmpDependency library class and BASE instance
  FmpDevicePkg/Test: Add FmpDependencyLib unit test.
  FmpDevicePkg: Add FmpDependencyCheck library class and instances
  FmpDevicePkg/FmpDxe: Use FmpDependencyLib and FmpDependencyCheckLib

 FmpDevicePkg/FmpDevicePkg.ci.yaml                  |  10 +
 FmpDevicePkg/FmpDevicePkg.dec                      |  15 +-
 FmpDevicePkg/FmpDevicePkg.dsc                      |  14 +-
 FmpDevicePkg/FmpDevicePkg.uni                      |   4 +-
 FmpDevicePkg/FmpDxe/Dependency.h                   |  63 ---
 FmpDevicePkg/FmpDxe/FmpDxe.c                       | 255 ++--------
 FmpDevicePkg/FmpDxe/FmpDxe.h                       |   3 +
 FmpDevicePkg/FmpDxe/FmpDxe.inf                     |   4 +-
 FmpDevicePkg/FmpDxe/FmpDxeLib.inf                  |   4 +-
 .../Include/Library/FmpDependencyCheckLib.h        |  71 +++
 FmpDevicePkg/Include/Library/FmpDependencyLib.h    | 104 ++++
 .../FmpDependencyCheckLib/FmpDependencyCheckLib.c  | 533 +++++++++++++++++++++
 .../FmpDependencyCheckLib.inf                      |  51 ++
 .../FmpDependencyCheckLib.uni                      |  13 +
 .../FmpDependencyCheckLibNull.c                    |  74 +++
 .../FmpDependencyCheckLibNull.inf                  |  30 ++
 .../FmpDependencyCheckLibNull.uni                  |  13 +
 .../FmpDependencyLib/FmpDependencyLib.c}           | 314 ++++--------
 .../Library/FmpDependencyLib/FmpDependencyLib.inf  |  34 ++
 .../Library/FmpDependencyLib/FmpDependencyLib.uni  |  12 +
 FmpDevicePkg/Test/FmpDeviceHostPkgTest.dsc         |  28 ++
 .../FmpDependencyLib/EvaluateDependencyUnitTest.c  | 271 +++++++++++
 .../FmpDependencyLibUnitTestsHost.inf              |  34 ++
 .../FmpDependencyLibUnitTestsUefi.inf              |  35 ++
 24 files changed, 1508 insertions(+), 481 deletions(-)
 delete mode 100644 FmpDevicePkg/FmpDxe/Dependency.h
 create mode 100644 FmpDevicePkg/Include/Library/FmpDependencyCheckLib.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
 rename FmpDevicePkg/{FmpDxe/Dependency.c => Library/FmpDependencyLib/FmpDependencyLib.c} (55%)
 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


             reply	other threads:[~2020-04-28 13:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-28 13:25 Xu, Wei6 [this message]
2020-04-28 13:25 ` [edk2-devel] [PATCH 1/4] FmpDevicePkg: Add FmpDependency library class and BASE instance Xu, Wei6
2020-04-28 13:25 ` [edk2-devel] [PATCH 2/4] FmpDevicePkg/Test: Add FmpDependencyLib unit test Xu, Wei6
2020-04-28 13:25 ` [edk2-devel] [PATCH 3/4] FmpDevicePkg: Add FmpDependencyCheck library class and instances Xu, Wei6
2020-04-28 13:25 ` [edk2-devel] [PATCH 4/4] FmpDevicePkg/FmpDxe: Use FmpDependencyLib and FmpDependencyCheckLib Xu, Wei6
2020-05-06 14:08 ` [edk2-devel] [PATCH 0/4] 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=20200428132530.4068-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