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


Huang, Yanbo
 

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.