15#ifndef ACPI_TABLE_GENERATOR_H_
16#define ACPI_TABLE_GENERATOR_H_
124#define IS_GENERATOR_TYPE_ACPI(TableGeneratorId) \
125 (GET_TABLE_TYPE (TableGeneratorId) == ETableGeneratorTypeAcpi)
135#define IS_VALID_STD_ACPI_GENERATOR_ID(TableGeneratorId) \
137 IS_GENERATOR_NAMESPACE_STD (TableGeneratorId) && \
138 IS_GENERATOR_TYPE_ACPI (TableGeneratorId) && \
139 ((GET_TABLE_ID (GeneratorId) >= EStdAcpiTableIdRaw) && \
140 (GET_TABLE_ID (GeneratorId) < EStdAcpiTableIdMax)) \
149#define CREATE_STD_ACPI_TABLE_GEN_ID(TableId) \
150 CREATE_TABLE_GEN_ID ( \
151 ETableGeneratorTypeAcpi, \
152 ETableGeneratorNameSpaceStd, \
162#define CREATE_OEM_ACPI_TABLE_GEN_ID(TableId) \
163 CREATE_TABLE_GEN_ID ( \
164 ETableGeneratorTypeAcpi, \
165 ETableGeneratorNameSpaceOem, \
172#define TABLE_GENERATOR_CREATOR_ID SIGNATURE_32('D', 'Y', 'N', 'T')
177#define TABLE_GENERATOR_CREATOR_ID_ARM SIGNATURE_32('A', 'R', 'M', 'H')
186#define ACPI_HEADER(Signature, Type, Revision) { \
191 { 0, 0, 0, 0, 0, 0 }, \
203#define DUMP_ACPI_TABLE_HEADER(AcpiHeader) \
206 "ACPI TABLE %c%c%c%c : Rev 0x%x : Length : 0x%x\n", \
207 (AcpiHeader->Signature & 0xFF), \
208 ((AcpiHeader->Signature >> 8) & 0xFF), \
209 ((AcpiHeader->Signature >> 16) & 0xFF), \
210 ((AcpiHeader->Signature >> 24) & 0xFF), \
211 AcpiHeader->Revision, \
struct AcpiTableGenerator ACPI_TABLE_GENERATOR
enum StdAcpiTableId ESTD_ACPI_TABLE_ID
EFI_STATUS(EFIAPI * ACPI_TABLE_GENERATOR_FREE_TABLE)(IN CONST ACPI_TABLE_GENERATOR *CONST This, IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *CONST AcpiTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN OUT EFI_ACPI_DESCRIPTION_HEADER **CONST Table)
EFI_STATUS EFIAPI RegisterAcpiTableGenerator(IN CONST ACPI_TABLE_GENERATOR *CONST Generator)
EFI_STATUS EFIAPI DeregisterAcpiTableGenerator(IN CONST ACPI_TABLE_GENERATOR *CONST Generator)
EFI_STATUS(EFIAPI * ACPI_TABLE_GENERATOR_FREE_TABLEEX)(IN CONST ACPI_TABLE_GENERATOR *CONST This, IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *CONST AcpiTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN OUT EFI_ACPI_DESCRIPTION_HEADER ***CONST Table, IN CONST UINTN TableCount)
EFI_STATUS(EFIAPI * ACPI_TABLE_GENERATOR_BUILD_TABLEEX)(IN CONST ACPI_TABLE_GENERATOR *This, IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *CONST AcpiTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, OUT EFI_ACPI_DESCRIPTION_HEADER ***Table, OUT UINTN *CONST TableCount)
@ EStdAcpiTableIdFadt
FADT Generator.
@ EStdAcpiTableIdSsdt
SSDT Generator.
@ EStdAcpiTableIdSpcr
SPCR Generator.
@ EStdAcpiTableIdPcct
PCCT Generator.
@ EStdAcpiTableIdMadt
MADT Generator.
@ EStdAcpiTableIdSsdtCmn600
SSDT Cmn-600 Generator.
@ EStdAcpiTableIdDbg2
DBG2 Generator.
@ EStdAcpiTableIdIort
IORT Generator.
@ EStdAcpiTableIdRaw
RAW Generator.
@ EStdAcpiTableIdHpet
HPET Generator.
@ EStdAcpiTableIdSsdtSerialPort
SSDT Serial-Port Generator.
@ EStdAcpiTableIdSsdtCpuTopology
SSDT Cpu Topology.
@ EStdAcpiTableIdSsdtHpet
SSDT HPET Generator.
@ EStdAcpiTableIdMcfg
MCFG Generator.
@ EStdAcpiTableIdGtdt
GTDT Generator.
@ EStdAcpiTableIdTpm2
TPM2 Generator.
@ EStdAcpiTableIdSsdtPciExpress
SSDT Pci Express Generator.
@ EStdAcpiTableIdWsmt
WSMT Generator.
@ EStdAcpiTableIdPptt
PPTT Generator.
@ EStdAcpiTableIdReserved
Reserved.
@ EStdAcpiTableIdSrat
SRAT Generator.
@ EStdAcpiTableIdDsdt
DSDT Generator.
@ EStdAcpiTableIdSpmi
SPMI Generator.
TABLE_GENERATOR_ID ACPI_TABLE_GENERATOR_ID
EFI_STATUS(EFIAPI * ACPI_TABLE_GENERATOR_BUILD_TABLE)(IN CONST ACPI_TABLE_GENERATOR *This, IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *CONST AcpiTableInfo, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, OUT EFI_ACPI_DESCRIPTION_HEADER **Table)
UINT32 TABLE_GENERATOR_ID
UINT32 CreatorRevision
The ACPI table creator revision.
ACPI_TABLE_GENERATOR_ID GeneratorID
The ACPI table generator ID.
UINT32 CreatorId
The ACPI table creator ID.
UINT8 MinAcpiTableRevision
The minimum supported ACPI table revision.
ACPI_TABLE_GENERATOR_FREE_TABLE FreeTableResources
CONST CHAR16 * Description
String describing the ACPI table generator.
ACPI_TABLE_GENERATOR_FREE_TABLEEX FreeTableResourcesEx
UINT8 AcpiTableRevision
The ACPI table revision.
UINT32 AcpiTableSignature
The ACPI table signature.
ACPI_TABLE_GENERATOR_BUILD_TABLEEX BuildAcpiTableEx
ACPI table extended build function pointer.
ACPI_TABLE_GENERATOR_BUILD_TABLE BuildAcpiTable
ACPI table build function pointer.