TianoCore EDK2 master
Dynamic AML Generation
Summary

ACPI tables are categorized as data tables and definition block tables. Dynamic Tables Framework currently supports generation of ACPI data tables. Generation of definition block tables is difficult as these tables are encoded in ACPI Machine Language (AML), which has a complex grammar.

Dynamic AML Generation is an extension to the Dynamic tables Framework. One of the techniques used to simplify definition block generation is to fixup a template SSDT table.

Dynamic AML aims to provide a framework that allows fixing up of an ACPI SSDT template with appropriate information about the hardware.

This framework consists of an:

  • AMLLib core that implements a rich set of interfaces to parse, traverse and update AML data.
  • AMLLib library APIs that provides interfaces to search and updates nodes in the AML namespace.