From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web12.6655.1589511686619822891 for ; Thu, 14 May 2020 20:01:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=YngggKxO; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: liming.gao@intel.com) IronPort-SDR: FoNnjxybREwnnTYf3OHWQr3cdINZsrJGoWVn2nJmlgYaetefuFeEiQvgH4EivxSBsO01tjYieS aScXTGyGMoJA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 May 2020 20:01:25 -0700 IronPort-SDR: y509pRXazboqkYLVq9S64vSKXeWde0Iz0lFRzTYgBiF7LglsFiPRYie6alApSG38Z+t9HwrNTQ gaRtlnhIUE+w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,393,1583222400"; d="scan'208";a="281076833" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by orsmga002.jf.intel.com with ESMTP; 14 May 2020 20:01:25 -0700 Received: from orsmsx111.amr.corp.intel.com (10.22.240.12) by ORSMSX105.amr.corp.intel.com (10.22.225.132) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 14 May 2020 20:01:24 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by ORSMSX111.amr.corp.intel.com (10.22.240.12) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 14 May 2020 20:01:25 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 14 May 2020 20:01:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fOR2JO/R9hzlL0yD4FkDLw7BBuTmm5L4xBZGc2EmbDAGPp9k/T8ETM5oVJv+5EHC2VKzsf9NFR8FCLYQkFZcEgGsF1Q7NxTk7uBBE58LkwJ8reUfIWhlrUQzdVr8Pk9gIaJla0ENdj0g1Jlw71+u14SfiAndb2HuZVA/wwMreens28JUF8jEarqOfsykthLFMXVx44oiYlkk+3sb+KH1/y9gZzK+0Mb310RY8FG+xYuWphAns/c4PUi/3ttwJS49HZsR3GbPymu3SKYgQv9p90c1lWBex/1JMp8f+XpGdLBmOeZygoVcSD508HUfCYtHraCAvMwz8nbeOI8Yz7iZog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aCVGo8gDpAUFsR5yEhCmQAAmFFSqRL+If34SiMizttk=; b=VQhaZu5zz+Ip65bJa/oSp2aa11sWZb/A1IlrrZRqIh596vdPPYhtLU6iPyHKvPOz277DE3/4M65krk5kOIfdify08kIsG7QbDbb1nKi3QKRBlwr2YslnL4UTLbgbyJxYF7wIUiI6CMx0xugSSmQteKsrqfVPLHKUMnU0Q/ZTGwJT2gSAlDm4vH4JMsZQzY4JxjsnC9R/Ph4zIosHI637B5Ry5Ye2zAgxXE4D+OzLynxyvKlcONEYYghfhnmb7p48SKvmUvg8DY9IryVCgrtydtEojIv9UI0jIHApPxUBAvhKniRxqydPwW5NVirYf4ChUv7TBqEc6zjcxqvx8U4Atg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aCVGo8gDpAUFsR5yEhCmQAAmFFSqRL+If34SiMizttk=; b=YngggKxOjPuGd70gnbKbskxLiw0H+NwiuDTxT0jNF6cg2gYolILjKMKKh36KjCAUIz0gIPeoF70qKgqJwwhRcfdOj3ghNecCkO/oYjUiAOu0uZLBHphBUMDZugdNFfSLxwyVyqQv5t9M8Yc7yKZlQXLVQdxOAADs65DE3xqYSV4= Received: from BN6PR11MB3972.namprd11.prod.outlook.com (2603:10b6:405:7f::11) by BN6PR11MB1650.namprd11.prod.outlook.com (2603:10b6:405:11::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.34; Fri, 15 May 2020 03:01:21 +0000 Received: from BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0]) by BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0%7]) with mapi id 15.20.3000.022; Fri, 15 May 2020 03:01:21 +0000 From: "Liming Gao" To: "devel@edk2.groups.io" , "Xu, Wei6" CC: "Kinney, Michael D" , Sean Brogan Subject: Re: [edk2-devel] [PATCH V4 0/5] FmpDevicePkg: Move capsule dependency implement to library Thread-Topic: [edk2-devel] [PATCH V4 0/5] FmpDevicePkg: Move capsule dependency implement to library Thread-Index: AQHWKltsPz9Rxdbf3k60TQzbqZreTaiodXhg Date: Fri, 15 May 2020 03:01:21 +0000 Message-ID: References: <20200515015123.11484-1-wei6.xu@intel.com> In-Reply-To: <20200515015123.11484-1-wei6.xu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.207] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 31bca580-3abc-4507-2877-08d7f87c3f03 x-ms-traffictypediagnostic: BN6PR11MB1650: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-forefront-prvs: 04041A2886 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: imGQ1vGHgLCLJfKEfTDESxGVCmj6uGv63p8HyG0cwR7QR6zwkXNiX9XzDHwQnAiOndPjG60kcdyIcxOaqpqDau1kQHSeRl0NYE38tSv7DsfIbJBkbNrQmHtYI5z6hj4/Cbyqic/M1a5OYqJcVpDMuw6VblOHJ4UzkqcK3dbIIuW1QQ0WXUcTfkCq0xM5pRY7rnSFqxoJKaU34HmOHaOdoRqYGDU+op5yTyIqdexA7I0mxu9lioxh+o60AM+NbNq85u3/qHHc2JnvGMOeVgZDToWtFXRAHYS5buqVCVzk0CCYhJ6tLf4+ol8PHfKQpMwjlsfaqK5daC/JUN4AJocjQ3fe8J3yuAHEIgroLwt24GaSSZ0muKkbxPAuw6QAY5A022XyXP/xg2Z+5Ypo0Ff5FYsMiq0T5nm8MIhgvbHT+fkyVfD/1ruCPFwlWL8jihgihEBU/PzPcYsOxfA8hAFDisiK59rKumOax1pPwPa6u4TLA6B6+7a6lkH9f+0CbrXh1gC+/2WMlqtyPZVzyRB/LQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB3972.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(136003)(396003)(366004)(39860400002)(346002)(376002)(316002)(6636002)(186003)(64756008)(76116006)(2906002)(110136005)(8676002)(8936002)(66476007)(5660300002)(66946007)(66446008)(478600001)(54906003)(6506007)(71200400001)(66556008)(966005)(53546011)(26005)(86362001)(33656002)(9686003)(7696005)(52536014)(55016002)(4326008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: WBd7nfO4euY4RRI7a6shFqHLTh7WNCXD5tBaypMKvyKi850avTlDBgQqDr8ML7Np2r34LnNrg3p0wYizbzsPelJ7kqSCeRJh69JNDfDw5JxuNW20eJdFU2sGBEu+my1N8TdipkP4Qq/2aeJEHByaOV2MqUSODf0Vjg4U3s4aC9Re3xC2aAc1+sMijH1HWbDtS3xCQA6Ga0xFBQXlcu2b3lZX5P+U/gTgpGpM8v8AcPHFBIB0oiw93OyPZWHeI6epSL+fYXBZEal3z5DUCO1pQoN9Jne3FpyD+Vj2GQADroYeDGRJTWavuzl0/tKI7Z9u8WUh5y1NqWFBwDYYzsIx+cBsO2Enm/gxu7BrV9d77WVYq/Jg/J2bqb4RVDjNM0Hk20L2TCftIqk2DNuv8WUN81o13xBrevUZIBKVemKRw7L4kuMjdRFbyNjcL/bQ5WA3ZsREV087kSr0PIc58Uw2b/MqEhVuexvtZ5DooItIzE+M/ubhIfnE8nodlWY0/jUI MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 31bca580-3abc-4507-2877-08d7f87c3f03 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2020 03:01:21.2019 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: x3IqFp8Q+NvByyyJYdcBp16r7Sr7JJzGjrsdojp+E3Cy4OV+FxGhbOy97GTUjrFUIZlWAalUoC3DU2RDfJNUMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1650 Return-Path: liming.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Liming Gao > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Xu, Wei6 > Sent: Friday, May 15, 2020 9:51 AM > To: devel@edk2.groups.io > Cc: Kinney, Michael D ; Gao, Liming ; Sean Brogan > > Subject: [edk2-devel] [PATCH V4 0/5] FmpDevicePkg: Move capsule dependen= cy implement to library >=20 > v4: > - Remove the CONST in ValidateDependency API to keep APIs common. >=20 > v3: > - Refine description and comments of API: EvaluateDependency(), > GetFmpDependency(), CheckFmpDependency(). > - Remove the check on the dependencies coming from other FMP instances. >=20 > v2: > - Remove API GetDependencySize in FmpDependencyLib. > - Correct comments in FmpDependencyLib unit test; Correct the error stat= us > 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 >=20 > v1: > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2696 >=20 > 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. >=20 > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Sean Brogan > Signed-off-by: Wei6 Xu >=20 >=20 > 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 >=20 > 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/FmpDepend= encyCheckLib.c > create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLib/FmpDepend= encyCheckLib.inf > create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLib/FmpDepend= encyCheckLib.uni > create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDe= pendencyCheckLibNull.c > create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDe= pendencyCheckLibNull.inf > create mode 100644 FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDe= pendencyCheckLibNull.uni > create mode 100644 FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpD= ependencyDeviceLib.c > create mode 100644 FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpD= ependencyDeviceLibNull.inf > create mode 100644 FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpD= ependencyDeviceLibNull.uni > rename FmpDevicePkg/{FmpDxe/Dependency.c =3D> Library/FmpDependencyLib/= FmpDependencyLib.c} (53%) > create mode 100644 FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyL= ib.inf > create mode 100644 FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyL= ib.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 >=20 > -- > 2.16.2.windows.1 >=20 >=20 >=20