EmbeddedPkg: add DtPlatformDtbLoaderLib library class

To abstract the way a platform reasons about which DTB is appropriate,
and the way it ultimately supplies the DTB image, introduce a new library
class to encapsulate this functionality.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
Ard Biesheuvel 2017-03-31 11:32:36 +01:00
parent f07cc45883
commit 449a5df455
2 changed files with 40 additions and 0 deletions

View File

@ -45,6 +45,7 @@
GdbSerialLib|Include/Library/GdbSerialLib.h
DebugAgentTimerLib|Include/Library/DebugAgentTimerLib.h
DtPlatformDtbLoaderLib|Include/Library/DtPlatformDtbLoaderLib.h
[Guids.common]
gEmbeddedTokenSpaceGuid = { 0xe0d8ca17, 0x4276, 0x4386, { 0xbb, 0x79, 0x48, 0xcb, 0x81, 0x3d, 0x3c, 0x4f }}

View File

@ -0,0 +1,39 @@
/** @file
*
* Copyright (c) 2017, Linaro, Ltd. 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 __DT_PLATFORM_DTB_LOADER_LIB_H__
#define __DT_PLATFORM_DTB_LOADER_LIB_H__
#include <Uefi/UefiBaseType.h>
/**
Return a pool allocated copy of the DTB image that is appropriate for
booting the current platform via DT.
@param[out] Dtb Pointer to the DTB copy
@param[out] DtbSize Size of the DTB copy
@retval EFI_SUCCESS Operation completed successfully
@retval EFI_NOT_FOUND No suitable DTB image could be located
@retval EFI_OUT_OF_RESOURCES No pool memory available
**/
EFI_STATUS
EFIAPI
DtPlatformLoadDtb (
OUT VOID **Dtb,
OUT UINTN *DtbSize
);
#endif