Re: [PATCH] MdePkg/UefiDevicePathLib: reback the DevicePathUtilitiesStandaloneMm


Michael D Kinney
 

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@...>; devel@edk2.groups.io
Cc: Kinney, Michael D <michael.d.kinney@...>; Liu, Zhiguang <zhiguang.liu@...>; Bi, Dandan <dandan.bi@...>
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@...>
发送时间: 2022年8月5日 13:34
收件人: Gao, Liming <gaoliming@...>; devel@edk2.groups.io
抄送: Kinney, Michael D <michael.d.kinney@...>; Liu, Zhiguang
<zhiguang.liu@...>; Bi, Dandan <dandan.bi@...>
主题: 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@...>
Sent: Friday, August 5, 2022 11:16 AM
To: devel@edk2.groups.io; Huang, Yanbo <yanbo.huang@...>
Cc: Kinney, Michael D <michael.d.kinney@...>; Liu, Zhiguang
<zhiguang.liu@...>
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@...>; Michael D Kinney
<michael.d.kinney@...>; Liming Gao <gaoliming@...>;
Zhiguang Liu <zhiguang.liu@...>
主题: [edk2-devel] [PATCH] MdePkg/UefiDevicePathLib: reback the
DevicePathUtilitiesStandaloneMm

From: Yanbo Huang <yanbo.huang@...>

reback the DevicePathUtilitiesStandaloneMm to unblock the downstream
sync

Signed-off-by: Yanbo Huang <yanbo.huang@...>
CC: Michael D Kinney <michael.d.kinney@...>
CC: Liming Gao <gaoliming@...>
CC: Zhiguang Liu <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.<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









Join devel@edk2.groups.io to automatically receive all group messages.