MdePkg: UefiDevicePathLib: Support UefiDevicePathLib under StandaloneMm

This change added an instance of UefiDevicePathLib for StandaloneMm. It
abstracts DevicePathFromHandle function into different files for
Standalone MM and other instances to avoid linking gBS into MM_STANDALONE
drivers.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>

Signed-off-by: Kun Qin <kun.q@outlook.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Kun Qin
2020-12-17 14:35:38 -08:00
parent 1f0fa9187b
commit 14a746bb6a
7 changed files with 169 additions and 33 deletions

View File

@@ -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