Fix up the tree again...
authorStefan Reinauer <stepan@coresystems.de>
Wed, 22 Jul 2009 01:11:37 +0000 (01:11 +0000)
committerStefan Reinauer <stepan@openbios.org>
Wed, 22 Jul 2009 01:11:37 +0000 (01:11 +0000)
* 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

src/arch/i386/boot/acpi.c
src/arch/i386/include/arch/acpi.h
src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
src/mainboard/gigabyte/m57sli/Config.lb
src/mainboard/gigabyte/m57sli/acpi_tables.c
src/mainboard/intel/eagleheights/acpi_tables.c
src/mainboard/via/epia-m700/acpi_tables.c
src/mainboard/via/epia-n/acpi_tables.c
src/northbridge/amd/amdfam10/amdfam10_acpi.c

index 515976636d02c4a8170302fee50a36e4cc1b158c..baff4f0dd6f9e2982713d0980a423b4a781393fd 100644 (file)
@@ -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);
index 7f87f64a03061227dc6fed64f3be978f8f4a3f1f..f5668c343bd7f6b35d1d3a9d6860f58386100f89 100644 (file)
@@ -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 {                                                    \
index b8782e1b4262d96029a4b83bfd59d9e1a8baf967..184735b104103672a2693cf47185476b33427753 100644 (file)
@@ -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
 
index be770434b2cfd55f159064a4d744a99bd3975a39..d3289427c0c55732d3cadf9b7eb5f6a50093df78 100644 (file)
@@ -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
index 5a677495e99059646c0ec2dd8ee44c436e3fdf14..ecc063df18051ddac42c19d1dea83e6c698955dc 100644 (file)
@@ -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;
index 71ba060d7f7fcf44e6150d578a2449f78e3b80bc..c96c632e2803d3c4df3d421098932c0fcf9bd494 100644 (file)
@@ -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;
index ecb8de48e3fa72e904c43e2e34d1e7770fab40d6..fefe7b6520d7a471a03024d7b54cd9c0d0672170 100644 (file)
@@ -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
 
index 9ca946de594f6027cd127f56d92c0ee64ea68242..3f58d6682429f574ab3ab09c774e06f0fada32ee 100644 (file)
@@ -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;
index f902d6ee984ba2647f1cd42a299b4bdafefdc5c4..77fd3ccb12d3895e8bf9b2bd0c178af8bddfbdeb 100644 (file)
@@ -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++;
        }