summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/Common/GlobalData.py
diff options
context:
space:
mode:
authorPierre Gondois <pierre.gondois@arm.com>2020-08-04 17:09:09 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-08-13 18:00:06 +0000
commitfeea6514486f9dbf6a657e25dd32035d997560de (patch)
treecaefbe8d64423100cd9ad7df9637a764e5191175 /BaseTools/Source/Python/Common/GlobalData.py
parent422e93e1de6f265ff48eaacc8cf7c44d6401062e (diff)
downloadedk2-feea6514486f9dbf6a657e25dd32035d997560de.tar.gz
edk2-feea6514486f9dbf6a657e25dd32035d997560de.tar.bz2
edk2-feea6514486f9dbf6a657e25dd32035d997560de.zip
DynamicTablesPkg: AML resource data parser
Resource data are defined in the ACPI 6.3 specification, s6.4 "Resource Data Types for ACPI". They can be created using the ASL ResourceTemplate () statement, cf s19.3.3 "ASL Resource Templates". Resource data can be of the small or large type and are defined by their encoding. The resource data is stored in the Bytelist of a BufferOp node. The Bytelist of a BufferOp node is represented by an AML Data node in the AML tree. The resource data parser, examines the Bytelist (Data node buffer) to detect the presence of resource data. If the Bytelist data matches the encoding for resource data types, the resource data parser fragments the Bytelist containing the resource data buffer into resource data elements represented as individual Data nodes and stores them in the variable arguments list of the BufferOp object nodes. Example: ASL code and the corresponding AML tree representation for the resource data. ASL Code -------- Name (_CRS, ResourceTemplate() { QWordMemory (...) Interrupt (...) } AML Tree -------- (NameOp) \ |-[_CRS]-[BufferOp] # Fixed Arguments |-{NULL} \ # Variable Argument \ list |-[BuffSize] # Fixed Arguments |-{(Rd1)->(Rd2)->(EndTag)} # Variable Argument list Where: Rd1 - QWordMemory resource data element. Rd2 - Interrupt resource data element. EndTag - Resource data end tag. 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 'BaseTools/Source/Python/Common/GlobalData.py')
0 files changed, 0 insertions, 0 deletions