Hi Pierre,

The commit message should not have more than one Signed-off-by.

Use of Suggested-by may be more appropriate here.

Thanks,
Bob

-----Original Message-----
From: PierreGondois <pierre.gond...@arm.com> 
Sent: Thursday, June 18, 2020 10:27 PM
To: devel@edk2.groups.io
Cc: Pierre Gondois <pierre.gond...@arm.com>; sami.muja...@arm.com; 
tomas.pi...@arm.com; Feng, Bob C <bob.c.f...@intel.com>; Gao, Liming 
<liming....@intel.com>; n...@arm.com
Subject: [PATCH v2 2/4] BaseTools: Rename AmlToHex script to AmlToC

From: Pierre Gondois <pierre.gond...@arm.com>

The AmlToHex script and Posix/WindowsLike wrappers convert an AML file to a 
.hex file, containing a C array storing AML bytecode. This ".hex" file can then 
be included in a C file, allowing to access the AML bytecode from this C file.

The EDK2 build system doesn't allow to a depict dependency orders between files 
of different languages. For instance, in a module containing a ".c" file and a 
".asl", the ".c"
file may or may not be built prior to the ".asl" file.
This prevents any inclusion of a generated ".hex" in a ".c" file since this 
later ".hex" file may or may not have been created yet.

This patch renames the script as AmlToC. It is posted as a separate patch to 
prevent git from seeing the renaming as a deletion plus addition of a new file.
The ending line of the posix-like bin-wrapper script has also been corrected.

This is a first step toward generating a C file containing the AML bytecode 
from an ASL file. This C file will then be handled by the EDK2 build system to 
generate an object file.
Thus, no file inclusion will be required anymore. The C file requiring the AML 
bytecode as a C array, and the ASL file, will be compiled independently. The C 
array must be defined as an external symbol. The linker is resolving the 
reference to the C array symbol.

To summarize, the flow goes as:
 -1. ASL file is compiled to AML;
 -2. AML file is copied to a ".amli" intermediate file;  -3. EDK2 build system 
applies the rule relevant to ".amli"
     files. This is, calling the "AmlToC" script, generating
     a C file from the ".amli" file;
 -4. EDK2 build system applies the rule relevant to C files.
     This is creating an object file.
 -5. EDK2 build system links the object file containing the
     AML bytecode with the object file requiring it.

Signed-off-by: Pierre Gondois <pierre.gond...@arm.com>
Signed-off-by: Tomas Pilar <tomas.pi...@arm.com>
---

The changes can be seen at 
https://github.com/PierreARM/edk2/commits/pg/803_Compile_AML_bytecode_array_into_OBJ_file_v2

Notes:
    Notes:
      v1:
       - Rename AmlToHex scripts to AmlToC, and change line
         endings of the PosixLike bin-wrapper. [Pierre]
      v2:
       - No modification. [Pierre]

 BaseTools/BinWrappers/PosixLike/{AmlToHex => AmlToC}               | 28 
++++++++++----------
 BaseTools/BinWrappers/WindowsLike/{AmlToHex.bat => AmlToC.bat}     |  0
 BaseTools/Source/Python/{AmlToHex/AmlToHex.py => AmlToC/AmlToC.py} |  0
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/BaseTools/BinWrappers/PosixLike/AmlToHex 
b/BaseTools/BinWrappers/PosixLike/AmlToC
similarity index 97%
rename from BaseTools/BinWrappers/PosixLike/AmlToHex
rename to BaseTools/BinWrappers/PosixLike/AmlToC
index 
9fb68299e4c67d1f332cd883fd348a896f1bdc50..1dd28e966288f6ea4fc52d42e2dc7b1f74226c23
 100755
--- a/BaseTools/BinWrappers/PosixLike/AmlToHex
+++ b/BaseTools/BinWrappers/PosixLike/AmlToC
@@ -1,14 +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" "$@"
+#!/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" "$@"
diff --git a/BaseTools/BinWrappers/WindowsLike/AmlToHex.bat 
b/BaseTools/BinWrappers/WindowsLike/AmlToC.bat
similarity index 100%
rename from BaseTools/BinWrappers/WindowsLike/AmlToHex.bat
rename to BaseTools/BinWrappers/WindowsLike/AmlToC.bat
diff --git a/BaseTools/Source/Python/AmlToHex/AmlToHex.py 
b/BaseTools/Source/Python/AmlToC/AmlToC.py
similarity index 100%
rename from BaseTools/Source/Python/AmlToHex/AmlToHex.py
rename to BaseTools/Source/Python/AmlToC/AmlToC.py
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#61632): https://edk2.groups.io/g/devel/message/61632
Mute This Topic: https://groups.io/mt/74959532/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to