The payload is in ELF format per the universal payload spec. UNIVERSAL_PAYLOAD_INFO_HEADER is stored in the ELF payload as a separate section named ".upld_info". Extra data needed by payload is stored in sections whose name starts with ".upld.". Signed-off-by: Ray Ni <ray.ni@intel.com> Cc: Maurice Ma <maurice.ma@intel.com> Cc: Guo Dong <guo.dong@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
29 lines
629 B
C
29 lines
629 B
C
/** @file
|
|
|
|
Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
#ifndef EXTRA_DATA_H_
|
|
#define EXTRA_DATA_H_
|
|
|
|
extern GUID gUniversalPayloadExtraDataGuid;
|
|
|
|
#pragma pack(1)
|
|
|
|
typedef struct {
|
|
CHAR8 Identifier[16];
|
|
EFI_PHYSICAL_ADDRESS Base;
|
|
UINT64 Size;
|
|
} UNIVERSAL_PAYLOAD_EXTRA_DATA_ENTRY;
|
|
|
|
typedef struct {
|
|
UNIVERSAL_PAYLOAD_GENERIC_HEADER PldHeader;
|
|
UINT32 Count;
|
|
UNIVERSAL_PAYLOAD_EXTRA_DATA_ENTRY Entry[0];
|
|
} UNIVERSAL_PAYLOAD_EXTRA_DATA;
|
|
|
|
#pragma pack()
|
|
|
|
#endif
|