diff options
author | Pierre Gondois <pierre.gondois@arm.com> | 2020-02-05 22:52:03 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2020-02-06 13:52:11 +0000 |
commit | 1549651da623aa35c745bd1f283c907324bd6cc9 (patch) | |
tree | f265aebf189201c39d0c5b4d297119312b6d19ab /BaseTools/BinWrappers/PosixLike | |
parent | c37cce7a843dd8a77aa449b4763fd71c08837f81 (diff) | |
download | edk2-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')
-rwxr-xr-x | BaseTools/BinWrappers/PosixLike/AmlToHex | 14 |
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" "$@"
|