Hi All,
I am trying to compile some ACPI tables, and I observed that
if I specify less minimal tables/asl as Sources for ACPI tables module INF
file
(resulting in less size of overall module), compilation fails with below
error:
build.py...
: error F003: Output file for RAW section could not be found for
Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
To reproduce this issue,
1) Apply below patch (just keeping Fadt.c here as example;
Other ways: just keep ASL file after removing some objects to reduce file
size; or keep combination of .c and .asl files - **as long as these files
are small**):
--------------------------------------------------------------------------------
diff --git a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
index f140febc4a..1a489a0a8a 100644
--- a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
+++ b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
@@ -16,13 +16,8 @@
VERSION_STRING = 1.0
[Sources]
- Dsdt.asl
- Dbg2.aslc
- Spcr.aslc
Fadt.aslc
- Gtdt.aslc
Madt.aslc
- AcpiSsdtRootPci.asl # Juno R1 specific
[Packages]
ArmPkg/ArmPkg.dec
--------------------------------------------------------------------------------
2) Now compile the module:
export PACKAGES_PATH=`pwd`/edk2-platforms/
--------------------------------------------------------------------------------
build -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc -m
Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
Processing meta-data .
Architecture(s) = AARCH64
Build target = DEBUG
Toolchain = GCC5
Active Platform =
/projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc
Active Module =
/projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
...
build.py...
: error F003: Output file for RAW section could not be found for
Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
- Failed -
Build end time: 17:44:14, Jan.28 2021
Build total time: 00:00:04
--------------------------------------------------------------------------------
Can anyone help understand this behavior?
Regards,
Abhishek
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70854): https://edk2.groups.io/g/devel/message/70854
Mute This Topic: https://groups.io/mt/80186004/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
I got an answer based on the other question I had posted. I think "Rule" provided for given inf (using RuleOverride) forces certain files to be present: [Rule.Common.USER_DEFINED.ACPITABLE] FILE FREEFORM = $(NAMED_GUID) { RAW ACPI |.acpi RAW ASL |.aml } So, in this case, for given inf module, if either of .acpi or .aml file is not generated, then below kind of error shows up: : error F003: Output file for RAW section could not be found for Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf Regards, Abhishek On Thu, Jan 28, 2021 at 5:47 PM Abhishek Shah <abhishek.shah@broadcom.com> wrote: > Hi All, > > I am trying to compile some ACPI tables, and I observed that > if I specify less minimal tables/asl as Sources for ACPI tables module INF > file > (resulting in less size of overall module), compilation fails with below > error: > > build.py... > : error F003: Output file for RAW section could not be found for > Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > > To reproduce this issue, > 1) Apply below patch (just keeping Fadt.c here as example; > Other ways: just keep ASL file after removing some objects to reduce file > size; or keep combination of .c and .asl files - **as long as these files > are small**): > > -------------------------------------------------------------------------------- > diff --git a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > index f140febc4a..1a489a0a8a 100644 > --- a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > +++ b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > @@ -16,13 +16,8 @@ > VERSION_STRING = 1.0 > > [Sources] > - Dsdt.asl > - Dbg2.aslc > - Spcr.aslc > Fadt.aslc > - Gtdt.aslc > Madt.aslc > - AcpiSsdtRootPci.asl # Juno R1 specific > > [Packages] > ArmPkg/ArmPkg.dec > > -------------------------------------------------------------------------------- > > 2) Now compile the module: > export PACKAGES_PATH=`pwd`/edk2-platforms/ > > -------------------------------------------------------------------------------- > build -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc -m > Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > > Processing meta-data . > Architecture(s) = AARCH64 > Build target = DEBUG > Toolchain = GCC5 > > Active Platform = > /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc > Active Module = > /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > ... > > build.py... > : error F003: Output file for RAW section could not be found for > Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > > - Failed - > Build end time: 17:44:14, Jan.28 2021 > Build total time: 00:00:04 > > -------------------------------------------------------------------------------- > > Can anyone help understand this behavior? > > Regards, > Abhishek > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#70859): https://edk2.groups.io/g/devel/message/70859 Mute This Topic: https://groups.io/mt/80186004/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
The rules do support an “Optional” keyword. Does this rule format work before and after your INF change? [Rule.Common.USER_DEFINED.ACPITABLE] FILE FREEFORM = $(NAMED_GUID) { RAW ACPI Optional |.acpi RAW ASL Optional |.aml } Mike From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Abhishek Shah via groups.io Sent: Thursday, January 28, 2021 10:17 AM To: devel@edk2.groups.io Cc: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com> Subject: Re: [edk2-devel] Question: module compilation failure with less number of files I got an answer based on the other question I had posted. I think "Rule" provided for given inf (using RuleOverride) forces certain files to be present: [Rule.Common.USER_DEFINED.ACPITABLE] FILE FREEFORM = $(NAMED_GUID) { RAW ACPI |.acpi RAW ASL |.aml } So, in this case, for given inf module, if either of .acpi or .aml file is not generated, then below kind of error shows up: : error F003: Output file for RAW section could not be found for Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf Regards, Abhishek On Thu, Jan 28, 2021 at 5:47 PM Abhishek Shah <abhishek.shah@broadcom.com<mailto:abhishek.shah@broadcom.com>> wrote: Hi All, I am trying to compile some ACPI tables, and I observed that if I specify less minimal tables/asl as Sources for ACPI tables module INF file (resulting in less size of overall module), compilation fails with below error: build.py... : error F003: Output file for RAW section could not be found for Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf To reproduce this issue, 1) Apply below patch (just keeping Fadt.c here as example; Other ways: just keep ASL file after removing some objects to reduce file size; or keep combination of .c and .asl files - **as long as these files are small**): -------------------------------------------------------------------------------- diff --git a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf index f140febc4a..1a489a0a8a 100644 --- a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf +++ b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf @@ -16,13 +16,8 @@ VERSION_STRING = 1.0 [Sources] - Dsdt.asl - Dbg2.aslc - Spcr.aslc Fadt.aslc - Gtdt.aslc Madt.aslc - AcpiSsdtRootPci.asl # Juno R1 specific [Packages] ArmPkg/ArmPkg.dec -------------------------------------------------------------------------------- 2) Now compile the module: export PACKAGES_PATH=`pwd`/edk2-platforms/ -------------------------------------------------------------------------------- build -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc -m Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf Processing meta-data . Architecture(s) = AARCH64 Build target = DEBUG Toolchain = GCC5 Active Platform = /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc Active Module = /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf ... build.py... : error F003: Output file for RAW section could not be found for Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf - Failed - Build end time: 17:44:14, Jan.28 2021 Build total time: 00:00:04 -------------------------------------------------------------------------------- Can anyone help understand this behavior? Regards, Abhishek -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#70861): https://edk2.groups.io/g/devel/message/70861 Mute This Topic: https://groups.io/mt/80186004/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Yes, given rule format with “Optional” keyword works before and after my INF change. Regards, Abhishek -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#70862): https://edk2.groups.io/g/devel/message/70862 Mute This Topic: https://groups.io/mt/80186004/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.