[SeaBIOS] Compiling SeaBIOS for coreboot has problems with its ACPI code
Moore, Robert
robert.moore at intel.com
Mon Jul 30 18:16:49 CEST 2012
We have made some fixes regarding listing support in conjunction with the new preprocessor.
Please try the very latest iASL compiler, version 20120711.
Thanks,
Bob
> -----Original Message-----
> From: Michael S. Tsirkin [mailto:mst at redhat.com]
> Sent: Sunday, July 29, 2012 5:09 AM
> To: Kevin O'Connor
> Cc: Idwer Vollering; seabios at seabios.org; Moore, Robert
> Subject: Re: [SeaBIOS] Compiling SeaBIOS for coreboot has problems with
> its ACPI code
>
> Robert, could you please comment on the following?
>
> On Thu, Jul 26, 2012 at 08:14:45PM -0400, Kevin O'Connor wrote:
> > On Thu, Jul 26, 2012 at 03:56:50PM +0200, Idwer Vollering wrote:
> > > 2012/7/26 Kevin O'Connor <kevin at koconnor.net>:
> > > > This is typically due to oddities with the compiler. What
> version
> > > > of compiler and binutils do you have? Can you tar up the "out/"
> > > > directory and email it to me?
> > >
> > > http://ra.openbios.org/~idwer/seabios_out.tar
> >
> > The SeaBIOS acpi_extract.py build tool is relying on the acpi output
> > including the comments from the source acpi file. It looks like the
> > latest acpi compiler versions are stripping the comments out.
> >
> > You'll have to use an older version of the iasl compiler until we can
> > update the SeaBIOS build.
> >
> > -Kevin
>
>
> So I bisected and first commit that breaks seabios is this:
>
> 7fd09d993580e22a096a1b21d2a356d89e702153
> (and c078edaa1c090334832d0e4d54c0ad8b46a12378 which is needed to
> compile it).
>
> commit c078edaa1c090334832d0e4d54c0ad8b46a12378
> Author: Robert Moore <Robert.Moore at intel.com>
> Date: Thu Mar 15 13:48:53 2012 -0700
>
> iASL: Update makefiles/project_files for the preprocessor.
>
> New files added for the iASL preprocessor.
>
> commit 7fd09d993580e22a096a1b21d2a356d89e702153
> Author: Robert Moore <Robert.Moore at intel.com>
> Date: Thu Mar 15 13:45:55 2012 -0700
>
> iASL: Add preprocessor infrastructure and initial
> implementation.
>
> Adds a standard c-like preprocessor to iASL. Most standard
> directives
> are supported. #define() macros not supported yet.
>
>
> The issue is this: our ASL source includes comments like this:
>
> /* ACPI_EXTRACT_ALL_CODE AmlCode */
>
> DefinitionBlock (
> "acpi-dsdt.aml",
> "DSDT",
> 0x01,
> "BXPC",
> "BXDSDT",
> 0x1
> )
>
>
> And our build runs iasl with -l flag to produce a mixed listing, and we
> expect all of the code to make it through to the mixed listing, so we
> used to get:
>
> 1....
> 2..../* ACPI_EXTRACT_ALL_CODE AmlCode */
> 3....
> 4....DefinitionBlock (
> 5.... "acpi-dsdt.aml",
> 6.... "DSDT",
> 7.... 0x01,
> 8.... "BXPC",
> 9.... "BXDSDT",
> 10.... 0x1
> 11.... )
>
>
> But ever since the above commit we don't: the comments are stripped and
> we get
>
> 1....
> 2....
> 3....
> 4....DefinitionBlock (
> 5.... "acpi-dsdt.aml",
> 6.... "DSDT",
> 7.... 0x01,
> 8.... "BXPC",
> 9.... "BXDSDT",
> 10.... 0x1
> 11.... )
>
>
> The reason we are doing this, is to annotate the resulting AML so we
> can pass offsets of specific objects in AML to the BIOS.
>
> I am copying the author of the IASL change. Is this something that can
> be fixed in iasl so that listing includes comments once again?
>
> Thanks!
>
>
> > _______________________________________________
> > SeaBIOS mailing list
> > SeaBIOS at seabios.org
> > http://www.seabios.org/mailman/listinfo/seabios
More information about the SeaBIOS
mailing list