[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