Use default table creator macro for all SSDTs
[coreboot.git] / src / mainboard / tyan / s2892 / acpi_tables.c
index 895a62991184422a516447f9b4d188f532b08ee1..403cca56e8bbfb24bb0ea22e91b4fc4f572073e8 100644 (file)
 #include <cpu/x86/msr.h>
 #include <cpu/amd/mtrr.h>
 #include <cpu/amd/amdk8_sysconf.h>
-#include <../../../northbridge/amd/amdk8/amdk8_acpi.h>
+#include "northbridge/amd/amdk8/acpi.h"
 #include <cpu/amd/model_fxx_powernow.h>
 
-extern unsigned char AmlCode[];
+extern const unsigned char AmlCode[];
 
 unsigned long acpi_fill_mcfg(unsigned long current)
 {
@@ -113,7 +113,7 @@ unsigned long write_acpi_tables(unsigned long start)
        start = (start + 0x0f) & -0x10;
        current = start;
 
-       printk_info("ACPI: Writing ACPI tables at %lx.\n", start);
+       printk(BIOS_INFO, "ACPI: Writing ACPI tables at %lx.\n", start);
 
        /* We need at least an RSDP and an RSDT Table */
        rsdp = (acpi_rsdp_t *) current;
@@ -131,21 +131,22 @@ unsigned long write_acpi_tables(unsigned long start)
 
        current = ALIGN(current, 64);
        facs = (acpi_facs_t *) current;
-       printk_debug("ACPI:    * FACS %p\n", facs);
+       printk(BIOS_DEBUG, "ACPI:    * FACS %p\n", facs);
        current += sizeof(acpi_facs_t);
        acpi_create_facs(facs);
 
        /* DSDT */
        current = ALIGN(current, 16);
        dsdt = (acpi_header_t *) current;
-       printk_debug("ACPI:    * DSDT %p\n", dsdt);
-       current += ((acpi_header_t *) AmlCode)->length;
-       memcpy((void*) dsdt, (void*)AmlCode, ((acpi_header_t*)AmlCode)->length);
-       printk_debug("ACPI:    * DSDT @ %p Length %x\n",dsdt,dsdt->length);
+       printk(BIOS_DEBUG, "ACPI:    * DSDT %p\n", dsdt);
+       memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
+       current += dsdt->length;
+       memcpy(dsdt, &AmlCode, dsdt->length);
+       printk(BIOS_DEBUG, "ACPI:    * DSDT @ %p Length %x\n",dsdt,dsdt->length);
 
        current = ALIGN(current, 16);
        fadt = (acpi_fadt_t *) current;
-       printk_debug("ACPI:    * FACP (FADT) @ %p\n", fadt);
+       printk(BIOS_DEBUG, "ACPI:    * FACP (FADT) @ %p\n", fadt);
        current += sizeof(acpi_fadt_t);
 
        /* Add FADT now that we have facs and dsdt. */
@@ -154,21 +155,21 @@ unsigned long write_acpi_tables(unsigned long start)
 
        current = ALIGN(current, 16);
        hpet = (acpi_hpet_t *) current;
-       printk_debug("ACPI:    * HPET @ %p\n", hpet);
+       printk(BIOS_DEBUG, "ACPI:    * HPET @ %p\n", hpet);
        current += sizeof(acpi_hpet_t);
        acpi_create_hpet(hpet);
        acpi_add_table(rsdp, hpet);
 
        current = ALIGN(current, 16);
        madt = (acpi_madt_t *) current;
-       printk_debug("ACPI:    * APIC/MADT @ %p\n", madt);
+       printk(BIOS_DEBUG, "ACPI:    * APIC/MADT @ %p\n", madt);
        acpi_create_madt(madt);
        current += madt->header.length;
        acpi_add_table(rsdp, madt);
 
        current = ALIGN(current, 16);
        srat = (acpi_srat_t *) current;
-       printk_debug("ACPI:    * SRAT @ %p\n", srat);
+       printk(BIOS_DEBUG, "ACPI:    * SRAT @ %p\n", srat);
        acpi_create_srat(srat);
        current += srat->header.length;
        acpi_add_table(rsdp, srat);
@@ -176,7 +177,7 @@ unsigned long write_acpi_tables(unsigned long start)
        /* SLIT */
        current = ALIGN(current, 16);
        slit = (acpi_slit_t *) current;
-       printk_debug("ACPI:    * SLIT @ %p\n", slit);
+       printk(BIOS_DEBUG, "ACPI:    * SLIT @ %p\n", slit);
        acpi_create_slit(slit);
        current+=slit->header.length;
        acpi_add_table(rsdp,slit);
@@ -184,11 +185,11 @@ unsigned long write_acpi_tables(unsigned long start)
        /* SSDT */
        current = ALIGN(current, 16);
        ssdt = (acpi_header_t *)current;
-       printk_debug("ACPI:    * SSDT @ %p\n", ssdt);
-       acpi_create_ssdt_generator(ssdt, "DYNADATA");
+       printk(BIOS_DEBUG, "ACPI:    * SSDT @ %p\n", ssdt);
+       acpi_create_ssdt_generator(ssdt, ACPI_TABLE_CREATOR);
        current += ssdt->length;
        acpi_add_table(rsdp, ssdt);
 
-       printk_info("ACPI: done %p.\n", (void *)current);
+       printk(BIOS_INFO, "ACPI: done %p.\n", (void *)current);
        return current;
 }