[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