summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg/Library/Common/AmlLib/AmlEncoding
Commit message (Collapse)AuthorAgeFilesLines
* DynamicTablesPkg: Apply uncrustify changesMichael Kubacki2021-12-072-261/+278
| | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the DynamicTablesPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
* DynamicTablesPkg: Helper function to compute package lengthPierre Gondois2021-10-082-2/+132
| | | | | | | | | | | | | | | Some AML object have a PkgLen which indicates the size of the AML object. The package length can be encoded in 1 to 4 bytes. The bytes used to encode the PkgLen is itself counted in the PkgLen value. So, if an AML object's size increments/decrements, the number of bytes used to encode the PkgLen value can itself increment/decrement. Therefore, a helper function AmlComputePkgLength() is introduced to simply computation of the PkgLen. Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
* DynamicTablesPkg: AmlEncoding change debug macroSami Mujawar2020-10-212-154/+154
| | | | | | | | | | Change the AML_DEBUG_STR() macro to AML_OPCODE_DEF() that takes a string and the AML OpCode as input so that the text description and the AML OpCode are grouped. The AML_OPCODE_DEF() macro also strips the string description for release builds. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
* DynamicTablesPkg: AML grammar definitionPierre Gondois2020-08-132-0/+1135
ASL is a source language for defining ACPI objects including writing ACPI control methods. An ASL file is compiled using an ASL compiler tool to generate ACPI Machine Language (AML). This AML bytecode is processed by the ACPI AML interpreter that runs as part of an Operating System (OS). Both ASL and AML are declarative languages. Although they are closely related they are different languages. ASL statements declare objects. Each object has three parts, two of which can be NULL: Object := ObjectType FixedList VariableList The AML grammar defines corresponding encodings that makes up the AML byte stream. This patch introduces the AML grammar definitions used by AmlLib for encoding/decoding AML byte streams. 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>