VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/UefiPayloadPkg/PayloadLoaderPeim/FitLib.h@ 105681

最後變更 在這個檔案從105681是 105670,由 vboxsync 提交於 6 月 前

Devices/EFI/FirmwareNew: Merge edk2-stable-202405 and make it build on aarch64, bugref:4643

  • 屬性 svn:eol-style 設為 native
檔案大小: 2.0 KB
 
1/** @file
2 FIT Load Image Support
3Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
4SPDX-License-Identifier: BSD-2-Clause-Patent
5**/
6
7#ifndef FIT_LIB_H_
8#define FIT_LIB_H_
9
10#include <PiPei.h>
11#include <Library/DebugLib.h>
12#include <Library/FdtLib.h>
13
14typedef struct {
15 UINT64 RelocateType;
16 UINT64 Offset;
17} FIT_RELOCATE_ITEM;
18
19typedef struct {
20 EFI_PHYSICAL_ADDRESS ImageBase;
21 EFI_PHYSICAL_ADDRESS PayloadBaseAddress;
22 UINT64 PayloadSize;
23 UINTN PayloadEntryOffset;
24 UINTN PayloadEntrySize;
25 EFI_PHYSICAL_ADDRESS PayloadEntryPoint;
26 UINTN RelocateTableOffset;
27 UINTN RelocateTableCount;
28 EFI_PHYSICAL_ADDRESS PayloadLoadAddress;
29} FIT_IMAGE_CONTEXT;
30
31typedef struct {
32 CHAR8 *Name;
33 UINT32 Offset;
34} PROPERTY_DATA;
35
36#define IMAGE_BASE_OFFSET OFFSET_OF (FIT_IMAGE_CONTEXT, ImageBase)
37#define PAYLOAD_BASE_ADDR_OFFSET OFFSET_OF (FIT_IMAGE_CONTEXT, PayloadBaseAddress)
38#define PAYLOAD_BASE_SIZE_OFFSET OFFSET_OF (FIT_IMAGE_CONTEXT, PayloadSize)
39#define PAYLOAD_ENTRY_OFFSET_OFFSET OFFSET_OF (FIT_IMAGE_CONTEXT, PayloadEntryOffset)
40#define PAYLOAD_ENTRY_SIZE_OFFSET OFFSET_OF (FIT_IMAGE_CONTEXT, PayloadEntrySize)
41#define PAYLOAD_ENTRY_POINT_OFFSET OFFSET_OF (FIT_IMAGE_CONTEXT, PayloadEntryPoint)
42#define RELOCATE_TABLE_OFFSET_OFFSET OFFSET_OF (FIT_IMAGE_CONTEXT, RelocateTableOffset)
43#define RELOCATE_TABLE_COUNT_OFFSET OFFSET_OF (FIT_IMAGE_CONTEXT, RelocateTableCount)
44#define PAYLOAD_LOAD_ADDR_OFFSET OFFSET_OF (FIT_IMAGE_CONTEXT, PayloadLoadAddress)
45
46/**
47 Parse the FIT image info.
48 @param[in] ImageBase Memory address of an image.
49 @param[out] Context The FIT image context pointer.
50 @retval EFI_UNSUPPORTED Unsupported binary type.
51 @retval EFI_SUCCESS FIT binary is loaded successfully.
52**/
53EFI_STATUS
54EFIAPI
55ParseFitImage (
56 IN VOID *ImageBase,
57 OUT FIT_IMAGE_CONTEXT *Context
58 );
59
60#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette