21.1. ACPI 数据表的类型
在表定义语言(TDL)编译器的上下文中,ACPI 数据表有两种类型:
编译器“已知”的 ACPI 表。这通常包括 ACPI 规范中定义的所有基本 ACPI 表,例如 FADT、MADT、ECDT 等。由于这些表已被完整规定(通常通过 ACPI 规范,也可能来自其他来源),TDL 编译器知道这些表的所有细节——包括所有必需的数据类型、可选或必需的子表等。
编译器未知的 ACPI 表。这些表可能包括 ACPI 规范中未定义的表,例如 MCFG、DBGP 等,或者只是尚未在编译器中实现的新 ACPI 表。
ACPI 表定义语言的目标之一是支持上述两种情况。大多数 ACPI 表将为编译器所知(并且将是最容易在 TDL 中指定的),但该语言足够通用,也允许定义编译器未知或未实现的新 ACPI 表。
TDL 的另一个目标是支持反汇编器的输出,该反汇编器可将现有表格式化为 TDL。这使得反汇编/修改/编译操作成为可能。