From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web12.7281.1588080337996700375 for ; Tue, 28 Apr 2020 06:25:39 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: wei6.xu@intel.com) IronPort-SDR: f0p0JEytoQYU3foP7OYk9yqHjh0KVW2r1bjx6JA2qkUv5w3zLL5u9gLUTgKXC9ChoCl4PAawKL 4miAXK8/v6Kg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Apr 2020 06:25:36 -0700 IronPort-SDR: dB7HdtX7OqJjOWW//nFfdvRzkZu8MvXWcDY0ZxOOY6IUqIWK060fsuZCsFD6ikONG2vFrkLsOu 8plcSeB6C9+g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,327,1583222400"; d="scan'208";a="302706757" Received: from shwdeopenpsi174.ccr.corp.intel.com ([10.239.157.39]) by FMSMGA003.fm.intel.com with ESMTP; 28 Apr 2020 06:25:35 -0700 From: "Xu, Wei6" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Sean Brogan Subject: [edk2-devel] [PATCH 0/4] FmpDevicePkg: Move capsule dependency implement to library Date: Tue, 28 Apr 2020 21:25:26 +0800 Message-Id: <20200428132530.4068-1-wei6.xu@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 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 Cc: Liming Gao Cc: Sean Brogan Signed-off-by: Wei6 Xu 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