63 (BootArchInfo ==
NULL))
66 return EFI_INVALID_PARAMETER;
70 BootArchInfo->BootArchFlags = 0;
72 Data = fdt_getprop (Fdt, PsciNode,
"method", &DataSize);
73 if ((Data ==
NULL) || (DataSize < 0)) {
80 BootArchInfo->BootArchFlags = EFI_ACPI_6_3_ARM_PSCI_COMPLIANT;
82 BootArchInfo->BootArchFlags = (EFI_ACPI_6_3_ARM_PSCI_COMPLIANT |
83 EFI_ACPI_6_3_ARM_PSCI_USE_HVC);
124 if (FdtParserHandle ==
NULL) {
126 return EFI_INVALID_PARAMETER;
131 PsciNode = FdtBranch;
133 FdtParserHandle->Fdt,
138 if (EFI_ERROR (Status)) {
140 ASSERT (Status == EFI_NOT_FOUND);
145 Status =
PsciNodeParser (FdtParserHandle->Fdt, PsciNode, &BootArchInfo);
146 if (EFI_ERROR (Status)) {
EFI_STATUS EFIAPI ArmBootArchInfoParser(IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle, IN INT32 FdtBranch)
STATIC CONST COMPATIBILITY_INFO PsciCompatibleInfo
STATIC EFI_STATUS EFIAPI PsciNodeParser(IN CONST VOID *Fdt, IN INT32 PsciNode, IN CM_ARM_BOOT_ARCH_INFO *BootArchInfo)
STATIC CONST CHAR8 * PsciMethod[]
STATIC CONST COMPATIBILITY_STR PsciCompatibleStr[]
@ EArmObjBootArchInfo
1 - Boot Architecture Info
INTN EFIAPI AsciiStrnCmp(IN CONST CHAR8 *FirstString, IN CONST CHAR8 *SecondString, IN UINTN Length)
VOID *EFIAPI ZeroMem(OUT VOID *Buffer, IN UINTN Length)
EFI_STATUS EFIAPI AddSingleCmObj(IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle, IN CM_OBJECT_ID ObjectId, IN VOID *Data, IN UINT32 Size, OUT CM_OBJECT_TOKEN *Token OPTIONAL)
#define CREATE_CM_ARM_OBJECT_ID(ObjectId)
EFI_STATUS EFIAPI FdtGetNextCompatNodeInBranch(IN CONST VOID *Fdt, IN INT32 FdtBranch, IN CONST COMPATIBILITY_INFO *CompatNamesInfo, IN OUT INT32 *Node)
#define ARRAY_SIZE(Array)
#define ASSERT_EFI_ERROR(StatusParameter)