Use default table creator macro for all SSDTs
[coreboot.git] / src / mainboard / tyan / s2892 / acpi_tables.c
index 303c3dd6e42e661915367524b2498e6dd8be33fc..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)
 {
@@ -139,8 +139,9 @@ unsigned long write_acpi_tables(unsigned long start)
        current = ALIGN(current, 16);
        dsdt = (acpi_header_t *) current;
        printk(BIOS_DEBUG, "ACPI:    * DSDT %p\n", dsdt);
-       current += ((acpi_header_t *) AmlCode)->length;
-       memcpy((void*) dsdt, (void*)AmlCode, ((acpi_header_t*)AmlCode)->length);
+       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);
@@ -185,7 +186,7 @@ unsigned long write_acpi_tables(unsigned long start)
        current = ALIGN(current, 16);
        ssdt = (acpi_header_t *)current;
        printk(BIOS_DEBUG, "ACPI:    * SSDT @ %p\n", ssdt);
-       acpi_create_ssdt_generator(ssdt, "DYNADATA");
+       acpi_create_ssdt_generator(ssdt, ACPI_TABLE_CREATOR);
        current += ssdt->length;
        acpi_add_table(rsdp, ssdt);