Hi Simon, On Mon, Jul 29, 2019 at 4:16 AM Simon Glass <[email protected]> wrote: > > At present the iasl tool (Intel ACPI (Advanced Configuration and Power > Interface) Source Language Compiler) is called in such a way that it uses > the source directory for its temporary files. > > This means we end up with these files when building x86 boards: > > board/dfi/dfi-bt700/dsdt.aml > board/dfi/dfi-bt700/dsdt.asl.tmp > > Update the code to put temporary files in the target directory instead. > > The iasl tool is quite confusing since it generates files with different > extensions and does not allow these to be individually specified. Add some > documentation to help with this. > > Signed-off-by: Simon Glass <[email protected]> > --- > > Changes in v3: > - Use dsdt.asl.tmp as the temporary file again > - Add ASL_TMP for the temporary file > - Add some comments to make it clear what iasl does > > Changes in v2: > - Use dsdt.tmp.c as the temporary filename instead of dsdt.c.tmp > - Remove this file with distclean > > Makefile | 1 + > scripts/Makefile.lib | 17 ++++++++++++++--- > 2 files changed, 15 insertions(+), 3 deletions(-) > > diff --git a/Makefile b/Makefile > index 704579bec1..6a147badae 100644 > --- a/Makefile > +++ b/Makefile > @@ -1846,6 +1846,7 @@ clean: $(clean-dirs) > -o -name '*.symtypes' -o -name 'modules.order' \ > -o -name modules.builtin -o -name '.tmp_*.o.*' \ > -o -name 'dsdt.aml' -o -name 'dsdt.asl.tmp' -o -name 'dsdt.c' > \ > + -o -name 'dsdt.hex' \
This is not needed as it is already renamed to dsdt.c by our make rules. > -o -name '*.efi' -o -name '*.gcno' -o -name '*.so' \) \ > -type f -print | xargs rm -f \ > bl31.c bl31.elf bl31_*.bin image.map > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index de67677f61..7a3b51d61b 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -395,11 +395,22 @@ $(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o > $(obj)/efi_reloc.o $(obj)/efi_free > > # ACPI > # --------------------------------------------------------------------------- > +# > +# This first sends the file (typically dsdt.asl) through the preprocessor > +# resolve includes and any CONFIG options used. This produces dsdt.asl.tmp > +# which is pure ASL code. The Intel ASL (ACPI (Advanced Configuration and > Power > +# Interface) Source Language compiler (iasl) then converts this ASL code > into a > +# C file containing the hex data to build into U_Boot. This file is called nits: U-Boot > +# dsdt.hex (despite us setting the prefix to .../dsdt.asl.tmp) so must be > +# renamed to dsdt.c for consumption by the build system. > +ASL_TMP = $(patsubst %.c,%.asl.tmp,$@) > + > quiet_cmd_acpi_c_asl= ASL $< > cmd_acpi_c_asl= \ > - $(CPP) -x assembler-with-cpp -D__ASSEMBLY__ -P $(UBOOTINCLUDE) -o > $<.tmp $<; \ > - iasl -p $< -tc $<.tmp $(if $(KBUILD_VERBOSE:1=), >/dev/null) && \ > - mv $(patsubst %.asl,%.hex,$<) $@ > + $(CPP) -x assembler-with-cpp -D__ASSEMBLY__ -P $(UBOOTINCLUDE) \ > + -o $(ASL_TMP) $< && \ > + iasl -p $@ -tc $(ASL_TMP) $(if $(KBUILD_VERBOSE:1=), >/dev/null) && \ > + mv $(patsubst %.c,%.hex,$@) $@ > > $(obj)/dsdt.c: $(src)/dsdt.asl > $(call cmd,acpi_c_asl) > -- Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]> I will fix the above issues when applying. Regards, Bin _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

