summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2009-07-22 01:11:37 +0000
committerStefan Reinauer <stepan@openbios.org>2009-07-22 01:11:37 +0000
commit4704dc520b1d5eb8ae730b336ee5f6b7401f7dfc (patch)
treee38f63722b1a559d334940364aa838c75c074405
parentcdfe376c06bf95399b03196de0a436e719811eea (diff)
Fix up the tree again...
* acpi_add_table requires a pointer to the RSDP, not the RSDT anymore, in order to properly support XSDT generation. * fix compilation the DSDT on gigabyte/m57sli * drop a remaining, forgotten HPET_NAME for "HPET" Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4461 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/arch/i386/boot/acpi.c2
-rw-r--r--src/arch/i386/include/arch/acpi.h2
-rw-r--r--src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c2
-rw-r--r--src/mainboard/gigabyte/m57sli/Config.lb4
-rw-r--r--src/mainboard/gigabyte/m57sli/acpi_tables.c16
-rw-r--r--src/mainboard/intel/eagleheights/acpi_tables.c10
-rw-r--r--src/mainboard/via/epia-m700/acpi_tables.c10
-rw-r--r--src/mainboard/via/epia-n/acpi_tables.c4
-rw-r--r--src/northbridge/amd/amdfam10/amdfam10_acpi.c4
9 files changed, 27 insertions, 27 deletions
diff --git a/src/arch/i386/boot/acpi.c b/src/arch/i386/boot/acpi.c
index 515976636d..baff4f0dd6 100644
--- a/src/arch/i386/boot/acpi.c
+++ b/src/arch/i386/boot/acpi.c
@@ -341,7 +341,7 @@ void acpi_create_hpet(acpi_hpet_t *hpet)
memset((void *)hpet, 0, sizeof(acpi_hpet_t));
/* fill out header fields */
- memcpy(header->signature, HPET_NAME, 4);
+ memcpy(header->signature, "HPET", 4);
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, ACPI_TABLE_CREATOR, 8);
memcpy(header->asl_compiler_id, ASLC, 4);
diff --git a/src/arch/i386/include/arch/acpi.h b/src/arch/i386/include/arch/acpi.h
index 7f87f64a03..f5668c343b 100644
--- a/src/arch/i386/include/arch/acpi.h
+++ b/src/arch/i386/include/arch/acpi.h
@@ -389,7 +389,7 @@ int acpi_get_sleep_type(void);
#endif
-unsigned long acpi_add_ssdt_pstates(acpi_rsdt_t *rsdt, unsigned long current);
+unsigned long acpi_add_ssdt_pstates(acpi_rsdp_t *rsdp, unsigned long current);
#define ACPI_WRITE_MADT_IOAPIC(dev,id) \
do { \
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c b/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
index b8782e1b42..184735b104 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
@@ -274,7 +274,7 @@ unsigned long write_acpi_tables(unsigned long start)
acpi_add_table(rsdp,ssdt);
printk_debug("ACPI: * SSDT for PState at %lx\n", current);
- current = acpi_add_ssdt_pstates(rsdt, current);
+ current = acpi_add_ssdt_pstates(rsdp, current);
#if CONFIG_ACPI_SSDTX_NUM >= 1
diff --git a/src/mainboard/gigabyte/m57sli/Config.lb b/src/mainboard/gigabyte/m57sli/Config.lb
index be770434b2..d3289427c0 100644
--- a/src/mainboard/gigabyte/m57sli/Config.lb
+++ b/src/mainboard/gigabyte/m57sli/Config.lb
@@ -170,8 +170,8 @@ if CONFIG_HAVE_ACPI_TABLES
object acpi_tables.o
makerule dsdt.c
depends "$(CONFIG_MAINBOARD)/dsdt.asl"
- action "iasl -p $(PWD)/dsdt -tc $(CONFIG_MAINBOARD)/dsdt.asl"
- action "mv dsdt.hex dsdt.c"
+ action "iasl -p dsdt -tc $(CONFIG_MAINBOARD)/dsdt.asl"
+ action "mv $(CURDIR)/dsdt.hex dsdt.c"
end
object ./dsdt.o
end
diff --git a/src/mainboard/gigabyte/m57sli/acpi_tables.c b/src/mainboard/gigabyte/m57sli/acpi_tables.c
index 5a677495e9..ecc063df18 100644
--- a/src/mainboard/gigabyte/m57sli/acpi_tables.c
+++ b/src/mainboard/gigabyte/m57sli/acpi_tables.c
@@ -130,7 +130,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);
/* We explicitly add these tables later on: */
@@ -156,39 +156,39 @@ 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);
printk_debug("ACPI: * HPET\n");
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. */
printk_debug("ACPI: * MADT\n");
madt = (acpi_madt_t *) current;
acpi_create_madt(madt);
current += madt->header.length;
- acpi_add_table(rsdt, madt);
+ acpi_add_table(rsdp, madt);
printk_debug("ACPI: * MCFG\n");
mcfg = (acpi_mcfg_t *) current;
acpi_create_mcfg(mcfg);
current += mcfg->header.length;
- acpi_add_table(rsdt, mcfg);
+ acpi_add_table(rsdp, mcfg);
printk_debug("ACPI: * SRAT\n");
srat = (acpi_srat_t *) current;
acpi_create_srat(srat);
current += srat->header.length;
- acpi_add_table(rsdt, srat);
+ acpi_add_table(rsdp, srat);
/* SLIT */
printk_debug("ACPI: * SLIT\n");
slit = (acpi_slit_t *) current;
acpi_create_slit(slit);
current+=slit->header.length;
- acpi_add_table(rsdt,slit);
+ acpi_add_table(rsdp, slit);
/* SSDT */
printk_debug("ACPI: * SSDT\n");
@@ -196,7 +196,7 @@ unsigned long write_acpi_tables(unsigned long start)
acpi_create_ssdt_generator(ssdt, "DYNADATA");
current += ssdt->length;
- acpi_add_table(rsdt, ssdt);
+ acpi_add_table(rsdp, ssdt);
printk_info("ACPI: done.\n");
return current;
diff --git a/src/mainboard/intel/eagleheights/acpi_tables.c b/src/mainboard/intel/eagleheights/acpi_tables.c
index 71ba060d7f..c96c632e28 100644
--- a/src/mainboard/intel/eagleheights/acpi_tables.c
+++ b/src/mainboard/intel/eagleheights/acpi_tables.c
@@ -169,7 +169,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);
/*
@@ -181,7 +181,7 @@ unsigned long write_acpi_tables(unsigned long start)
current += sizeof(acpi_hpet_t);
ALIGN_CURRENT;
acpi_create_intel_hpet(hpet);
- acpi_add_table(rsdt, hpet);
+ acpi_add_table(rsdp, hpet);
/* If we want to use HPET Timers Linux wants an MADT */
printk_debug("ACPI: * MADT\n");
@@ -190,14 +190,14 @@ unsigned long write_acpi_tables(unsigned long start)
acpi_create_madt(madt);
current += madt->header.length;
ALIGN_CURRENT;
- acpi_add_table(rsdt, madt);
+ acpi_add_table(rsdp, madt);
printk_debug("ACPI: * MCFG\n");
mcfg = (acpi_mcfg_t *) current;
acpi_create_mcfg(mcfg);
current += mcfg->header.length;
ALIGN_CURRENT;
- acpi_add_table(rsdt, mcfg);
+ acpi_add_table(rsdp, mcfg);
printk_debug("ACPI: * FACS\n");
facs = (acpi_facs_t *) current;
@@ -220,7 +220,7 @@ unsigned long write_acpi_tables(unsigned long start)
ALIGN_CURRENT;
acpi_create_fadt(fadt, facs, dsdt);
- acpi_add_table(rsdt, fadt);
+ acpi_add_table(rsdp, fadt);
printk_info("ACPI: done.\n");
return current;
diff --git a/src/mainboard/via/epia-m700/acpi_tables.c b/src/mainboard/via/epia-m700/acpi_tables.c
index ecb8de48e3..fefe7b6520 100644
--- a/src/mainboard/via/epia-m700/acpi_tables.c
+++ b/src/mainboard/via/epia-m700/acpi_tables.c
@@ -147,7 +147,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);
/* We explicitly add these tables later on: */
@@ -171,14 +171,14 @@ 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 we want to use HPET timers Linux wants it in MADT. */
printk_debug("ACPI: * MADT\n");
madt = (acpi_madt_t *) current;
acpi_create_madt(madt);
current += madt->header.length;
- acpi_add_table(rsdt, madt);
+ acpi_add_table(rsdp, madt);
/* NO MCFG in VX855, no PCI-E. */
@@ -186,7 +186,7 @@ unsigned long write_acpi_tables(unsigned long start)
hpet = (acpi_mcfg_t *) current;
acpi_create_hpet(hpet);
current += hpet->header.length;
- acpi_add_table(rsdt, hpet);
+ acpi_add_table(rsdp, hpet);
#if 0
printk_debug("ACPI: * SSDT\n");
@@ -195,7 +195,7 @@ unsigned long write_acpi_tables(unsigned long start)
memcpy((void *)ssdt,(void *)AmlCode_ssdt, ((acpi_header_t *)AmlCode_ssdt)->length);
ssdt->checksum = 0; /* Don't trust iasl to get this right. */
ssdt->checksum = acpi_checksum(ssdt, ssdt->length);
- acpi_add_table(rsdt, ssdt);
+ acpi_add_table(rsdp, ssdt);
printk_debug("ACPI: * SSDT @ %08x Length %x\n", ssdt, ssdt->length);
#endif
diff --git a/src/mainboard/via/epia-n/acpi_tables.c b/src/mainboard/via/epia-n/acpi_tables.c
index 9ca946de59..3f58d66824 100644
--- a/src/mainboard/via/epia-n/acpi_tables.c
+++ b/src/mainboard/via/epia-n/acpi_tables.c
@@ -63,7 +63,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);
/*
@@ -86,7 +86,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);
printk_info("ACPI: done.\n");
return current;
diff --git a/src/northbridge/amd/amdfam10/amdfam10_acpi.c b/src/northbridge/amd/amdfam10/amdfam10_acpi.c
index f902d6ee98..77fd3ccb12 100644
--- a/src/northbridge/amd/amdfam10/amdfam10_acpi.c
+++ b/src/northbridge/amd/amdfam10/amdfam10_acpi.c
@@ -312,7 +312,7 @@ extern unsigned char AmlCode_sspr2[];
extern unsigned char AmlCode_sspr1[];
/* fixme: find one good way for different p_state_num */
-unsigned long acpi_add_ssdt_pstates(acpi_rsdt_t *rsdt, unsigned long current)
+unsigned long acpi_add_ssdt_pstates(acpi_rsdp_t *rsdp, unsigned long current)
{
device_t cpu;
int cpu_index = 0;
@@ -348,7 +348,7 @@ unsigned long acpi_add_ssdt_pstates(acpi_rsdt_t *rsdt, unsigned long current)
/* recalculate checksum */
ssdt->checksum = 0;
ssdt->checksum = acpi_checksum((unsigned char *)ssdt,ssdt->length);
- acpi_add_table(rsdt,ssdt);
+ acpi_add_table(rsdp, ssdt);
cpu_index++;
}