TianoCore EDK2 master
|
#include <Library/BaseMemoryLib.h>
#include "CmObjectDescUtility.h"
#include "FdtHwInfoParser.h"
#include "Arm/Gic/ArmGicDispatcher.h"
#include "Arm/Gic/ArmGicDParser.h"
Go to the source code of this file.
Functions | |
STATIC EFI_STATUS EFIAPI | GicDIntcNodeParser (IN CONST VOID *Fdt, IN INT32 GicIntcNode, IN CM_ARM_GICD_INFO *GicDInfo) |
EFI_STATUS EFIAPI | ArmGicDInfoParser (IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle, IN INT32 FdtBranch) |
Arm Gic Distributor Parser.
Copyright (c) 2021, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file ArmGicDParser.c.
EFI_STATUS EFIAPI ArmGicDInfoParser | ( | IN CONST FDT_HW_INFO_PARSER_HANDLE | FdtParserHandle, |
IN INT32 | FdtBranch | ||
) |
CM_ARM_GICD_INFO parser function.
This parser expects FdtBranch to be a Gic interrupt-controller node. At most one CmObj is created. The following structure is populated: typedef struct CmArmGicDInfo { UINT64 PhysicalBaseAddress; // {Populated} UINT32 SystemVectorBase; UINT8 GicVersion; // {Populated} } CM_ARM_GICD_INFO;
A parser parses a Device Tree to populate a specific CmObj type. None, one or many CmObj can be created by the parser. The created CmObj are then handed to the parser's caller through the HW_INFO_ADD_OBJECT interface. This can also be a dispatcher. I.e. a function that not parsing a Device Tree but calling other parsers.
[in] | FdtParserHandle | A handle to the parser instance. |
[in] | FdtBranch | When searching for DT node name, restrict the search to this Device Tree branch. |
EFI_SUCCESS | The function completed successfully. |
EFI_ABORTED | An error occurred. |
EFI_INVALID_PARAMETER | Invalid parameter. |
EFI_NOT_FOUND | Not found. |
EFI_UNSUPPORTED | Unsupported. |
Definition at line 113 of file ArmGicDParser.c.
STATIC EFI_STATUS EFIAPI GicDIntcNodeParser | ( | IN CONST VOID * | Fdt, |
IN INT32 | GicIntcNode, | ||
IN CM_ARM_GICD_INFO * | GicDInfo | ||
) |
Parse a Gic compatible interrupt-controller node, extracting GicD information.
This parser is valid for Gic v2 and v3.
[in] | Fdt | Pointer to a Flattened Device Tree (Fdt). |
[in] | GicIntcNode | Offset of a Gic compatible interrupt-controller node. |
[in] | GicDInfo | The CM_ARM_GICD_INFO to populate. |
EFI_SUCCESS | The function completed successfully. |
EFI_ABORTED | An error occurred. |
EFI_INVALID_PARAMETER | Invalid parameter. |
Definition at line 35 of file ArmGicDParser.c.