diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2014-09-09 17:59:19 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2014-09-09 17:59:19 +0000 |
commit | 1e9b2bddff2217eb23bf9eb5d1052ecfebc39204 (patch) | |
tree | f902b343cf02e4acbe20919149219535928cc5db | |
parent | f8d7d6e151e9377412bd368cf8901ac21d6edb36 (diff) | |
download | edk2-platforms-1e9b2bddff2217eb23bf9eb5d1052ecfebc39204.tar.xz |
EmbeddedPkg: Split off FDT loading functionality from FdtLib
Split off the recently added functionality to load device tree images and
install them as configuration tables, as it introduces a dependency on
UefiBootServicesTableLib, preventing FdtLib from being used during SEC and
PEI phases.
Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16080 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | EmbeddedPkg/EmbeddedPkg.dsc | 3 | ||||
-rw-r--r-- | EmbeddedPkg/Include/Library/FdtLoadLib.h | 48 | ||||
-rw-r--r-- | EmbeddedPkg/Include/libfdt_env.h | 31 | ||||
-rw-r--r-- | EmbeddedPkg/Library/FdtLib/FdtLib.inf | 13 | ||||
-rw-r--r-- | EmbeddedPkg/Library/FdtLoadLib/FdtConfigurationTable.c (renamed from EmbeddedPkg/Library/FdtLib/FdtConfigurationTable.c) | 1 | ||||
-rw-r--r-- | EmbeddedPkg/Library/FdtLoadLib/FdtLoadLib.inf | 45 |
6 files changed, 97 insertions, 44 deletions
diff --git a/EmbeddedPkg/EmbeddedPkg.dsc b/EmbeddedPkg/EmbeddedPkg.dsc index 9960d8fa6e..8844f8edf4 100644 --- a/EmbeddedPkg/EmbeddedPkg.dsc +++ b/EmbeddedPkg/EmbeddedPkg.dsc @@ -262,6 +262,9 @@ EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
+ # FDT Support
+ EmbeddedPkg/Library/FdtLoadLib/FdtLoadLib.inf
+
EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf
diff --git a/EmbeddedPkg/Include/Library/FdtLoadLib.h b/EmbeddedPkg/Include/Library/FdtLoadLib.h new file mode 100644 index 0000000000..e08f499745 --- /dev/null +++ b/EmbeddedPkg/Include/Library/FdtLoadLib.h @@ -0,0 +1,48 @@ +/** @file
+*
+* Copyright (c) 2011-2014, ARM Limited. All rights reserved.
+*
+* This program and the accompanying materials
+* are licensed and made available under the terms and conditions of the BSD License
+* which accompanies this distribution. The full text of the license may be found at
+* http://opensource.org/licenses/bsd-license.php
+*
+* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+*
+**/
+
+#ifndef _FDT_LOAD_LIB_H_
+#define _FDT_LOAD_LIB_H_
+
+/**
+ Load and Install FDT from Semihosting
+
+ @param Filename Name of the file to load from semihosting
+
+ @return EFI_SUCCESS Fdt Blob was successfully installed into the configuration table
+ from semihosting
+ @return EFI_NOT_FOUND Fail to locate the file in semihosting
+ @return EFI_OUT_OF_RESOURCES Fail to allocate memory to contain the blob
+**/
+EFI_STATUS
+InstallFdtFromSemihosting (
+ IN CONST CHAR16* FileName
+ );
+
+/**
+ Load and Install FDT from Firmware Volume
+
+ @param Filename Guid of the FDT blob to load from firmware volume
+
+ @return EFI_SUCCESS Fdt Blob was successfully installed into the configuration table
+ from firmware volume
+ @return EFI_NOT_FOUND Failed to locate the file in firmware volume
+ @return EFI_OUT_OF_RESOURCES Failed to allocate memory to contain the blob
+**/
+EFI_STATUS
+InstallFdtFromFv (
+ IN CONST EFI_GUID *FileName
+ );
+
+#endif
diff --git a/EmbeddedPkg/Include/libfdt_env.h b/EmbeddedPkg/Include/libfdt_env.h index c4dc83c024..3e24db9409 100644 --- a/EmbeddedPkg/Include/libfdt_env.h +++ b/EmbeddedPkg/Include/libfdt_env.h @@ -15,7 +15,6 @@ #ifndef _LIBFDT_ENV_H
#define _LIBFDT_ENV_H
-#include <Uefi.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
@@ -79,34 +78,4 @@ static inline char *strchr(const char *s, int c) { return AsciiStrStr (s, pattern);
}
-/**
- Load and Install FDT from Semihosting
-
- @param Filename Name of the file to load from semihosting
-
- @return EFI_SUCCESS Fdt Blob was successfully installed into the configuration table
- from semihosting
- @return EFI_NOT_FOUND Fail to locate the file in semihosting
- @return EFI_OUT_OF_RESOURCES Fail to allocate memory to contain the blob
-**/
-EFI_STATUS
-InstallFdtFromSemihosting (
- IN CONST CHAR16* FileName
- );
-
-/**
- Load and Install FDT from Firmware Volume
-
- @param Filename Guid of the FDT blob to load from firmware volume
-
- @return EFI_SUCCESS Fdt Blob was successfully installed into the configuration table
- from firmware volume
- @return EFI_NOT_FOUND Failed to locate the file in firmware volume
- @return EFI_OUT_OF_RESOURCES Failed to allocate memory to contain the blob
-**/
-EFI_STATUS
-InstallFdtFromFv (
- IN CONST EFI_GUID *FileName
- );
-
#endif /* _LIBFDT_ENV_H */
diff --git a/EmbeddedPkg/Library/FdtLib/FdtLib.inf b/EmbeddedPkg/Library/FdtLib/FdtLib.inf index d18caa67ea..f3da231143 100644 --- a/EmbeddedPkg/Library/FdtLib/FdtLib.inf +++ b/EmbeddedPkg/Library/FdtLib/FdtLib.inf @@ -26,7 +26,6 @@ #
[Sources]
- FdtConfigurationTable.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
@@ -37,15 +36,3 @@ [Packages]
MdePkg/MdePkg.dec
EmbeddedPkg/EmbeddedPkg.dec
-
-[LibraryClasses]
- UefiBootServicesTableLib
-
-[Protocols]
- gEfiDevicePathProtocolGuid
- gEfiSimpleFileSystemProtocolGuid
- gEfiFirmwareVolume2ProtocolGuid
-
-[Guids]
- gEfiFileInfoGuid
- gFdtTableGuid
diff --git a/EmbeddedPkg/Library/FdtLib/FdtConfigurationTable.c b/EmbeddedPkg/Library/FdtLoadLib/FdtConfigurationTable.c index aece1df1cc..a95e24958b 100644 --- a/EmbeddedPkg/Library/FdtLib/FdtConfigurationTable.c +++ b/EmbeddedPkg/Library/FdtLoadLib/FdtConfigurationTable.c @@ -14,6 +14,7 @@ #include <PiDxe.h>
#include <Library/DebugLib.h>
+#include <Library/FdtLoadLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
diff --git a/EmbeddedPkg/Library/FdtLoadLib/FdtLoadLib.inf b/EmbeddedPkg/Library/FdtLoadLib/FdtLoadLib.inf new file mode 100644 index 0000000000..a50aa3607a --- /dev/null +++ b/EmbeddedPkg/Library/FdtLoadLib/FdtLoadLib.inf @@ -0,0 +1,45 @@ +#/* @file
+# Copyright (c) 2014, Linaro Limited. All rights reserved.
+#
+# This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#*/
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = FdtLoadLib
+ FILE_GUID = F00298C1-BBC3-445F-8906-AAEAFE7729A4
+ MODULE_TYPE = BASE
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = FdtLoadLib
+
+#
+# The following information is for reference only and not required by the build tools.
+#
+# VALID_ARCHITECTURES = ARM AARCH64
+#
+
+[Sources]
+ FdtConfigurationTable.c
+
+[Packages]
+ MdePkg/MdePkg.dec
+ EmbeddedPkg/EmbeddedPkg.dec
+
+[LibraryClasses]
+ FdtLib
+
+[Protocols]
+ gEfiDevicePathProtocolGuid
+ gEfiSimpleFileSystemProtocolGuid
+ gEfiFirmwareVolume2ProtocolGuid
+
+[Guids]
+ gEfiFileInfoGuid
+ gFdtTableGuid
|