summaryrefslogtreecommitdiff
path: root/BaseTools/BinWrappers/PosixLike/AmlToHex
diff options
context:
space:
mode:
authorPierre Gondois <pierre.gondois@arm.com>2020-02-05 22:52:03 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-02-06 13:52:11 +0000
commit1549651da623aa35c745bd1f283c907324bd6cc9 (patch)
treef265aebf189201c39d0c5b4d297119312b6d19ab /BaseTools/BinWrappers/PosixLike/AmlToHex
parentc37cce7a843dd8a77aa449b4763fd71c08837f81 (diff)
downloadedk2-1549651da623aa35c745bd1f283c907324bd6cc9.zip
edk2-1549651da623aa35c745bd1f283c907324bd6cc9.tar.gz
edk2-1549651da623aa35c745bd1f283c907324bd6cc9.tar.bz2
BaseTools: Script for converting .aml to .hex
The "-tc" option of the iasl compiler allows to generate a .hex file containing a C array storing AML bytecode. An online discussion suggested that this "-tc" option was specific to the iasl compiler and it shouldn't be relied on. This conversation is available at: https://edk2.groups.io/g/devel/topic/39786201#49659 A way to address this issue is to implement a compiler independent script that takes an AML file as input, and generates a .hex file. This patch implements a Python script that converts an AML file to a .hex file, containing a C array storing AML bytecode. This scipt has been tested with the AML output from the following compilers supported by the EDKII implementation: * Intel ASL compiler * Microsoft ASL compiler Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
Diffstat (limited to 'BaseTools/BinWrappers/PosixLike/AmlToHex')
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/AmlToHex14
1 files changed, 14 insertions, 0 deletions
diff --git a/BaseTools/BinWrappers/PosixLike/AmlToHex b/BaseTools/BinWrappers/PosixLike/AmlToHex
new file mode 100755
index 0000000..9fb6829
--- /dev/null
+++ b/BaseTools/BinWrappers/PosixLike/AmlToHex
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+exe=$(basename "$full_cmd")
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$exe/$exe.py" "$@"