aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2009-07-21 21:38:33 +0000
committerStefan Reinauer <stepan@openbios.org>2009-07-21 21:38:33 +0000
commitb657a3c9b726334aac89f1af16495eab3ebefc6b (patch)
tree428e1de09fdb4d29d783f5ea875c41d13effa893 /src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
parent4d933dd2d686879e0c27839d3f9046e348580da8 (diff)
This fixes a couple of issues with older Linux kernels (that expect an XSDT as
soon as there's an ACPI 2.0 or later table) * add XSDT support * add more table types This patch will break at least the kontron (and possibly some new boards I missed) Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4453 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c')
-rw-r--r--src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c b/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
index 8239a115bf..b8782e1b42 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
@@ -223,7 +223,7 @@ unsigned long write_acpi_tables(unsigned long start)
/* clear all table memory */
memset((void *)start, 0, current - start);
- acpi_write_rsdp(rsdp, rsdt);
+ acpi_write_rsdp(rsdp, rsdt, NULL);
acpi_write_rsdt(rsdt);
/*
@@ -234,7 +234,7 @@ unsigned long write_acpi_tables(unsigned long start)
hpet = (acpi_hpet_t *) current;
current += sizeof(acpi_hpet_t);
acpi_create_hpet(hpet);
- acpi_add_table(rsdt,hpet);
+ acpi_add_table(rsdp,hpet);
/* If we want to use HPET Timers Linux wants an MADT */
current = ( current + 0x07) & -0x08;
@@ -242,7 +242,7 @@ unsigned long write_acpi_tables(unsigned long start)
madt = (acpi_madt_t *) current;
acpi_create_madt(madt);
current+=madt->header.length;
- acpi_add_table(rsdt,madt);
+ acpi_add_table(rsdp,madt);
/* SRAT */
current = ( current + 0x07) & -0x08;
@@ -250,7 +250,7 @@ unsigned long write_acpi_tables(unsigned long start)
srat = (acpi_srat_t *) current;
acpi_create_srat(srat);
current+=srat->header.length;
- acpi_add_table(rsdt,srat);
+ acpi_add_table(rsdp,srat);
/* SLIT */
current = ( current + 0x07) & -0x08;
@@ -258,7 +258,7 @@ unsigned long write_acpi_tables(unsigned long start)
slit = (acpi_slit_t *) current;
acpi_create_slit(slit);
current+=slit->header.length;
- acpi_add_table(rsdt,slit);
+ acpi_add_table(rsdp,slit);
/* SSDT */
current = ( current + 0x0f) & -0x10;
@@ -271,7 +271,7 @@ unsigned long write_acpi_tables(unsigned long start)
/* recalculate checksum */
ssdt->checksum = 0;
ssdt->checksum = acpi_checksum((unsigned char *)ssdt,ssdt->length);
- acpi_add_table(rsdt,ssdt);
+ acpi_add_table(rsdp,ssdt);
printk_debug("ACPI: * SSDT for PState at %lx\n", current);
current = acpi_add_ssdt_pstates(rsdt, current);
@@ -312,7 +312,7 @@ unsigned long write_acpi_tables(unsigned long start)
update_ssdtx((void *)ssdtx, i);
ssdtx->checksum = 0;
ssdtx->checksum = acpi_checksum((unsigned char *)ssdtx,ssdtx->length);
- acpi_add_table(rsdt,ssdtx);
+ acpi_add_table(rsdp,ssdtx);
}
#endif
@@ -339,7 +339,7 @@ unsigned long write_acpi_tables(unsigned long start)
current += sizeof(acpi_fadt_t);
acpi_create_fadt(fadt,facs,dsdt);
- acpi_add_table(rsdt,fadt);
+ acpi_add_table(rsdp,fadt);
#if DUMP_ACPI_TABLES == 1
printk_debug("rsdp\n");