13#ifndef DEVICETREE_TABLE_GENERATOR_H_
14#define DEVICETREE_TABLE_GENERATOR_H_
40#define IS_GENERATOR_TYPE_DT(TableGeneratorId) \
41 (GET_TABLE_TYPE(TableGeneratorId) == ETableGeneratorTypeDt)
51#define IS_VALID_STD_DT_GENERATOR_ID(TableGeneratorId) \
53 IS_GENERATOR_NAMESPACE_STD(TableGeneratorId) && \
54 IS_GENERATOR_TYPE_DT(TableGeneratorId) && \
55 ((GET_TABLE_ID(GeneratorId) >= EStdDtTableIdRaw) && \
56 (GET_TABLE_ID(GeneratorId) < EStdDtTableIdMax)) \
65#define CREATE_STD_DT_TABLE_GEN_ID(TableId) \
66 CREATE_TABLE_GEN_ID ( \
67 ETableGeneratorTypeDt, \
68 ETableGeneratorNameSpaceStd, \
75typedef struct CmAStdObjDtTableInfo CM_STD_OBJ_DT_TABLE_INFO;
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)
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)
TABLE_GENERATOR_ID DT_TABLE_GENERATOR_ID
EFI_STATUS EFIAPI RegisterDtTableGenerator(IN CONST DT_TABLE_GENERATOR *CONST Generator)
struct DtTableGenerator DT_TABLE_GENERATOR
enum StdDtTableId ESTD_DT_TABLE_ID
@ EStdDtTableIdReserved
Reserved.
@ EStdDtTableIdRaw
RAW Generator.
EFI_STATUS EFIAPI DeregisterDtTableGenerator(IN CONST DT_TABLE_GENERATOR *CONST Generator)
UINT32 TABLE_GENERATOR_ID
CONST CHAR16 * Description
String describing the DT table generator.
DT_TABLE_GENERATOR_FREE_TABLE FreeTableResources
The function to free any resources allocated for building the DT table.
DT_TABLE_GENERATOR_ID GeneratorID
The DT table generator ID.
DT_TABLE_GENERATOR_BUILD_TABLE BuildDtTable
DT table build function pointer.