TianoCore EDK2 master
|
#include <TableGenerator.h>
Go to the source code of this file.
Data Structures | |
struct | DtTableGenerator |
Macros | |
#define | IS_GENERATOR_TYPE_DT(TableGeneratorId) (GET_TABLE_TYPE(TableGeneratorId) == ETableGeneratorTypeDt) |
#define | IS_VALID_STD_DT_GENERATOR_ID(TableGeneratorId) |
#define | CREATE_STD_DT_TABLE_GEN_ID(TableId) |
Typedefs | |
typedef TABLE_GENERATOR_ID | DT_TABLE_GENERATOR_ID |
typedef enum StdDtTableId | ESTD_DT_TABLE_ID |
typedef struct ConfigurationManagerProtocol | EDKII_CONFIGURATION_MANAGER_PROTOCOL |
typedef struct CmAStdObjDtTableInfo | CM_STD_OBJ_DT_TABLE_INFO |
typedef struct DtTableGenerator | DT_TABLE_GENERATOR |
typedef EFI_STATUS(* | DT_TABLE_GENERATOR_BUILD_TABLE) (IN CONST DT_TABLE_GENERATOR *Generator, IN CONST CM_STD_OBJ_DT_TABLE_INFO *CONST DtTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, OUT VOID **Table) |
typedef EFI_STATUS(* | DT_TABLE_GENERATOR_FREE_TABLE) (IN CONST DT_TABLE_GENERATOR *Generator, IN CONST CM_STD_OBJ_DT_TABLE_INFO *CONST DtTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN VOID **Table) |
Enumerations | |
enum | StdDtTableId { EStdDtTableIdReserved = 0x0000 , EStdDtTableIdRaw , EStdDtTableIdMax } |
Functions | |
EFI_STATUS EFIAPI | RegisterDtTableGenerator (IN CONST DT_TABLE_GENERATOR *CONST Generator) |
EFI_STATUS EFIAPI | DeregisterDtTableGenerator (IN CONST DT_TABLE_GENERATOR *CONST Generator) |
Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file DeviceTreeTableGenerator.h.
#define CREATE_STD_DT_TABLE_GEN_ID | ( | TableId | ) |
This macro creates a standard DT Table Generator ID.
[in] | TableId | The table generator ID. |
Definition at line 65 of file DeviceTreeTableGenerator.h.
#define IS_GENERATOR_TYPE_DT | ( | TableGeneratorId | ) | (GET_TABLE_TYPE(TableGeneratorId) == ETableGeneratorTypeDt) |
This macro checks if the Table Generator ID is for an DT Table Generator.
[in] | TableGeneratorId | The table generator ID. |
Definition at line 40 of file DeviceTreeTableGenerator.h.
#define IS_VALID_STD_DT_GENERATOR_ID | ( | TableGeneratorId | ) |
This macro checks if the Table Generator ID is for a standard DT Table Generator.
[in] | TableGeneratorId | The table generator ID. |
Definition at line 51 of file DeviceTreeTableGenerator.h.
typedef struct CmAStdObjDtTableInfo CM_STD_OBJ_DT_TABLE_INFO |
Definition at line 75 of file DeviceTreeTableGenerator.h.
typedef struct DtTableGenerator DT_TABLE_GENERATOR |
The DT_TABLE_GENERATOR structure provides an interface that the Table Manager can use to invoke the functions to build DT tables.
Definition at line 76 of file DeviceTreeTableGenerator.h.
typedef EFI_STATUS(* DT_TABLE_GENERATOR_BUILD_TABLE) (IN CONST DT_TABLE_GENERATOR *Generator, IN CONST CM_STD_OBJ_DT_TABLE_INFO *CONST DtTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, OUT VOID **Table) |
This function pointer describes the interface to DT table build functions provided by the DT table generator and called by the Table Manager to build an DT table.
[in] | Generator | Pointer to the DT table generator. |
[in] | DtTableInfo | Pointer to the DT table information. |
[in] | CfgMgrProtocol | Pointer to the Configuration Manager Protocol interface. |
[out] | Table | Pointer to the generated DT table. |
Definition at line 91 of file DeviceTreeTableGenerator.h.
typedef EFI_STATUS(* DT_TABLE_GENERATOR_FREE_TABLE) (IN CONST DT_TABLE_GENERATOR *Generator, IN CONST CM_STD_OBJ_DT_TABLE_INFO *CONST DtTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN VOID **Table) |
This function pointer describes the interface to used by the Table Manager to give the generator an opportunity to free any resources allocated for building the DT table.
[in] | Generator | Pointer to the DT table generator. |
[in] | DtTableInfo | Pointer to the DT table information. |
[in] | CfgMgrProtocol | Pointer to the Configuration Manager Protocol interface. |
[in] | Table | Pointer to the generated DT table. |
Definition at line 111 of file DeviceTreeTableGenerator.h.
The DT_TABLE_GENERATOR_ID type describes Device Tree table generator ID.
Definition at line 22 of file DeviceTreeTableGenerator.h.
typedef struct ConfigurationManagerProtocol EDKII_CONFIGURATION_MANAGER_PROTOCOL |
Forward declarations.
Definition at line 74 of file DeviceTreeTableGenerator.h.
typedef enum StdDtTableId ESTD_DT_TABLE_ID |
The ESTD_DT_TABLE_ID enum describes the DT table IDs reserved for the standard generators.
enum StdDtTableId |
The ESTD_DT_TABLE_ID enum describes the DT table IDs reserved for the standard generators.
Enumerator | |
---|---|
EStdDtTableIdReserved | Reserved. |
EStdDtTableIdRaw | RAW Generator. |
Definition at line 27 of file DeviceTreeTableGenerator.h.
EFI_STATUS EFIAPI DeregisterDtTableGenerator | ( | IN CONST DT_TABLE_GENERATOR *CONST | Generator | ) |
Deregister DT generator.
This function is called by the DT table generator to deregister itself from the DT table factory.
[in] | Generator | Pointer to the DT table generator. |
EFI_SUCCESS | Success. |
EFI_INVALID_PARAMETER | The generator is invalid. |
EFI_NOT_FOUND | The requested generator is not found in the list of registered generators. |
Definition at line 173 of file DeviceTreeTableFactory.c.
EFI_STATUS EFIAPI RegisterDtTableGenerator | ( | IN CONST DT_TABLE_GENERATOR *CONST | Generator | ) |
Register DT table factory generator.
The DT table factory maintains a list of the Standard and OEM DT table generators.
[in] | Generator | Pointer to the DT table generator. |
EFI_SUCCESS | The Generator was registered successfully. |
EFI_INVALID_PARAMETER | The Generator ID is invalid or the Generator pointer is NULL. |
EFI_ALREADY_STARTED | The Generator for the Table ID is already registered. |
Definition at line 109 of file DeviceTreeTableFactory.c.