10 {
"data-offset", PAYLOAD_ENTRY_OFFSET_OFFSET },
11 {
"data-size", PAYLOAD_ENTRY_SIZE_OFFSET },
12 {
"reloc-start", RELOCATE_TABLE_OFFSET_OFFSET }
16 {
"entry-start", PAYLOAD_ENTRY_POINT_OFFSET },
17 {
"load", PAYLOAD_LOAD_ADDR_OFFSET }
42 UINT32 *ContextOffset32;
43 UINT64 *ContextOffset64;
56 for (Index = 0; Index <
sizeof (PropertyData32List) /
sizeof (
PROPERTY_DATA); Index++) {
57 PropertyPtr =
FdtGetProperty (Fdt, TianoNode, PropertyData32List[Index].Name, &TempLen);
58 Data32 = (UINT32 *)(PropertyPtr->Data);
59 ContextOffset32 = (UINT32 *)((
UINTN)Context + PropertyData32List[Index].Offset);
63 for (Index = 0; Index <
sizeof (PropertyData64List)/
sizeof (
PROPERTY_DATA); Index++) {
64 PropertyPtr =
FdtGetProperty (Fdt, TianoNode, PropertyData64List[Index].Name, &TempLen);
65 Data64 = (UINT64 *)(PropertyPtr->Data);
66 ContextOffset64 = (UINT64 *)((
UINTN)Context + PropertyData64List[Index].Offset);
99 if (EFI_ERROR (Status)) {
100 return EFI_UNSUPPORTED;
105 Data32 = (UINT32 *)(PropertyPtr->Data);
108 if (ConfigNode <= 0) {
109 return EFI_NOT_FOUND;
113 if (Config1Node <= 0) {
114 return EFI_NOT_FOUND;
117 PropertyPtr =
FdtGetProperty (Fdt, Config1Node,
"firmware", &TempLen);
118 Firmware = (CHAR8 *)(PropertyPtr->Data);
123 Context->PayloadSize = UplSize;
124 Context->RelocateTableCount = (Context->PayloadEntrySize - (Context->RelocateTableOffset - Context->PayloadEntryOffset)) /
sizeof (
FIT_RELOCATE_ITEM);
UINTN EFIAPI AsciiStrLen(IN CONST CHAR8 *String)
CONST FDT_PROPERTY *EFIAPI FdtGetProperty(IN CONST VOID *Fdt, IN INT32 NodeOffset, IN CONST CHAR8 *Name, IN INT32 *Length)
UINT64 EFIAPI Fdt64ToCpu(IN UINT64 Value)
INT32 EFIAPI FdtSubnodeOffsetNameLen(IN CONST VOID *Fdt, IN INT32 ParentOffset, IN CONST CHAR8 *Name, IN INT32 NameLength)
INT32 EFIAPI FdtCheckHeader(IN CONST VOID *Fdt)
UINT32 EFIAPI Fdt32ToCpu(IN UINT32 Value)
EFI_STATUS EFIAPI FitParseFirmwarePropertyData(IN VOID *Fdt, IN CHAR8 *Firmware, OUT FIT_IMAGE_CONTEXT *Context)
EFI_STATUS EFIAPI ParseFitImage(IN VOID *ImageBase, OUT FIT_IMAGE_CONTEXT *Context)
UINT64 EFI_PHYSICAL_ADDRESS