public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"abhishek.shah@broadcom.com" <abhishek.shah@broadcom.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com>
Subject: Re: [edk2-devel] Question: module compilation failure with less number of files
Date: Thu, 28 Jan 2021 18:29:41 +0000	[thread overview]
Message-ID: <CO1PR11MB492904F89A86F392922DAE1BD2BA9@CO1PR11MB4929.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CAKUFe6Y5+n9ebzeCg0GfJX81pqj6ma2PRYmnT2cEH-G7HAAQgA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3515 bytes --]

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


[-- Attachment #2: Type: text/html, Size: 46716 bytes --]

  reply	other threads:[~2021-01-28 18:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-28 12:17 Question: module compilation failure with less number of files Abhishek Shah
2021-01-28 18:16 ` Abhishek Shah
2021-01-28 18:29   ` Michael D Kinney [this message]
2021-01-28 18:40     ` [edk2-devel] " Abhishek Shah

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CO1PR11MB492904F89A86F392922DAE1BD2BA9@CO1PR11MB4929.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox