https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
55 lines
1.3 KiB
C
55 lines
1.3 KiB
C
/** @file
|
|
*
|
|
* Copyright (c) 2017, Linaro, Ltd. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
*
|
|
**/
|
|
|
|
#include <PiDxe.h>
|
|
|
|
#include <Library/BaseLib.h>
|
|
#include <Library/DxeServicesLib.h>
|
|
#include <Library/MemoryAllocationLib.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
|
|
)
|
|
{
|
|
EFI_STATUS Status;
|
|
VOID *OrigDtb;
|
|
VOID *CopyDtb;
|
|
UINTN OrigDtbSize;
|
|
|
|
Status = GetSectionFromAnyFv (&gDtPlatformDefaultDtbFileGuid,
|
|
EFI_SECTION_RAW, 0, &OrigDtb, &OrigDtbSize);
|
|
if (EFI_ERROR (Status)) {
|
|
return EFI_NOT_FOUND;
|
|
}
|
|
|
|
CopyDtb = AllocateCopyPool (OrigDtbSize, OrigDtb);
|
|
if (CopyDtb == NULL) {
|
|
return EFI_OUT_OF_RESOURCES;
|
|
}
|
|
|
|
*Dtb = CopyDtb;
|
|
*DtbSize = OrigDtbSize;
|
|
|
|
return EFI_SUCCESS;
|
|
}
|