[SeaBIOS] Compiling SeaBIOS for coreboot has problems with its ACPI code

Michael S. Tsirkin mst at redhat.com
Sun Jul 29 14:08:30 CEST 2012


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