* [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm @ 2022-08-05 2:42 Huang, Yanbo 2022-08-05 3:15 ` 回复: [edk2-devel] " gaoliming 0 siblings, 1 reply; 7+ messages in thread From: Huang, Yanbo @ 2022-08-05 2:42 UTC (permalink / raw) To: devel; +Cc: Yanbo Huang, Michael D Kinney, Liming Gao, Zhiguang Liu From: Yanbo Huang <yanbo.huang@intel.com> reback the DevicePathUtilitiesStandaloneMm to unblock the downstream sync Signed-off-by: Yanbo Huang <yanbo.huang@intel.com> CC: Michael D Kinney <michael.d.kinney@intel.com> CC: Liming Gao <gaoliming@byosoft.com.cn> CC: Zhiguang Liu <zhiguang.liu@intel.com> --- .../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.<BR> + 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.<BR> +# Copyright (c) Microsoft Corporation. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = UefiDevicePathLib + MODULE_UNI_FILE = UefiDevicePathLib.uni + FILE_GUID = D8E58437-44D3-4154-B7A7-EB794923EF12 + MODULE_TYPE = MM_STANDALONE + PI_SPECIFICATION_VERSION = 0x00010032 + VERSION_STRING = 1.0 + LIBRARY_CLASS = DevicePathLib | MM_STANDALONE MM_CORE_STANDALONE + + +# +# VALID_ARCHITECTURES = 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm 2022-08-05 2:42 [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm Huang, Yanbo @ 2022-08-05 3:15 ` gaoliming 2022-08-05 5:34 ` Huang, Yanbo 0 siblings, 1 reply; 7+ messages in thread From: gaoliming @ 2022-08-05 3:15 UTC (permalink / raw) To: devel, yanbo.huang; +Cc: 'Michael D Kinney', 'Zhiguang Liu' Yanbo: Previous change has been reviewed and merged. Please see the detail https://edk2.groups.io/g/devel/message/91799 Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Huang, Yanbo > 发送时间: 2022年8月5日 10:42 > 收件人: devel@edk2.groups.io > 抄送: Yanbo Huang <yanbo.huang@intel.com>; Michael D Kinney > <michael.d.kinney@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; > Zhiguang Liu <zhiguang.liu@intel.com> > 主题: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > DevicePathUtilitiesStandaloneMm > > From: Yanbo Huang <yanbo.huang@intel.com> > > reback the DevicePathUtilitiesStandaloneMm to unblock the downstream > sync > > Signed-off-by: Yanbo Huang <yanbo.huang@intel.com> > CC: Michael D Kinney <michael.d.kinney@intel.com> > CC: Liming Gao <gaoliming@byosoft.com.cn> > CC: Zhiguang Liu <zhiguang.liu@intel.com> > > --- > .../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.<BR> > + 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.<BR> > +# Copyright (c) Microsoft Corporation. > +# > +# SPDX-License-Identifier: BSD-2-Clause-Patent > +# > +# > +## > + > +[Defines] > + INF_VERSION = 0x00010005 > + BASE_NAME = UefiDevicePathLib > + MODULE_UNI_FILE = UefiDevicePathLib.uni > + FILE_GUID = > D8E58437-44D3-4154-B7A7-EB794923EF12 > + MODULE_TYPE = MM_STANDALONE > + PI_SPECIFICATION_VERSION = 0x00010032 > + VERSION_STRING = 1.0 > + LIBRARY_CLASS = DevicePathLib | > MM_STANDALONE MM_CORE_STANDALONE > + > + > +# > +# VALID_ARCHITECTURES = 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 > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm 2022-08-05 3:15 ` 回复: [edk2-devel] " gaoliming @ 2022-08-05 5:34 ` Huang, Yanbo 2022-08-05 6:11 ` 回复: " gaoliming 0 siblings, 1 reply; 7+ messages in thread From: Huang, Yanbo @ 2022-08-05 5:34 UTC (permalink / raw) To: Gao, Liming, devel@edk2.groups.io Cc: Kinney, Michael D, Liu, Zhiguang, Bi, Dandan Hi Liming, You mentioned patch rename the DevicePathUtilitiesStandaloneMm to UefiDevicePathLibBase, but there are some consumer in intel platform still 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 platform change to use UefiDevicePathLibBase, then DevicePathUtilitiesStandaloneMm can be deleted. Best Regards, Yanbo Huang -----Original Message----- From: gaoliming <gaoliming@byosoft.com.cn> Sent: Friday, August 5, 2022 11:16 AM To: devel@edk2.groups.io; Huang, Yanbo <yanbo.huang@intel.com> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com> Subject: 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm Yanbo: Previous change has been reviewed and merged. Please see the detail https://edk2.groups.io/g/devel/message/91799 Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Huang, Yanbo > 发送时间: 2022年8月5日 10:42 > 收件人: devel@edk2.groups.io > 抄送: Yanbo Huang <yanbo.huang@intel.com>; Michael D Kinney > <michael.d.kinney@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; > Zhiguang Liu <zhiguang.liu@intel.com> > 主题: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > DevicePathUtilitiesStandaloneMm > > From: Yanbo Huang <yanbo.huang@intel.com> > > reback the DevicePathUtilitiesStandaloneMm to unblock the downstream > sync > > Signed-off-by: Yanbo Huang <yanbo.huang@intel.com> > CC: Michael D Kinney <michael.d.kinney@intel.com> > CC: Liming Gao <gaoliming@byosoft.com.cn> > CC: Zhiguang Liu <zhiguang.liu@intel.com> > > --- > .../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.<BR> 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.<BR> # Copyright (c) Microsoft Corporation. > +# > +# SPDX-License-Identifier: BSD-2-Clause-Patent # # ## > + > +[Defines] > + INF_VERSION = 0x00010005 > + BASE_NAME = UefiDevicePathLib > + MODULE_UNI_FILE = UefiDevicePathLib.uni > + FILE_GUID = > D8E58437-44D3-4154-B7A7-EB794923EF12 > + MODULE_TYPE = MM_STANDALONE > + PI_SPECIFICATION_VERSION = 0x00010032 > + VERSION_STRING = 1.0 > + LIBRARY_CLASS = DevicePathLib | > MM_STANDALONE MM_CORE_STANDALONE > + > + > +# > +# VALID_ARCHITECTURES = 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 > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm 2022-08-05 5:34 ` Huang, Yanbo @ 2022-08-05 6:11 ` gaoliming 2022-08-05 15:38 ` Michael D Kinney 0 siblings, 1 reply; 7+ messages in thread From: gaoliming @ 2022-08-05 6:11 UTC (permalink / raw) To: 'Huang, Yanbo', devel Cc: 'Kinney, Michael D', 'Liu, Zhiguang', 'Bi, Dandan' 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 compatibility, this topic has been discussed in https://edk2.groups.io/g/devel/message/91799. Thanks Liming > -----邮件原件----- > 发件人: Huang, Yanbo <yanbo.huang@intel.com> > 发送时间: 2022年8月5日 13:34 > 收件人: Gao, Liming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io > 抄送: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > <zhiguang.liu@intel.com>; Bi, Dandan <dandan.bi@intel.com> > 主题: RE: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > DevicePathUtilitiesStandaloneMm > > Hi Liming, > > You mentioned patch rename the DevicePathUtilitiesStandaloneMm to > UefiDevicePathLibBase, but there are some consumer in intel platform still > 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 platform > change to use UefiDevicePathLibBase, then > DevicePathUtilitiesStandaloneMm can be deleted. > > Best Regards, > Yanbo Huang > > -----Original Message----- > From: gaoliming <gaoliming@byosoft.com.cn> > Sent: Friday, August 5, 2022 11:16 AM > To: devel@edk2.groups.io; Huang, Yanbo <yanbo.huang@intel.com> > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > <zhiguang.liu@intel.com> > Subject: 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > DevicePathUtilitiesStandaloneMm > > Yanbo: > Previous change has been reviewed and merged. Please see the detail > https://edk2.groups.io/g/devel/message/91799 > > Thanks > Liming > > -----邮件原件----- > > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Huang, > Yanbo > > 发送时间: 2022年8月5日 10:42 > > 收件人: devel@edk2.groups.io > > 抄送: Yanbo Huang <yanbo.huang@intel.com>; Michael D Kinney > > <michael.d.kinney@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; > > Zhiguang Liu <zhiguang.liu@intel.com> > > 主题: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > > DevicePathUtilitiesStandaloneMm > > > > From: Yanbo Huang <yanbo.huang@intel.com> > > > > reback the DevicePathUtilitiesStandaloneMm to unblock the downstream > > sync > > > > Signed-off-by: Yanbo Huang <yanbo.huang@intel.com> > > CC: Michael D Kinney <michael.d.kinney@intel.com> > > CC: Liming Gao <gaoliming@byosoft.com.cn> > > CC: Zhiguang Liu <zhiguang.liu@intel.com> > > > > --- > > .../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.<BR> 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.<BR> # Copyright (c) Microsoft Corporation. > > +# > > +# SPDX-License-Identifier: BSD-2-Clause-Patent # # ## > > + > > +[Defines] > > + INF_VERSION = 0x00010005 > > + BASE_NAME = UefiDevicePathLib > > + MODULE_UNI_FILE = UefiDevicePathLib.uni > > + FILE_GUID = > > D8E58437-44D3-4154-B7A7-EB794923EF12 > > + MODULE_TYPE = MM_STANDALONE > > + PI_SPECIFICATION_VERSION = 0x00010032 > > + VERSION_STRING = 1.0 > > + LIBRARY_CLASS = DevicePathLib | > > MM_STANDALONE MM_CORE_STANDALONE > > + > > + > > +# > > +# VALID_ARCHITECTURES = 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 > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm 2022-08-05 6:11 ` 回复: " gaoliming @ 2022-08-05 15:38 ` Michael D Kinney 2022-08-08 5:24 ` 回复: " gaoliming 0 siblings, 1 reply; 7+ messages in thread From: Michael D Kinney @ 2022-08-05 15:38 UTC (permalink / raw) To: devel@edk2.groups.io, Gao, Liming, Huang, Yanbo, Kinney, Michael D Cc: Liu, Zhiguang, Bi, Dandan Liming, Adding a new INF that is type BASE was my original suggestion. Not the name change. In that thread, I suggested we get input from MM owners before changing the name. If there are many downstream platforms that are breaking from the name change, then we should add the old INF back to provide time for all platform to update to use the new INF name. Mike > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of gaoliming via groups.io > Sent: Thursday, August 4, 2022 11:11 PM > To: Huang, Yanbo <yanbo.huang@intel.com>; devel@edk2.groups.io > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com>; Bi, Dandan <dandan.bi@intel.com> > Subject: 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm > > 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 compatibility, this topic has been discussed in > https://edk2.groups.io/g/devel/message/91799. > > Thanks > Liming > > -----邮件原件----- > > 发件人: Huang, Yanbo <yanbo.huang@intel.com> > > 发送时间: 2022年8月5日 13:34 > > 收件人: Gao, Liming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io > > 抄送: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > > <zhiguang.liu@intel.com>; Bi, Dandan <dandan.bi@intel.com> > > 主题: RE: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > > DevicePathUtilitiesStandaloneMm > > > > Hi Liming, > > > > You mentioned patch rename the DevicePathUtilitiesStandaloneMm to > > UefiDevicePathLibBase, but there are some consumer in intel platform still > > 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 platform > > change to use UefiDevicePathLibBase, then > > DevicePathUtilitiesStandaloneMm can be deleted. > > > > Best Regards, > > Yanbo Huang > > > > -----Original Message----- > > From: gaoliming <gaoliming@byosoft.com.cn> > > Sent: Friday, August 5, 2022 11:16 AM > > To: devel@edk2.groups.io; Huang, Yanbo <yanbo.huang@intel.com> > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > > <zhiguang.liu@intel.com> > > Subject: 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > > DevicePathUtilitiesStandaloneMm > > > > Yanbo: > > Previous change has been reviewed and merged. Please see the detail > > https://edk2.groups.io/g/devel/message/91799 > > > > Thanks > > Liming > > > -----邮件原件----- > > > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Huang, > > Yanbo > > > 发送时间: 2022年8月5日 10:42 > > > 收件人: devel@edk2.groups.io > > > 抄送: Yanbo Huang <yanbo.huang@intel.com>; Michael D Kinney > > > <michael.d.kinney@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; > > > Zhiguang Liu <zhiguang.liu@intel.com> > > > 主题: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > > > DevicePathUtilitiesStandaloneMm > > > > > > From: Yanbo Huang <yanbo.huang@intel.com> > > > > > > reback the DevicePathUtilitiesStandaloneMm to unblock the downstream > > > sync > > > > > > Signed-off-by: Yanbo Huang <yanbo.huang@intel.com> > > > CC: Michael D Kinney <michael.d.kinney@intel.com> > > > CC: Liming Gao <gaoliming@byosoft.com.cn> > > > CC: Zhiguang Liu <zhiguang.liu@intel.com> > > > > > > --- > > > .../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.<BR> 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.<BR> # Copyright (c) Microsoft Corporation. > > > +# > > > +# SPDX-License-Identifier: BSD-2-Clause-Patent # # ## > > > + > > > +[Defines] > > > + INF_VERSION = 0x00010005 > > > + BASE_NAME = UefiDevicePathLib > > > + MODULE_UNI_FILE = UefiDevicePathLib.uni > > > + FILE_GUID = > > > D8E58437-44D3-4154-B7A7-EB794923EF12 > > > + MODULE_TYPE = MM_STANDALONE > > > + PI_SPECIFICATION_VERSION = 0x00010032 > > > + VERSION_STRING = 1.0 > > > + LIBRARY_CLASS = DevicePathLib | > > > MM_STANDALONE MM_CORE_STANDALONE > > > + > > > + > > > +# > > > +# VALID_ARCHITECTURES = 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 > > > > > > > > > > > > > > > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm 2022-08-05 15:38 ` Michael D Kinney @ 2022-08-08 5:24 ` gaoliming 2022-08-10 4:06 ` Michael D Kinney 0 siblings, 1 reply; 7+ messages in thread From: gaoliming @ 2022-08-08 5:24 UTC (permalink / raw) To: devel, michael.d.kinney, 'Huang, Yanbo' Cc: 'Liu, Zhiguang', 'Bi, Dandan' Mike: In original thread, I don't receive the objection to change the library INF file name. So, I merge original patch. Now, the downstream break is found. If you think DevicePathUtilitiesStandaloneMm is required, I would suggest to add it for long term to keep the compatibility. Yanbo: You only need to add new DevicePathUtilitiesStandaloneMm.inf. Its content is same to UefiDevicePathLibBase.inf. Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Michael D > Kinney > 发送时间: 2022年8月5日 23:38 > 收件人: devel@edk2.groups.io; Gao, Liming <gaoliming@byosoft.com.cn>; > Huang, Yanbo <yanbo.huang@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com> > 抄送: Liu, Zhiguang <zhiguang.liu@intel.com>; Bi, Dandan > <dandan.bi@intel.com> > 主题: Re: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > DevicePathUtilitiesStandaloneMm > > Liming, > > Adding a new INF that is type BASE was my original suggestion. Not the > name change. > > In that thread, I suggested we get input from MM owners before changing the > name. > > If there are many downstream platforms that are breaking from the name > change, > then we should add the old INF back to provide time for all platform to update > to > use the new INF name. > > Mike > > > -----Original Message----- > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of > gaoliming via groups.io > > Sent: Thursday, August 4, 2022 11:11 PM > > To: Huang, Yanbo <yanbo.huang@intel.com>; devel@edk2.groups.io > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > <zhiguang.liu@intel.com>; Bi, Dandan <dandan.bi@intel.com> > > Subject: 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback > the DevicePathUtilitiesStandaloneMm > > > > 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 > compatibility, this topic has been discussed in > > https://edk2.groups.io/g/devel/message/91799. > > > > Thanks > > Liming > > > -----邮件原件----- > > > 发件人: Huang, Yanbo <yanbo.huang@intel.com> > > > 发送时间: 2022年8月5日 13:34 > > > 收件人: Gao, Liming <gaoliming@byosoft.com.cn>; > devel@edk2.groups.io > > > 抄送: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > > > <zhiguang.liu@intel.com>; Bi, Dandan <dandan.bi@intel.com> > > > 主题: RE: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > > > DevicePathUtilitiesStandaloneMm > > > > > > Hi Liming, > > > > > > You mentioned patch rename the DevicePathUtilitiesStandaloneMm to > > > UefiDevicePathLibBase, but there are some consumer in intel platform still > > > 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 > platform > > > change to use UefiDevicePathLibBase, then > > > DevicePathUtilitiesStandaloneMm can be deleted. > > > > > > Best Regards, > > > Yanbo Huang > > > > > > -----Original Message----- > > > From: gaoliming <gaoliming@byosoft.com.cn> > > > Sent: Friday, August 5, 2022 11:16 AM > > > To: devel@edk2.groups.io; Huang, Yanbo <yanbo.huang@intel.com> > > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > > > <zhiguang.liu@intel.com> > > > Subject: 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback > the > > > DevicePathUtilitiesStandaloneMm > > > > > > Yanbo: > > > Previous change has been reviewed and merged. Please see the detail > > > https://edk2.groups.io/g/devel/message/91799 > > > > > > Thanks > > > Liming > > > > -----邮件原件----- > > > > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Huang, > > > Yanbo > > > > 发送时间: 2022年8月5日 10:42 > > > > 收件人: devel@edk2.groups.io > > > > 抄送: Yanbo Huang <yanbo.huang@intel.com>; Michael D Kinney > > > > <michael.d.kinney@intel.com>; Liming Gao > <gaoliming@byosoft.com.cn>; > > > > Zhiguang Liu <zhiguang.liu@intel.com> > > > > 主题: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > > > > DevicePathUtilitiesStandaloneMm > > > > > > > > From: Yanbo Huang <yanbo.huang@intel.com> > > > > > > > > reback the DevicePathUtilitiesStandaloneMm to unblock the > downstream > > > > sync > > > > > > > > Signed-off-by: Yanbo Huang <yanbo.huang@intel.com> > > > > CC: Michael D Kinney <michael.d.kinney@intel.com> > > > > CC: Liming Gao <gaoliming@byosoft.com.cn> > > > > CC: Zhiguang Liu <zhiguang.liu@intel.com> > > > > > > > > --- > > > > .../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.<BR> 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.<BR> # Copyright (c) Microsoft Corporation. > > > > +# > > > > +# SPDX-License-Identifier: BSD-2-Clause-Patent # # ## > > > > + > > > > +[Defines] > > > > + INF_VERSION = 0x00010005 > > > > + BASE_NAME = UefiDevicePathLib > > > > + MODULE_UNI_FILE = UefiDevicePathLib.uni > > > > + FILE_GUID = > > > > D8E58437-44D3-4154-B7A7-EB794923EF12 > > > > + MODULE_TYPE = MM_STANDALONE > > > > + PI_SPECIFICATION_VERSION = 0x00010032 > > > > + VERSION_STRING = 1.0 > > > > + LIBRARY_CLASS = DevicePathLib | > > > > MM_STANDALONE MM_CORE_STANDALONE > > > > + > > > > + > > > > +# > > > > +# VALID_ARCHITECTURES = 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm 2022-08-08 5:24 ` 回复: " gaoliming @ 2022-08-10 4:06 ` Michael D Kinney 0 siblings, 0 replies; 7+ messages in thread From: Michael D Kinney @ 2022-08-10 4:06 UTC (permalink / raw) To: devel@edk2.groups.io, Gao, Liming, Huang, Yanbo, Kinney, Michael D Cc: Liu, Zhiguang, Bi, Dandan Hi Liming, I will prepare a patch for review that follows your suggestion. Thanks, Mike > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of gaoliming via groups.io > Sent: Sunday, August 7, 2022 10:25 PM > To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@intel.com>; Huang, Yanbo <yanbo.huang@intel.com> > Cc: Liu, Zhiguang <zhiguang.liu@intel.com>; Bi, Dandan <dandan.bi@intel.com> > Subject: 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm > > Mike: > In original thread, I don't receive the objection to change the library INF file name. So, I merge original patch. > > Now, the downstream break is found. If you think DevicePathUtilitiesStandaloneMm is required, I would suggest to add it for > long term to keep the compatibility. > > Yanbo: > You only need to add new DevicePathUtilitiesStandaloneMm.inf. Its content is same to UefiDevicePathLibBase.inf. > > Thanks > Liming > > -----邮件原件----- > > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Michael D > > Kinney > > 发送时间: 2022年8月5日 23:38 > > 收件人: devel@edk2.groups.io; Gao, Liming <gaoliming@byosoft.com.cn>; > > Huang, Yanbo <yanbo.huang@intel.com>; Kinney, Michael D > > <michael.d.kinney@intel.com> > > 抄送: Liu, Zhiguang <zhiguang.liu@intel.com>; Bi, Dandan > > <dandan.bi@intel.com> > > 主题: Re: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > > DevicePathUtilitiesStandaloneMm > > > > Liming, > > > > Adding a new INF that is type BASE was my original suggestion. Not the > > name change. > > > > In that thread, I suggested we get input from MM owners before changing the > > name. > > > > If there are many downstream platforms that are breaking from the name > > change, > > then we should add the old INF back to provide time for all platform to update > > to > > use the new INF name. > > > > Mike > > > > > -----Original Message----- > > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of > > gaoliming via groups.io > > > Sent: Thursday, August 4, 2022 11:11 PM > > > To: Huang, Yanbo <yanbo.huang@intel.com>; devel@edk2.groups.io > > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > > <zhiguang.liu@intel.com>; Bi, Dandan <dandan.bi@intel.com> > > > Subject: 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback > > the DevicePathUtilitiesStandaloneMm > > > > > > 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 > > compatibility, this topic has been discussed in > > > https://edk2.groups.io/g/devel/message/91799. > > > > > > Thanks > > > Liming > > > > -----邮件原件----- > > > > 发件人: Huang, Yanbo <yanbo.huang@intel.com> > > > > 发送时间: 2022年8月5日 13:34 > > > > 收件人: Gao, Liming <gaoliming@byosoft.com.cn>; > > devel@edk2.groups.io > > > > 抄送: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > > > > <zhiguang.liu@intel.com>; Bi, Dandan <dandan.bi@intel.com> > > > > 主题: RE: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > > > > DevicePathUtilitiesStandaloneMm > > > > > > > > Hi Liming, > > > > > > > > You mentioned patch rename the DevicePathUtilitiesStandaloneMm to > > > > UefiDevicePathLibBase, but there are some consumer in intel platform still > > > > 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 > > platform > > > > change to use UefiDevicePathLibBase, then > > > > DevicePathUtilitiesStandaloneMm can be deleted. > > > > > > > > Best Regards, > > > > Yanbo Huang > > > > > > > > -----Original Message----- > > > > From: gaoliming <gaoliming@byosoft.com.cn> > > > > Sent: Friday, August 5, 2022 11:16 AM > > > > To: devel@edk2.groups.io; Huang, Yanbo <yanbo.huang@intel.com> > > > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang > > > > <zhiguang.liu@intel.com> > > > > Subject: 回复: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback > > the > > > > DevicePathUtilitiesStandaloneMm > > > > > > > > Yanbo: > > > > Previous change has been reviewed and merged. Please see the detail > > > > https://edk2.groups.io/g/devel/message/91799 > > > > > > > > Thanks > > > > Liming > > > > > -----邮件原件----- > > > > > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Huang, > > > > Yanbo > > > > > 发送时间: 2022年8月5日 10:42 > > > > > 收件人: devel@edk2.groups.io > > > > > 抄送: Yanbo Huang <yanbo.huang@intel.com>; Michael D Kinney > > > > > <michael.d.kinney@intel.com>; Liming Gao > > <gaoliming@byosoft.com.cn>; > > > > > Zhiguang Liu <zhiguang.liu@intel.com> > > > > > 主题: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the > > > > > DevicePathUtilitiesStandaloneMm > > > > > > > > > > From: Yanbo Huang <yanbo.huang@intel.com> > > > > > > > > > > reback the DevicePathUtilitiesStandaloneMm to unblock the > > downstream > > > > > sync > > > > > > > > > > Signed-off-by: Yanbo Huang <yanbo.huang@intel.com> > > > > > CC: Michael D Kinney <michael.d.kinney@intel.com> > > > > > CC: Liming Gao <gaoliming@byosoft.com.cn> > > > > > CC: Zhiguang Liu <zhiguang.liu@intel.com> > > > > > > > > > > --- > > > > > .../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.<BR> 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.<BR> # Copyright (c) Microsoft Corporation. > > > > > +# > > > > > +# SPDX-License-Identifier: BSD-2-Clause-Patent # # ## > > > > > + > > > > > +[Defines] > > > > > + INF_VERSION = 0x00010005 > > > > > + BASE_NAME = UefiDevicePathLib > > > > > + MODULE_UNI_FILE = UefiDevicePathLib.uni > > > > > + FILE_GUID = > > > > > D8E58437-44D3-4154-B7A7-EB794923EF12 > > > > > + MODULE_TYPE = MM_STANDALONE > > > > > + PI_SPECIFICATION_VERSION = 0x00010032 > > > > > + VERSION_STRING = 1.0 > > > > > + LIBRARY_CLASS = DevicePathLib | > > > > > MM_STANDALONE MM_CORE_STANDALONE > > > > > + > > > > > + > > > > > +# > > > > > +# VALID_ARCHITECTURES = 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-08-10 4:07 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-08-05 2:42 [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm Huang, Yanbo 2022-08-05 3:15 ` 回复: [edk2-devel] " gaoliming 2022-08-05 5:34 ` Huang, Yanbo 2022-08-05 6:11 ` 回复: " gaoliming 2022-08-05 15:38 ` Michael D Kinney 2022-08-08 5:24 ` 回复: " gaoliming 2022-08-10 4:06 ` Michael D Kinney
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox