--- 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?