Pierre:
  Can you give the whole solution for this usage model? Does it mean C source 
file depends on ASL file? This is related to the priority of source file type. 
Now, there is no method to let user configure them. I suggest to introduce the 
generic way instead of the specific handle. 

Thanks
Liming
>-----Original Message-----
>From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
>PierreGondois
>Sent: Wednesday, October 30, 2019 9:51 PM
>To: devel@edk2.groups.io
>Cc: Pierre Gondois <pierre.gond...@arm.com>; Feng, Bob C
><bob.c.f...@intel.com>; Gao, Liming <liming....@intel.com>;
>sami.muja...@arm.com; n...@arm.com
>Subject: [edk2-devel] [PATCH v1 1/1] BaseTools: Build ASL files before C files
>
>From: Pierre Gondois <pierre.gond...@arm.com>
>
>The '-tc' option of the Intel iASL compiler facilitates
>generation of AML code in a C array. This AML code is
>output to a .hex file. The .hex file can be included
>from a C source file, thereby allowing one to run a
>fix-up code in C.
>
>For example, this technique can be used to patch the
>resource data elements that describe the base address
>or interrupt number for a device, before installing
>the ACPI table.
>
>To implement this feature two conditions need to be
>satisfied:
> - The ASL and C files must be included in the sources
>   section of the same .inf file for the module.
> - The ASL files are pre-processed and compiled before
>   the C files (so that the .hex file include dependency
>   is satisfied).
>
>This patch resolves the dependency by sorting the
>CODA_TARGET list for the module being built and
>placing the .aml files at the very beginning of
>the list.
>
>Signed-off-by: Pierre Gondois <pierre.gond...@arm.com>
>---
>
>The changes can be seen at
>https://github.com/PierreARM/edk2/commits/676_build_asl_first_v1
>
>Notes:
>    v1:
>    - Sort .aml files first in the CODA_TARGET to build      [Pierre]
>      them before other files.
>
> BaseTools/Source/Python/AutoGen/ModuleAutoGen.py | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
>diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
>b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
>index
>f0812b6887be6f9fbdb14003f2efff229633fb34..a59ed1d1952c23d0d3de83353a0
>566fb8a7dab77 100755
>--- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
>+++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
>@@ -2,6 +2,7 @@
> # Create makefile for MS nmake and GNU make
> #
> # Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
>+# Copyright (c) 2019, ARM Limited. All rights reserved.<BR>
> # SPDX-License-Identifier: BSD-2-Clause-Patent
> #
> from __future__ import absolute_import
>@@ -931,7 +932,14 @@ class ModuleAutoGen(AutoGen):
>     @cached_property
>     def CodaTargetList(self):
>         self.Targets
>-        return self._FinalBuildTargetList
>+
>+        # To resolve dependencies on compiled ASL files (.aml files) in 
>modules,
>+        # build them first by putting them as the first targets in the
>+        # CodaTargetList.
>+        OrderedList = list(self._FinalBuildTargetList)
>+        OrderedList.sort(key=lambda T: (T.Target.Ext.lower() != '.aml'))
>+
>+        return OrderedList
>
>     @cached_property
>     def FileTypes(self):
>--
>'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
>
>
>
>


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

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

Reply via email to