Use default table creator macro for all SSDTs
[coreboot.git] / src / mainboard / msi / ms9652_fam10 / acpi_tables.c
index 473d3898ec04f752d87b449af025ece94cc56edf..25be32ae4cde4e1f59be7e0a4abc74975593c57f 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the coreboot project.
  *
  * Written by Stefan Reinauer <stepan@openbios.org>.
- * ACPI FADT, FACS, and DSDT table support added by 
+ * ACPI FADT, FACS, and DSDT table support added by
  *
  * Copyright (C) 2004 Stefan Reinauer <stepan@openbios.org>
  * Copyright (C) 2005 Nick Barker <nick.barker9@btinternet.com>
 #include <arch/smp/mpspec.h>
 #include <device/device.h>
 #include <device/pci_ids.h>
-//#include <../../../northbridge/amd/amdfam10/amdfam10_acpi.h>
+//#include "northbridge/amd/amdfam10/amdfam10_acpi.h"
 #include <cpu/amd/model_fxx_powernow.h>
 #include <device/pci.h>
 #include <cpu/amd/amdfam10_sysconf.h>
 #include "mb_sysconf.h"
 
-extern unsigned char AmlCode[];
+extern const unsigned char AmlCode[];
 
 unsigned long acpi_fill_mcfg(unsigned long current)
 {
@@ -49,7 +49,7 @@ unsigned long acpi_fill_madt(unsigned long current)
        struct mb_sysconf_t *m;
        //extern unsigned char bus_mcp55[8];
        //extern unsigned apicid_mcp55;
-       extern void get_bus_conf(void);
+
        unsigned sbdn;
        struct resource *res;
        device_t dev;
@@ -57,7 +57,7 @@ unsigned long acpi_fill_madt(unsigned long current)
        get_bus_conf();
        sbdn = sysconf.sbdn;
        m = sysconf.mb;
-       
+
        /* Create all subtables for processors. */
        current = acpi_create_madt_lapics(current);
 
@@ -87,7 +87,7 @@ unsigned long acpi_fill_madt(unsigned long current)
 
        /* IRQ0 -> APIC IRQ2. */
        current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
-               current, 0, 0, 2, 0x0); 
+               current, 0, 0, 2, 0x0);
 
        /* Create all subtables for processors. */
        current = acpi_create_madt_lapic_nmis(current,
@@ -147,11 +147,11 @@ unsigned long write_acpi_tables(unsigned long start)
        acpi_create_facs(facs);
 
        dsdt = (acpi_header_t *) current;
-       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);
        dsdt->checksum = 0;     /* Don't trust iasl to get this right. */
-       dsdt->checksum = acpi_checksum(dsdt, dsdt->length);
+       dsdt->checksum = acpi_checksum((u8 *)dsdt, dsdt->length);
        printk(BIOS_DEBUG, "ACPI:     * DSDT @ %p Length %x\n", dsdt,
                     dsdt->length);
        printk(BIOS_DEBUG, "ACPI:     * FADT\n");
@@ -198,7 +198,7 @@ unsigned long write_acpi_tables(unsigned long start)
        printk(BIOS_DEBUG, "ACPI:    * SSDT\n");
        ssdt = (acpi_header_t *)current;
 
-       acpi_create_ssdt_generator(ssdt, "DYNADATA");
+       acpi_create_ssdt_generator(ssdt, ACPI_TABLE_CREATOR);
        current += ssdt->length;
        acpi_add_table(rsdp, ssdt);