Use default table creator macro for all SSDTs
[coreboot.git] / src / mainboard / msi / ms9652_fam10 / acpi_tables.c
index d2e3997fe6d184f0a2a3dbf876ce99d3f64fd830..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,
@@ -123,7 +123,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;
@@ -138,7 +138,7 @@ unsigned long write_acpi_tables(unsigned long start)
        acpi_write_rsdt(rsdt);
 
        /* We explicitly add these tables later on: */
-       printk_debug("ACPI:     * FACS\n");
+       printk(BIOS_DEBUG, "ACPI:     * FACS\n");
 
        /* we should align FACS to 64B as per ACPI specs */
        current = ALIGN(current, 64);
@@ -147,14 +147,14 @@ 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);
-       printk_debug("ACPI:     * DSDT @ %p Length %x\n", dsdt,
+       dsdt->checksum = acpi_checksum((u8 *)dsdt, dsdt->length);
+       printk(BIOS_DEBUG, "ACPI:     * DSDT @ %p Length %x\n", dsdt,
                     dsdt->length);
-       printk_debug("ACPI:     * FADT\n");
+       printk(BIOS_DEBUG, "ACPI:     * FADT\n");
 
        fadt = (acpi_fadt_t *) current;
        current += sizeof(acpi_fadt_t);
@@ -162,46 +162,46 @@ unsigned long write_acpi_tables(unsigned long start)
        acpi_create_fadt(fadt, facs, dsdt);
        acpi_add_table(rsdp, fadt);
 
-       printk_debug("ACPI:    * HPET\n");
+       printk(BIOS_DEBUG, "ACPI:    * HPET\n");
        hpet = (acpi_hpet_t *) current;
        current += sizeof(acpi_hpet_t);
        acpi_create_hpet(hpet);
        acpi_add_table(rsdp, hpet);
 
        /* If we want to use HPET timers Linux wants an MADT. */
-       printk_debug("ACPI:    * MADT\n");
+       printk(BIOS_DEBUG, "ACPI:    * MADT\n");
        madt = (acpi_madt_t *) current;
        acpi_create_madt(madt);
        current += madt->header.length;
        acpi_add_table(rsdp, madt);
 
-       printk_debug("ACPI:    * MCFG\n");
+       printk(BIOS_DEBUG, "ACPI:    * MCFG\n");
        mcfg = (acpi_mcfg_t *) current;
        acpi_create_mcfg(mcfg);
        current += mcfg->header.length;
        acpi_add_table(rsdp, mcfg);
 
-       printk_debug("ACPI:    * SRAT\n");
+       printk(BIOS_DEBUG, "ACPI:    * SRAT\n");
        srat = (acpi_srat_t *) current;
        acpi_create_srat(srat);
        current += srat->header.length;
        acpi_add_table(rsdp, srat);
 
        /* SLIT */
-       printk_debug("ACPI:    * SLIT\n");
+       printk(BIOS_DEBUG, "ACPI:    * SLIT\n");
        slit = (acpi_slit_t *) current;
        acpi_create_slit(slit);
        current+=slit->header.length;
        acpi_add_table(rsdp, slit);
 
        /* SSDT */
-       printk_debug("ACPI:    * SSDT\n");
+       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);
 
-       printk_info("ACPI: done.\n");
+       printk(BIOS_INFO, "ACPI: done.\n");
        return current;
 }