From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web12.720.1577088074726870574 for ; Mon, 23 Dec 2019 00:01:15 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: liming.gao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Dec 2019 00:01:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,346,1571727600"; d="scan'208";a="222972021" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga001.fm.intel.com with ESMTP; 23 Dec 2019 00:01:14 -0800 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 23 Dec 2019 00:01:14 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 23 Dec 2019 00:01:13 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.90]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.19]) with mapi id 14.03.0439.000; Mon, 23 Dec 2019 16:01:12 +0800 From: "Liming Gao" To: "Gao, Zhichao" , "Ni, Ray" , "devel@edk2.groups.io" CC: "Kinney, Michael D" , Vitaly Cheptsov Subject: Re: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: Separate the lib instances Thread-Topic: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: Separate the lib instances Thread-Index: AQHVtUhbHrGqlS5QO0G/YVgtSC4ZHafCAeYAgAADwoCAAASsAIAABdIAgAAJ9ICABElBgIABAAeA Date: Mon, 23 Dec 2019 08:01:12 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E56970A@SHSMSX104.ccr.corp.intel.com> References: <20191218021036.23072-1-zhichao.gao@intel.com> <734D49CCEBEEF84792F5B80ED585239D5C3A3F54@SHSMSX104.ccr.corp.intel.com> <3CE959C139B4C44DBEA1810E3AA6F9000B8A4289@SHSMSX101.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C3A3FCD@SHSMSX104.ccr.corp.intel.com> <3CE959C139B4C44DBEA1810E3AA6F9000B8A4323@SHSMSX101.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C3A41D7@SHSMSX104.ccr.corp.intel.com> <3CE959C139B4C44DBEA1810E3AA6F9000B8A4DE2@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <3CE959C139B4C44DBEA1810E3AA6F9000B8A4DE2@SHSMSX101.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMTM0MTFhM2ItMWRhZC00Y2RlLWEwNjEtZTU1YzBkMzc3Y2U3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSXNvdno1OFRzWDlCcHZibW9VdFdhSEZZT0lZQllaUDl0YmRVYnhiaUN1OWh0cE1sSzZETEtWTzBKQ2sxSWs1bSJ9 dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Zhichao: I think the first step is to send RFC on the proposal. If no one rejects= RFC, then work out the detail changes.=20 Thanks Liming > -----Original Message----- > From: Gao, Zhichao > Sent: Monday, December 23, 2019 8:44 AM > To: Ni, Ray ; devel@edk2.groups.io > Cc: Kinney, Michael D ; Gao, Liming ; Vitaly Cheptsov > Subject: RE: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: Sepa= rate the lib instances >=20 > Ray, >=20 > Your suggestion is good for open source, but unfriendly to the close sou= rce platforms which consume this lib. >=20 > Hi Mike/Liming/Ray/Others, >=20 > Do we have a progress to retire lib/API/others in the open source, like = below? > 1. Announce that there is something going to retire. > 2. Suggestion to replace the retired function in open source. Or the jus= tification of the retirement. > 3. Collect the feedback especially the disagreement. > 4. Discuss and make the decision. > 5. Reject the retirement. Or announce the retire date to let consumers t= o change their platform codes. > 6. Retire the function. >=20 > Thanks, > Zhichao >=20 > > -----Original Message----- > > From: Ni, Ray > > Sent: Friday, December 20, 2019 3:16 PM > > To: Gao, Zhichao ; devel@edk2.groups.io > > Cc: Kinney, Michael D ; Gao, Liming > > ; Vitaly Cheptsov > > Subject: RE: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: Se= parate > > the lib instances > > > > Zhichao, > > I prefer to have one patch serial which include: > > 1. Adds new mandatory instance > > 2. Update consumers to use the new instance 2. Removes the old mandato= ry > > instance > > > > Otherwise, adding a new mandatory instance introduces more code duplic= ation > > IMO. > > > > Thanks, > > Ray > > > > > -----Original Message----- > > > From: Gao, Zhichao > > > Sent: Friday, December 20, 2019 2:41 PM > > > To: Ni, Ray ; devel@edk2.groups.io > > > Cc: Kinney, Michael D ; Gao, Liming > > > ; Vitaly Cheptsov > > > Subject: RE: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: > > > Separate the lib instances > > > > > > For open source, it would impact fsp2 package, ovmf package and some > > > open platform packages. Not sure for others. > > > I didn't plan the removal of UefiDevicePathLibDevicePathProtocol yet= . > > > > > > Thanks, > > > Zhichao > > > > -----Original Message----- > > > > From: Ni, Ray > > > > Sent: Friday, December 20, 2019 2:20 PM > > > > To: Gao, Zhichao ; devel@edk2.groups.io > > > > Cc: Kinney, Michael D ; Gao, Liming > > > > ; Vitaly Cheptsov > > > > Subject: RE: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib= : > > > Separate > > > > the lib instances > > > > > > > > Removing code duplication is great. > > > > > > > > But your patch introduces more code duplication: the mandatory one > > > > in UefiDevicePathLib directory and the other one in > > > > UefiDevicePathLibDevicePathProtocol directory. > > > > > > > > Do you have a plan to remove the one in > > > UefiDevicePathLibDevicePathProtocol > > > > directory? > > > > Have you evaluated the impact to consumers of removing that one? > > > > > > > > Thanks, > > > > Ray > > > > > > > > > -----Original Message----- > > > > > From: Gao, Zhichao > > > > > Sent: Friday, December 20, 2019 2:03 PM > > > > > To: Ni, Ray ; devel@edk2.groups.io > > > > > Cc: Kinney, Michael D ; Gao, Liming > > > > > ; Vitaly Cheptsov > > > > > Subject: RE: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathL= ib: > > > > > Separate the lib instances > > > > > > > > > > Ray, > > > > > > > > > > I knew there is one in MdePkg. But it has duplicate code with > > > > > UefiDevicePathLib. That is why I add the Mandatory one. > > > > > And it is recommended to use the one in UefiDevicePathLib path. > > > > > > > > > > Thanks, > > > > > Zhichao > > > > > > > > > > > -----Original Message----- > > > > > > From: Ni, Ray > > > > > > Sent: Friday, December 20, 2019 1:50 PM > > > > > > To: devel@edk2.groups.io; Gao, Zhichao > > > > > > Cc: Kinney, Michael D ; Gao, Limin= g > > > > > > ; Vitaly Cheptsov > > > > > > Subject: RE: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePat= hLib: > > > > > Separate > > > > > > the lib instances > > > > > > > > > > > > Zhichao, > > > > > > \MdePkg\Library\UefiDevicePathLibDevicePathProtocol\ contains > > > > > > the > > > > > version > > > > > > that hard-depends on the protocol. > > > > > > I don't think you need to add another version. > > > > > > > > > > > > Thanks, > > > > > > Ray > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: devel@edk2.groups.io On Behalf = Of > > > > > > > Gao, Zhichao > > > > > > > Sent: Wednesday, December 18, 2019 10:11 AM > > > > > > > To: devel@edk2.groups.io > > > > > > > Cc: Kinney, Michael D ; Gao, > > > > > > > Liming ; Vitaly Cheptsov > > > > > > > > > > > > > > Subject: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathL= ib: > > > > > > > Separate the lib instances > > > > > > > > > > > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2298 > > > > > > > > > > > > > > The UefiDevicePathLibOptionalDevicePathProtocolConstructor's > > > > > > > implementation > > > > > > > isn't match with its instance name. > > > > > > > Remove the ASSERT and depex of the > > > > > gEfiDevicePathUtilitiesProtocolGuid > > > > > > > because of "Optional". > > > > > > > > > > > > > > Add a mandatory instance to force using the > > > > > > > DevicePathUtilities, DevicePathToText and DevicePathFromText > > > > > > > protocol with the ASSERT > > > > > and > > > > > > > depex. > > > > > > > > > > > > > > V2: > > > > > > > The optional lib instance's construction should return succe= ss > > > > > > > all the time. > > > > > > > Change the desciption of the optional lib uni file. > > > > > > > Change the copyright date of the mandatory one's uni file. > > > > > > > > > > > > > > V3: > > > > > > > Remove the Status variable in > > > > > > > UefiDevicePathLibOptionalDevicePathProtocolConstructor. > > > > > > > The Status would cause GCC build fail because the variable i= s > > > > > > > initialized but not used. > > > > > > > Since it is useless for the constructor, directly remove it. > > > > > > > > > > > > > > Cc: Michael D Kinney > > > > > > > Cc: Liming Gao > > > > > > > Cc: Vitaly Cheptsov > > > > > > > Signed-off-by: Zhichao Gao > > > > > > > > > > > > > > Zhichao Gao (2): > > > > > > > MdePkg/UefiDevicePathLib: Separate the device path lib > > > > > > > MdePkg/dsc: Add UefiDevicePathLibMandatoryDevicePathProtoc= ol > > > for > > > > > > > build > > > > > > > > > > > > > > ...DevicePathLibMandatoryDevicePathProtocol.c | 469 > > > > > > > ++++++++++++++++++ > > > > > > > ...vicePathLibMandatoryDevicePathProtocol.inf | 86 ++++ > > > > > > > ...vicePathLibMandatoryDevicePathProtocol.uni | 18 + > > > > > > > ...iDevicePathLibOptionalDevicePathProtocol.c | 21 +- > > > > > > > ...evicePathLibOptionalDevicePathProtocol.inf | 5 +- > > > > > > > ...evicePathLibOptionalDevicePathProtocol.uni | 6 +- > > > > > > > MdePkg/MdePkg.dsc | 3 +- > > > > > > > 7 files changed, 587 insertions(+), 21 deletions(-) create > > > > > > > mode > > > > > > > 100644 > > > > > > > > > > > > > > > MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibMandatoryDevicePat > > > > > > > hProtocol.c > > > > > > > create mode 100644 > > > > > > > > > > > > > > > MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibMandatoryDevicePat > > > > > > > hProtocol.inf > > > > > > > create mode 100644 > > > > > > > > > > > > > > > MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibMandatoryDevicePat > > > > > > > hProtocol.uni > > > > > > > > > > > > > > -- > > > > > > > 2.21.0.windows.1 > > > > > > > > > > > > > > > > > > > > >=20