Hi,
with newconfig out of the way, I decided to clean up ACPI.
This implies lots of file movements, so the patch I attach is of somewhat limited use (even if I were to add the deletions in full it doesn't apply cleanly)
Changes: - All files use the .asl suffix now (acpi source language)
- dsdt, ssdt*, sspr* belong in the source directories (eg. src/mainboard/kontron/986lcd-m), all files included by them belong in an acpi/ subdirectory.
- iasl is handled in a generic rule in the top level Makefile. Non-dsdt files get their AmlCode array renamed to AmlCode_$filename (without suffix)
- pci[2345] were renamed to ssdt[2345] for the above to work
- ACPI code is preprocessed with cpp. We already did that for Kontron, and it has the nice property that you can share certain header files with C code, to deduplicate some data (eg. LAPIC base address). This doesn't negatively affect code that wasn't made for it, as only #define statement could create conflicts
- I changed all ACPI Include() statements to #include preprocessor commands, so once this feature is more commonly used, cpp gets a chance to fix up all defines
Result: - No more need for iasl rules in Makefile.incs, just add dsdt.o, ssdt3.o etc. to obj-y and make will figure out the right thing to do
All boards built with abuilt. Signed-off-by: Patrick Georgi patrick.georgi@coresystems.de
On 2/8/10 4:11 PM, Patrick Georgi wrote:
Hi,
with newconfig out of the way, I decided to clean up ACPI.
This implies lots of file movements, so the patch I attach is of somewhat limited use (even if I were to add the deletions in full it doesn't apply cleanly)
Changes:
All files use the .asl suffix now (acpi source language)
dsdt, ssdt*, sspr* belong in the source directories (eg.
src/mainboard/kontron/986lcd-m), all files included by them belong in an acpi/ subdirectory.
- iasl is handled in a generic rule in the top level Makefile. Non-dsdt
files get their AmlCode array renamed to AmlCode_$filename (without suffix)
pci[2345] were renamed to ssdt[2345] for the above to work
ACPI code is preprocessed with cpp. We already did that for Kontron,
and it has the nice property that you can share certain header files with C code, to deduplicate some data (eg. LAPIC base address). This doesn't negatively affect code that wasn't made for it, as only #define statement could create conflicts
- I changed all ACPI Include() statements to #include preprocessor
commands, so once this feature is more commonly used, cpp gets a chance to fix up all defines
Result:
- No more need for iasl rules in Makefile.incs, just add dsdt.o, ssdt3.o
etc. to obj-y and make will figure out the right thing to do
All boards built with abuilt. Signed-off-by: Patrick Georgi patrick.georgi@coresystems.de
Great! ACPI in coreboot is really developing from a mess to a framework.
Acked-by: Stefan Reinauer stepan@coresystems.de
For the future it would be nice if files like usb.asl/sata.asl/ide.asl/globutil.asl of the AMD RS690/SB600 based boards could live in southbridge/amd/sb600/acpi Maybe someone can step up and fix this?
Am 08.02.2010 16:42, schrieb Stefan Reinauer:
Acked-by: Stefan Reinauer stepan@coresystems.de
Thanks, r5094
For the future it would be nice if files like usb.asl/sata.asl/ide.asl/globutil.asl of the AMD RS690/SB600 based boards could live in southbridge/amd/sb600/acpi Maybe someone can step up and fix this?
I've seen the potential (in fact, I fixed one of them, and then svn diff | patched the others), but I didn't dare to move them elsewhere.
So I can only second that: Can someone (with such hardware around) please unify these files?
Patrick