[coreboot] ACPI breakage/questions and ramstage code question

Keith Hui buurin at gmail.com
Wed Mar 2 05:30:26 CET 2011

First, Mysterious breakage on experimental i82371eb ACPI stuff

Rudolf, Idwer, and anyone that tried doing ACPI for the ASUS P2B
series of boards:

I'm seeing mysterious compiler breakge after updating my local copy to
r6424. I copied that from P2B to P2B-LS and both break. Make log says:

    CC         southbridge/intel/i82371eb/fadt.driver.o
src/southbridge/intel/i82371eb/fadt.c:35:35: error: expected ‘)’
before ‘*’ token
make: *** [build/southbridge/intel/i82371eb/fadt.driver.o] Error 1

Which points to this in the file:

 * Create the Fixed ACPI Description Tables (FADT) for any board with this SB.
 * Reference: ACPIspec40a, 5.2.9, page 118
void acpi_create_fadt(acpi_fadt_t * fadt, acpi_facs_t * facs, void * dsdt)
        acpi_header_t *header = &(fadt->header);
       	device_t dev;
[ Rest of function goes here]

Are any of you guys having the same problem?

I ran abuild on a random target with ACPI and didn't have this
problem. I will try to find out why but hoping that someone will beat
me to an explanation.

In code that create ACPI tables like the above, have anyone tried
declaring the constant part of the tables statically, memcpy() it to a
working buffer at runtime, fill in the dynamic parts, then pass it on?
Currently all entries in these ACPI tables are written at runtime,
producing a lot of code that may not be needed.

I am finding these getting compiled into my ramstage:

    CC         devices/device_util.ramstage.o
    CC         devices/pci_device.ramstage.o
>    CC         devices/pcix_device.ramstage.o
>    CC         devices/pciexp_device.ramstage.o
    CC         devices/agp_device.ramstage.o
>    CC         devices/cardbus_device.ramstage.o
    CC         devices/pnp_device.ramstage.o
    CC         devices/pci_ops.ramstage.o
    CC         devices/smbus_ops.ramstage.o
    CC         devices/pci_rom.ramstage.o

Why is code for every bus types getting compiled in anyway? The
compile shown here is for ASUS P2B-LS, which has no PCIX, no PCI
express (board predates this), and no cardbus. Can I attempt to leave
these out and hopefully save some time and bytes?

More information about the coreboot mailing list