From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from walk.intel-email.com (walk.intel-email.com [101.227.64.242]) by mx.groups.io with SMTP id smtpd.web09.4003.1659679874363319269 for ; Thu, 04 Aug 2022 23:11:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@byosoft.com.cn header.s=cloud-union header.b=H+rzhwez; spf=pass (domain: byosoft.com.cn, ip: 101.227.64.242, mailfrom: gaoliming@byosoft.com.cn) Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 7D4A7CD1F66A for ; Fri, 5 Aug 2022 14:11:11 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=byosoft.com.cn; s=cloud-union; t=1659679871; bh=DjYYv/DJOr44QBahve+wMHeMwxlDvvchwjxXcKbGODY=; h=From:To:Cc:References:In-Reply-To:Subject:Date; b=H+rzhwezgRul8JHp5BOZr7eTvCMGKPdj7nGBvZhHFLAVD8ZTgdHE9P1AnbClfAUpp x2j/oIVe+fcK2qLbo7EHSD9SQ5Gwcl/D39m8fBME02bgsOJy1SVu5BQk4cOWqwmfOQ bWtu1blIYMUw/HwdsKqn1ySgU2WWDivXUatP1EbU= Received: from localhost (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 78EB3CD1F64D for ; Fri, 5 Aug 2022 14:11:11 +0800 (CST) X-Virus-Scanned: by SpamTitan at intel-email.com Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 3EC59CD1F62A for ; Fri, 5 Aug 2022 14:11:11 +0800 (CST) Authentication-Results: walk.intel-email.com; none Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by walk.intel-email.com (Postfix) with SMTP id C4EC8CD1F65D for ; Fri, 5 Aug 2022 14:11:04 +0800 (CST) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Fri, 05 Aug 2022 14:11:02 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: "'Huang, Yanbo'" , Cc: "'Kinney, Michael D'" , "'Liu, Zhiguang'" , "'Bi, Dandan'" References: <20220805024205.42844-1-yanbo.huang@intel.com> <02e601d8a879$9e32fb00$da98f100$@byosoft.com.cn> In-Reply-To: Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVQa2cvVWVmaURldmljZVBhdGhMaWI6IHJlYmFjayB0aGUgRGV2aWNlUGF0aFV0aWxpdGllc1N0YW5kYWxvbmVNbQ==?= Date: Fri, 5 Aug 2022 14:11:05 +0800 Message-ID: <030a01d8a892$25b3c6a0$711b53e0$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQLstDM2xoCBmFKIZenaMsHkPCyJ2wHmpwVYAVHVmt+rXfU70A== Sender: "gaoliming" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn Yanbo: If this patch is temporarily added, you can handle it in your downstream = code base. If you request to add DevicePathUtilitiesStandaloneMm for long term compa= tibility, this topic has been discussed in https://edk2.groups.io/g/devel/m= essage/91799.=20 Thanks Liming > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > =E5=8F=91=E4=BB=B6=E4=BA=BA: Huang, Yanbo > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2022=E5=B9=B48=E6=9C=885=E6=97=A5 1= 3:34 > =E6=94=B6=E4=BB=B6=E4=BA=BA: Gao, Liming ; deve= l@edk2.groups.io > =E6=8A=84=E9=80=81: Kinney, Michael D ; Liu, = Zhiguang > ; Bi, Dandan > =E4=B8=BB=E9=A2=98: RE: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: re= back the > DevicePathUtilitiesStandaloneMm >=20 > Hi Liming, >=20 > You mentioned patch rename the DevicePathUtilitiesStandaloneMm to > UefiDevicePathLibBase, but there are some consumer in intel platform stil= l > use the DevicePathUtilitiesStandaloneMm, so downstream will failed in CI > because it cannot find DevicePathUtilitiesStandaloneMm. So the > DevicePathUtilitiesStandaloneMm and UefiDevicePathLibBase must exist at > the same time for a period of time. After downstream finished and platfor= m > change to use UefiDevicePathLibBase, then > DevicePathUtilitiesStandaloneMm can be deleted. >=20 > Best Regards, > Yanbo Huang >=20 > -----Original Message----- > From: gaoliming > Sent: Friday, August 5, 2022 11:16 AM > To: devel@edk2.groups.io; Huang, Yanbo > Cc: Kinney, Michael D ; Liu, Zhiguang > > Subject: =E5=9B=9E=E5=A4=8D: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLi= b: reback the > DevicePathUtilitiesStandaloneMm >=20 > Yanbo: > Previous change has been reviewed and merged. Please see the detail > https://edk2.groups.io/g/devel/message/91799 >=20 > Thanks > Liming > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > > =E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io =E4=BB=A3=E8=A1=A8 Huang, > Yanbo > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2022=E5=B9=B48=E6=9C=885=E6=97=A5= 10:42 > > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io > > =E6=8A=84=E9=80=81: Yanbo Huang ; Michael D Kinn= ey > > ; Liming Gao ; > > Zhiguang Liu > > =E4=B8=BB=E9=A2=98: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reba= ck the > > DevicePathUtilitiesStandaloneMm > > > > From: Yanbo Huang > > > > reback the DevicePathUtilitiesStandaloneMm to unblock the downstream > > sync > > > > Signed-off-by: Yanbo Huang > > CC: Michael D Kinney > > CC: Liming Gao > > CC: Zhiguang Liu > > > > --- > > .../DevicePathUtilitiesStandaloneMm.c | 39 ++++++++++ > > .../UefiDevicePathLibStandaloneMm.inf | 75 > > +++++++++++++++++++ > > 2 files changed, 114 insertions(+) > > create mode 100644 > > MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c > > create mode 100644 > > MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibStandaloneMm.inf > > > > diff --git > > a/MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c > > b/MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c > > new file mode 100644 > > index 0000000000..096f835b90 > > --- /dev/null > > +++ > > b/MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c > > @@ -0,0 +1,39 @@ > > +/** @file > > + Device Path services. The thing to remember is device paths are > > +built > out > > of > > + nodes. The device path is terminated by an end node that is length > > + sizeof(EFI_DEVICE_PATH_PROTOCOL). That would be why there is > > sizeof(EFI_DEVICE_PATH_PROTOCOL) > > + all over this file. > > + > > + The only place where multi-instance device paths are supported is > > + in environment varibles. Multi-instance device paths should never > > + be > placed > > + on a Handle. > > + > > + Copyright (c) 2006 - 2018, Intel Corporation. All rights > > + reserved.
Copyright (c) Microsoft Corporation. > > + SPDX-License-Identifier: BSD-2-Clause-Patent > > + > > +**/ > > + > > +#include "UefiDevicePathLib.h" > > + > > +/** > > + Retrieves the device path protocol from a handle. > > + > > + This function returns the device path protocol from the handle > specified by > > Handle. > > + If Handle is NULL or Handle does not contain a device path > > + protocol, > then > > NULL > > + is returned. > > + > > + @param Handle The handle from which to > > retrieve the device > > + path protocol. > > + > > + @return The device path protocol from the handle specified by Handle= . > > + > > +**/ > > +EFI_DEVICE_PATH_PROTOCOL * > > +EFIAPI > > +DevicePathFromHandle ( > > + IN EFI_HANDLE Handle > > + ) > > +{ > > + return NULL; > > +} > > diff --git > > a/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibStandaloneMm.inf > > b/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibStandaloneMm.inf > > new file mode 100644 > > index 0000000000..23fedf38b7 > > --- /dev/null > > +++ > > b/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibStandaloneMm.inf > > @@ -0,0 +1,75 @@ > > +## @file > > +# Instance of Device Path Library based on Memory Allocation Library. > > +# > > +# Device Path Library that layers on top of the Memory Allocation > Library. > > +# > > +# Copyright (c) 2007 - 2018, Intel Corporation. All rights > > +reserved.
# Copyright (c) Microsoft Corporation. > > +# > > +# SPDX-License-Identifier: BSD-2-Clause-Patent # # ## > > + > > +[Defines] > > + INF_VERSION =3D 0x00010005 > > + BASE_NAME =3D UefiDevicePathLib > > + MODULE_UNI_FILE =3D UefiDevicePathLib.uni > > + FILE_GUID =3D > > D8E58437-44D3-4154-B7A7-EB794923EF12 > > + MODULE_TYPE =3D MM_STANDALONE > > + PI_SPECIFICATION_VERSION =3D 0x00010032 > > + VERSION_STRING =3D 1.0 > > + LIBRARY_CLASS =3D DevicePathLib | > > MM_STANDALONE MM_CORE_STANDALONE > > + > > + > > +# > > +# VALID_ARCHITECTURES =3D IA32 X64 EBC > > +# > > + > > +[Sources] > > + DevicePathUtilities.c > > + DevicePathUtilitiesStandaloneMm.c > > + DevicePathToText.c > > + DevicePathFromText.c > > + UefiDevicePathLib.c > > + UefiDevicePathLib.h > > + > > +[Packages] > > + MdePkg/MdePkg.dec > > + > > +[LibraryClasses] > > + BaseLib > > + MemoryAllocationLib > > + DebugLib > > + BaseMemoryLib > > + PcdLib > > + PrintLib > > + > > +[Guids] > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiVTUTF8Guid > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiVT100Guid > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiVT100PlusGuid > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiPcAnsiGuid > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiUartDevicePathGuid > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiSasDevicePathGuid > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiVirtualDiskGuid > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiVirtualCdGuid > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiPersistentVirtualDiskGuid > > + ## SOMETIMES_CONSUMES ## GUID > > + gEfiPersistentVirtualCdGuid > > + > > +[Protocols] > > + gEfiDevicePathProtocolGuid ## > > SOMETIMES_CONSUMES > > + gEfiDebugPortProtocolGuid ## UNDEFINED > > + > > +[Pcd] > > + gEfiMdePkgTokenSpaceGuid.PcdMaximumDevicePathNodeCount ## > > SOMETIMES_CONSUMES > > -- > > 2.31.1.windows.1 > > > > > > > >=20 > > >=20 >=20