diff options
author | Sami Mujawar <sami.mujawar@arm.com> | 2020-07-28 14:19:18 +0100 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2020-08-13 18:00:06 +0000 |
commit | 056b0f1b207dd1825f11cfe035bccd14b0281ffc (patch) | |
tree | 69640c4e06d971a32f2291d25302b389bb858969 /.mergify | |
parent | 3633d5309f67550e2369776b37220674ad1b623c (diff) | |
download | edk2-056b0f1b207dd1825f11cfe035bccd14b0281ffc.zip edk2-056b0f1b207dd1825f11cfe035bccd14b0281ffc.tar.gz edk2-056b0f1b207dd1825f11cfe035bccd14b0281ffc.tar.bz2 |
DynamicTablesPkg: Introduction to Dynamic AML
ACPI Definition block (e.g. DSDT or SSDT) tables are implemented
using ACPI source language (ASL) and compiled to ACPI Machine
language (AML). The AML bytecode runs in the OS ACPI Interpreter.
AML has a complex grammar which makes generation of ACPI Definition
block tables difficult.
Dynamic Tables Framework introduces a new feature 'Dynamic AML' that
aims at simplifying the generation of ACPI Definition block tables.
Dynamic AML provides the following techniques for generating ACPI
Definition blocks.
- AML Fixup
- AML Codegen
- AML Fixup + Codegen
AML Fixup involves patching an AML template code at runtime and then
installing the fixed-up AML code as an ACPI table.
AML Codegen provides APIs to generate small segments of AML code that
can be serialised for installation as an ACPI table.
AML Fixup + Codegen is an approach where parts of an AML template are
fixed-up at runtime as well as the AML Codegen APIs are used to insert
small segments of AML code in the AML template. This AML code is then
serialised for installation as an ACPI table.
To assist Dynamic AML generation an AmlLib library is introduced that
provides a rich set of APIs that can be used to parse, traverse, fixup,
codegen and serialise AML definition blocks.
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Diffstat (limited to '.mergify')
0 files changed, 0 insertions, 0 deletions