From af1a266670d040d2f4083ff309d732d648afba2a Mon Sep 17 00:00:00 2001 From: Angelos Mouzakitis Date: Tue, 10 Oct 2023 14:33:42 +0000 Subject: Add submodule dependency files Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec --- .../Universal/DevicePathDxe/DevicePath.c | 99 ++++++++++++++++++++++ .../Universal/DevicePathDxe/DevicePathDxe.inf | 54 ++++++++++++ .../Universal/DevicePathDxe/DevicePathDxe.uni | 19 +++++ .../Universal/DevicePathDxe/DevicePathDxeExtra.uni | 14 +++ 4 files changed, 186 insertions(+) create mode 100644 roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePath.c create mode 100644 roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf create mode 100644 roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.uni create mode 100644 roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxeExtra.uni (limited to 'roms/edk2/MdeModulePkg/Universal/DevicePathDxe') diff --git a/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePath.c b/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePath.c new file mode 100644 index 000000000..cba214987 --- /dev/null +++ b/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePath.c @@ -0,0 +1,99 @@ +/** @file + Device Path Driver to produce DevPathUtilities Protocol, DevPathFromText Protocol + and DevPathToText Protocol. + +Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include +#include +#include +#include +#include +#include +#include +#include + +GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_DEVICE_PATH_UTILITIES_PROTOCOL mDevicePathUtilities = { + GetDevicePathSize, + DuplicateDevicePath, + AppendDevicePath, + AppendDevicePathNode, + AppendDevicePathInstance, + GetNextDevicePathInstance, + IsDevicePathMultiInstance, + CreateDeviceNode +}; + +GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_DEVICE_PATH_TO_TEXT_PROTOCOL mDevicePathToText = { + ConvertDeviceNodeToText, + ConvertDevicePathToText +}; + +GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL mDevicePathFromText = { + ConvertTextToDeviceNode, + ConvertTextToDevicePath +}; + +/** + The user Entry Point for DevicePath module. + + This is the entry point for DevicePath module. It installs the UEFI Device Path Utility Protocol and + optionally the Device Path to Text and Device Path from Text protocols based on feature flags. + + @param[in] ImageHandle The firmware allocated handle for the EFI image. + @param[in] SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + @retval Others Some error occurs when executing this entry point. + +**/ +EFI_STATUS +EFIAPI +DevicePathEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + EFI_HANDLE Handle; + + Handle = NULL; + Status = EFI_UNSUPPORTED; + if (FeaturePcdGet (PcdDevicePathSupportDevicePathToText)) { + if (FeaturePcdGet (PcdDevicePathSupportDevicePathFromText)) { + Status = gBS->InstallMultipleProtocolInterfaces ( + &Handle, + &gEfiDevicePathUtilitiesProtocolGuid, &mDevicePathUtilities, + &gEfiDevicePathToTextProtocolGuid, &mDevicePathToText, + &gEfiDevicePathFromTextProtocolGuid, &mDevicePathFromText, + NULL + ); + } else { + Status = gBS->InstallMultipleProtocolInterfaces ( + &Handle, + &gEfiDevicePathUtilitiesProtocolGuid, &mDevicePathUtilities, + &gEfiDevicePathToTextProtocolGuid, &mDevicePathToText, + NULL + ); + } + } else { + if (FeaturePcdGet (PcdDevicePathSupportDevicePathFromText)) { + Status = gBS->InstallMultipleProtocolInterfaces ( + &Handle, + &gEfiDevicePathUtilitiesProtocolGuid, &mDevicePathUtilities, + &gEfiDevicePathFromTextProtocolGuid, &mDevicePathFromText, + NULL + ); + } else { + Status = gBS->InstallMultipleProtocolInterfaces ( + &Handle, + &gEfiDevicePathUtilitiesProtocolGuid, &mDevicePathUtilities, + NULL + ); + } + } + return Status; +} diff --git a/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf b/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf new file mode 100644 index 000000000..0b8ea7267 --- /dev/null +++ b/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf @@ -0,0 +1,54 @@ +## @file +# Device path driver that produces three UEFI device path protocols. +# +# This driver produces Device Path Utilities protocol and optionally +# DevicePahtToText and DevicePathFromText protocols based on feature flags +# PcdDevicePathSupportDevicePathToText & PcdDevicePathSupportDevicePathFromText +# respectively. +# +# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = DevicePathDxe + MODULE_UNI_FILE = DevicePathDxe.uni + FILE_GUID = 9B680FCE-AD6B-4F3A-B60B-F59899003443 + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + ENTRY_POINT = DevicePathEntryPoint + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 EBC +# + +[Sources] + DevicePath.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + DevicePathLib + UefiBootServicesTableLib + UefiDriverEntryPoint + +[Protocols] + gEfiDevicePathToTextProtocolGuid | gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathFromText ## SOMETIMES_PRODUCES + gEfiDevicePathFromTextProtocolGuid | gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathToText ## SOMETIMES_PRODUCES + gEfiDevicePathUtilitiesProtocolGuid ## PRODUCES + +[FeaturePcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathFromText ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathToText ## CONSUMES + +[Depex] + TRUE + +[UserExtensions.TianoCore."ExtraFiles"] + DevicePathDxeExtra.uni diff --git a/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.uni b/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.uni new file mode 100644 index 000000000..05337a7b2 --- /dev/null +++ b/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.uni @@ -0,0 +1,19 @@ +// /** @file +// Device path driver that produces three UEFI device path protocols. +// +// This driver produces Device Path Utilities protocol and optionally +// DevicePahtToText and DevicePathFromText protocols based on feature flags +// PcdDevicePathSupportDevicePathToText & PcdDevicePathSupportDevicePathFromText +// respectively. +// +// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// +// **/ + + +#string STR_MODULE_ABSTRACT #language en-US "Produces three UEFI device path protocols" + +#string STR_MODULE_DESCRIPTION #language en-US "This driver produces Device Path Utilities protocol and optionally DevicePahtToText and DevicePathFromText protocols based on feature flags PcdDevicePathSupportDevicePathToText & PcdDevicePathSupportDevicePathFromText respectively." + diff --git a/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxeExtra.uni b/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxeExtra.uni new file mode 100644 index 000000000..d4beebcd6 --- /dev/null +++ b/roms/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxeExtra.uni @@ -0,0 +1,14 @@ +// /** @file +// DevicePathDxe Localized Strings and Content +// +// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
+// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// +// **/ + +#string STR_PROPERTIES_MODULE_NAME +#language en-US +"UEFI Device Path DXE Driver" + + -- cgit