TianoCore EDK2 master
|
#include <Library/BaseMemoryLib.h>
#include "CmObjectDescUtility.h"
#include "FdtHwInfoParser.h"
#include "Arm/Gic/ArmGicDispatcher.h"
#include "Arm/Gic/ArmGicItsParser.h"
Go to the source code of this file.
Functions | |
STATIC EFI_STATUS EFIAPI | GicItsIntcNodeParser (IN CONST VOID *Fdt, IN INT32 GicIntcNode, IN UINT32 GicItsId, IN CM_ARM_GIC_ITS_INFO *GicItsInfo) |
EFI_STATUS EFIAPI | ArmGicItsInfoParser (IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle, IN INT32 FdtBranch) |
Arm Gic Interrupt Translation Service Parser.
Copyright (c) 2021, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file ArmGicItsParser.c.
EFI_STATUS EFIAPI ArmGicItsInfoParser | ( | IN CONST FDT_HW_INFO_PARSER_HANDLE | FdtParserHandle, |
IN INT32 | FdtBranch | ||
) |
CM_ARM_GIC_ITS_INFO parser function.
This parser expects FdtBranch to be a Gic interrupt-controller node. Gic version must be v3 or higher. typedef struct CmArmGicItsInfo { UINT32 GicItsId; // {Populated} UINT64 PhysicalBaseAddress; // {Populated} UINT32 ProximityDomain; // {default = 0} } CM_ARM_GIC_ITS_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 118 of file ArmGicItsParser.c.
STATIC EFI_STATUS EFIAPI GicItsIntcNodeParser | ( | IN CONST VOID * | Fdt, |
IN INT32 | GicIntcNode, | ||
IN UINT32 | GicItsId, | ||
IN CM_ARM_GIC_ITS_INFO * | GicItsInfo | ||
) |
Parse a Gic compatible interrupt-controller node, extracting GicIts information.
This parser is valid for Gic v3 and higher.
[in] | Fdt | Pointer to a Flattened Device Tree (Fdt). |
[in] | GicIntcNode | Offset of a Gic compatible interrupt-controller node. |
[in] | GicItsId | Id for the Gic ITS node. |
[in] | GicItsInfo | The CM_ARM_GIC_ITS_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 ArmGicItsParser.c.