Author: Sduplichan
Date: Fri May 20 02:06:09 2011
New Revision: 6600
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6600

Log:
Move the ACPI FACP table to the front of the RSDT list. This is done to work 
around a Windows XP or Server 2003 setup failure where an error message such 
as: "An unexpected error (805262864) occurred at line 1768 of 
d:\xpclient\base\boot\setup\arcdisp.c" occurs. This change updates AMD 
reference board projects, but could applied to others as well.

Signed-off-by: Scott Duplichan <[email protected]>
Acked-by: Marc Jones <[email protected]>

Modified:
   trunk/src/mainboard/amd/bimini_fam10/acpi_tables.c
   trunk/src/mainboard/amd/dbm690t/acpi_tables.c
   trunk/src/mainboard/amd/inagua/acpi_tables.c
   trunk/src/mainboard/amd/mahogany/acpi_tables.c
   trunk/src/mainboard/amd/mahogany_fam10/acpi_tables.c
   trunk/src/mainboard/amd/persimmon/acpi_tables.c
   trunk/src/mainboard/amd/pistachio/acpi_tables.c
   trunk/src/mainboard/amd/serengeti_cheetah/acpi_tables.c
   trunk/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
   trunk/src/mainboard/amd/tilapia_fam10/acpi_tables.c

Modified: trunk/src/mainboard/amd/bimini_fam10/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/bimini_fam10/acpi_tables.c  Mon May 16 17:32:28 
2011        (r6599)
+++ trunk/src/mainboard/amd/bimini_fam10/acpi_tables.c  Fri May 20 02:06:09 
2011        (r6600)
@@ -127,6 +127,31 @@
        acpi_write_rsdp(rsdp, rsdt, NULL);
        acpi_write_rsdt(rsdt);
 
+       /* DSDT */
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
+       dsdt = (acpi_header_t *)current; // it will used by fadt
+       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);
+
+       /* FACS */ // it needs 64 bit alignment
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:       * FACS at %lx\n", current);
+       facs = (acpi_facs_t *) current; // it will be used by fadt
+       current += sizeof(acpi_facs_t);
+       acpi_create_facs(facs);
+
+       /* FADT */
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
+       fadt = (acpi_fadt_t *) current;
+       current += sizeof(acpi_fadt_t);
+
+       acpi_create_fadt(fadt, facs, dsdt);
+       acpi_add_table(rsdp, fadt);
+
        /*
         * We explicitly add these tables later on:
         */
@@ -219,31 +244,6 @@
        }
 #endif
 
-       /* DSDT */
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
-       dsdt = (acpi_header_t *)current; // it will used by fadt
-       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);
-
-       /* FACS */ // it needs 64 bit alignment
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:       * FACS at %lx\n", current);
-       facs = (acpi_facs_t *) current; // it will be used by fadt
-       current += sizeof(acpi_facs_t);
-       acpi_create_facs(facs);
-
-       /* FADT */
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
-       fadt = (acpi_fadt_t *) current;
-       current += sizeof(acpi_fadt_t);
-
-       acpi_create_fadt(fadt, facs, dsdt);
-       acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
        printk(BIOS_DEBUG, "rsdp\n");
        dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

Modified: trunk/src/mainboard/amd/dbm690t/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/dbm690t/acpi_tables.c       Mon May 16 17:32:28 
2011        (r6599)
+++ trunk/src/mainboard/amd/dbm690t/acpi_tables.c       Fri May 20 02:06:09 
2011        (r6600)
@@ -129,6 +129,27 @@
        acpi_write_rsdp(rsdp, rsdt, NULL);
        acpi_write_rsdt(rsdt);
 
+       /* FACS */
+       printk(BIOS_DEBUG, "ACPI:    * FACS\n");
+       facs = (acpi_facs_t *) current;
+       current += sizeof(acpi_facs_t);
+       acpi_create_facs(facs);
+
+       /* DSDT */
+       printk(BIOS_DEBUG, "ACPI:    * DSDT\n");
+       dsdt = (acpi_header_t *)current;
+       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);
+       /* FADT */
+       printk(BIOS_DEBUG, "ACPI:    * FADT\n");
+       fadt = (acpi_fadt_t *) current;
+       current += sizeof(acpi_fadt_t);
+
+       acpi_create_fadt(fadt, facs, dsdt);
+       acpi_add_table(rsdp, fadt);
+
        /*
         * We explicitly add these tables later on:
         */
@@ -153,27 +174,6 @@
        current += ssdt->length;
        acpi_add_table(rsdp, ssdt);
 
-       /* FACS */
-       printk(BIOS_DEBUG, "ACPI:    * FACS\n");
-       facs = (acpi_facs_t *) current;
-       current += sizeof(acpi_facs_t);
-       acpi_create_facs(facs);
-
-       /* DSDT */
-       printk(BIOS_DEBUG, "ACPI:    * DSDT\n");
-       dsdt = (acpi_header_t *)current;
-       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);
-       /* FADT */
-       printk(BIOS_DEBUG, "ACPI:    * FADT\n");
-       fadt = (acpi_fadt_t *) current;
-       current += sizeof(acpi_fadt_t);
-
-       acpi_create_fadt(fadt, facs, dsdt);
-       acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
        printk(BIOS_DEBUG, "rsdp\n");
        dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

Modified: trunk/src/mainboard/amd/inagua/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/inagua/acpi_tables.c        Mon May 16 17:32:28 
2011        (r6599)
+++ trunk/src/mainboard/amd/inagua/acpi_tables.c        Fri May 20 02:06:09 
2011        (r6600)
@@ -133,6 +133,31 @@
   acpi_write_rsdp(rsdp, rsdt, NULL);
   acpi_write_rsdt(rsdt);
 
+  /* DSDT */
+  current   = ( current + 0x07) & -0x08;
+  printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
+  dsdt = (acpi_header_t *)current; // it will used by fadt
+  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);
+
+  /* FACS */ // it needs 64 bit alignment
+  current   = ( current + 0x07) & -0x08;
+  printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
+  facs = (acpi_facs_t *) current; // it will be used by fadt
+  current += sizeof(acpi_facs_t);
+  acpi_create_facs(facs);
+
+  /* FADT */
+  current   = ( current + 0x07) & -0x08;
+  printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
+  fadt = (acpi_fadt_t *) current;
+  current += sizeof(acpi_fadt_t);
+
+  acpi_create_fadt(fadt, facs, dsdt);
+  acpi_add_table(rsdp, fadt);
+
   /*
    * We explicitly add these tables later on:
    */
@@ -199,31 +224,6 @@
 
   printk(BIOS_DEBUG, "ACPI:    * SSDT for PState at %lx\n", current);
 
-  /* DSDT */
-  current   = ( current + 0x07) & -0x08;
-  printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
-  dsdt = (acpi_header_t *)current; // it will used by fadt
-  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);
-
-  /* FACS */ // it needs 64 bit alignment
-  current   = ( current + 0x07) & -0x08;
-  printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
-  facs = (acpi_facs_t *) current; // it will be used by fadt
-  current += sizeof(acpi_facs_t);
-  acpi_create_facs(facs);
-
-  /* FADT */
-  current   = ( current + 0x07) & -0x08;
-  printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
-  fadt = (acpi_fadt_t *) current;
-  current += sizeof(acpi_fadt_t);
-
-  acpi_create_fadt(fadt, facs, dsdt);
-  acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
   printk(BIOS_DEBUG, "rsdp\n");
   dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

Modified: trunk/src/mainboard/amd/mahogany/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/mahogany/acpi_tables.c      Mon May 16 17:32:28 
2011        (r6599)
+++ trunk/src/mainboard/amd/mahogany/acpi_tables.c      Fri May 20 02:06:09 
2011        (r6600)
@@ -140,6 +140,27 @@
        acpi_write_rsdp(rsdp, rsdt, NULL);
        acpi_write_rsdt(rsdt);
 
+       /* FACS */
+       printk(BIOS_DEBUG, "ACPI:    * FACS\n");
+       facs = (acpi_facs_t *) current;
+       current += sizeof(acpi_facs_t);
+       acpi_create_facs(facs);
+
+       /* DSDT */
+       printk(BIOS_DEBUG, "ACPI:    * DSDT\n");
+       dsdt = (acpi_header_t *)current;
+       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);
+       /* FADT */
+       printk(BIOS_DEBUG, "ACPI:    * FADT\n");
+       fadt = (acpi_fadt_t *) current;
+       current += sizeof(acpi_fadt_t);
+
+       acpi_create_fadt(fadt, facs, dsdt);
+       acpi_add_table(rsdp, fadt);
+
        /*
         * We explicitly add these tables later on:
         */
@@ -205,27 +226,6 @@
        }
 #endif
 
-       /* FACS */
-       printk(BIOS_DEBUG, "ACPI:    * FACS\n");
-       facs = (acpi_facs_t *) current;
-       current += sizeof(acpi_facs_t);
-       acpi_create_facs(facs);
-
-       /* DSDT */
-       printk(BIOS_DEBUG, "ACPI:    * DSDT\n");
-       dsdt = (acpi_header_t *)current;
-       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);
-       /* FADT */
-       printk(BIOS_DEBUG, "ACPI:    * FADT\n");
-       fadt = (acpi_fadt_t *) current;
-       current += sizeof(acpi_fadt_t);
-
-       acpi_create_fadt(fadt, facs, dsdt);
-       acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
        printk(BIOS_DEBUG, "rsdp\n");
        dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

Modified: trunk/src/mainboard/amd/mahogany_fam10/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/mahogany_fam10/acpi_tables.c        Mon May 16 
17:32:28 2011        (r6599)
+++ trunk/src/mainboard/amd/mahogany_fam10/acpi_tables.c        Fri May 20 
02:06:09 2011        (r6600)
@@ -126,6 +126,31 @@
        acpi_write_rsdp(rsdp, rsdt, NULL);
        acpi_write_rsdt(rsdt);
 
+       /* DSDT */
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
+       dsdt = (acpi_header_t *)current; // it will used by fadt
+       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);
+
+       /* FACS */ // it needs 64 bit alignment
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:       * FACS at %lx\n", current);
+       facs = (acpi_facs_t *) current; // it will be used by fadt
+       current += sizeof(acpi_facs_t);
+       acpi_create_facs(facs);
+
+       /* FADT */
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
+       fadt = (acpi_fadt_t *) current;
+       current += sizeof(acpi_fadt_t);
+
+       acpi_create_fadt(fadt, facs, dsdt);
+       acpi_add_table(rsdp, fadt);
+
        /*
         * We explicitly add these tables later on:
         */
@@ -218,31 +243,6 @@
        }
 #endif
 
-       /* DSDT */
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
-       dsdt = (acpi_header_t *)current; // it will used by fadt
-       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);
-
-       /* FACS */ // it needs 64 bit alignment
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:       * FACS at %lx\n", current);
-       facs = (acpi_facs_t *) current; // it will be used by fadt
-       current += sizeof(acpi_facs_t);
-       acpi_create_facs(facs);
-
-       /* FADT */
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
-       fadt = (acpi_fadt_t *) current;
-       current += sizeof(acpi_fadt_t);
-
-       acpi_create_fadt(fadt, facs, dsdt);
-       acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
        printk(BIOS_DEBUG, "rsdp\n");
        dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

Modified: trunk/src/mainboard/amd/persimmon/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/persimmon/acpi_tables.c     Mon May 16 17:32:28 
2011        (r6599)
+++ trunk/src/mainboard/amd/persimmon/acpi_tables.c     Fri May 20 02:06:09 
2011        (r6600)
@@ -129,6 +129,31 @@
   acpi_write_rsdp(rsdp, rsdt, NULL);
   acpi_write_rsdt(rsdt);
 
+  /* DSDT */
+  current   = ( current + 0x07) & -0x08;
+  printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
+  dsdt = (acpi_header_t *)current; // it will used by fadt
+  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);
+
+  /* FACS */ // it needs 64 bit alignment
+  current   = ( current + 0x07) & -0x08;
+  printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
+  facs = (acpi_facs_t *) current; // it will be used by fadt
+  current += sizeof(acpi_facs_t);
+  acpi_create_facs(facs);
+
+  /* FDAT */
+  current   = ( current + 0x07) & -0x08;
+  printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
+  fadt = (acpi_fadt_t *) current;
+  current += sizeof(acpi_fadt_t);
+
+  acpi_create_fadt(fadt, facs, dsdt);
+  acpi_add_table(rsdp, fadt);
+
   /*
    * We explicitly add these tables later on:
    */
@@ -193,31 +218,6 @@
 
   printk(BIOS_DEBUG, "ACPI:    * SSDT for PState at %lx\n", current);
 
-  /* DSDT */
-  current   = ( current + 0x07) & -0x08;
-  printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
-  dsdt = (acpi_header_t *)current; // it will used by fadt
-  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);
-
-  /* FACS */ // it needs 64 bit alignment
-  current   = ( current + 0x07) & -0x08;
-  printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
-  facs = (acpi_facs_t *) current; // it will be used by fadt
-  current += sizeof(acpi_facs_t);
-  acpi_create_facs(facs);
-
-  /* FDAT */
-  current   = ( current + 0x07) & -0x08;
-  printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
-  fadt = (acpi_fadt_t *) current;
-  current += sizeof(acpi_fadt_t);
-
-  acpi_create_fadt(fadt, facs, dsdt);
-  acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
   printk(BIOS_DEBUG, "rsdp\n");
   dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

Modified: trunk/src/mainboard/amd/pistachio/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/pistachio/acpi_tables.c     Mon May 16 17:32:28 
2011        (r6599)
+++ trunk/src/mainboard/amd/pistachio/acpi_tables.c     Fri May 20 02:06:09 
2011        (r6600)
@@ -129,6 +129,28 @@
        acpi_write_rsdp(rsdp, rsdt, NULL);
        acpi_write_rsdt(rsdt);
 
+       /* FACS */
+       printk(BIOS_DEBUG, "ACPI:    * FACS\n");
+       facs = (acpi_facs_t *) current;
+       current += sizeof(acpi_facs_t);
+       acpi_create_facs(facs);
+
+       /* DSDT */
+       printk(BIOS_DEBUG, "ACPI:    * DSDT\n");
+       dsdt = (acpi_header_t *) current;
+       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);
+       /* FADT */
+       printk(BIOS_DEBUG, "ACPI:    * FADT\n");
+       fadt = (acpi_fadt_t *) current;
+       current += sizeof(acpi_fadt_t);
+
+       acpi_create_fadt(fadt, facs, dsdt);
+       acpi_add_table(rsdp, fadt);
+
        /*
         * We explicitly add these tables later on:
         */
@@ -153,28 +175,6 @@
        current += ssdt->length;
        acpi_add_table(rsdp, ssdt);
 
-       /* FACS */
-       printk(BIOS_DEBUG, "ACPI:    * FACS\n");
-       facs = (acpi_facs_t *) current;
-       current += sizeof(acpi_facs_t);
-       acpi_create_facs(facs);
-
-       /* DSDT */
-       printk(BIOS_DEBUG, "ACPI:    * DSDT\n");
-       dsdt = (acpi_header_t *) current;
-       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);
-       /* FADT */
-       printk(BIOS_DEBUG, "ACPI:    * FADT\n");
-       fadt = (acpi_fadt_t *) current;
-       current += sizeof(acpi_fadt_t);
-
-       acpi_create_fadt(fadt, facs, dsdt);
-       acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
        printk(BIOS_DEBUG, "rsdp\n");
        dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

Modified: trunk/src/mainboard/amd/serengeti_cheetah/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/serengeti_cheetah/acpi_tables.c     Mon May 16 
17:32:28 2011        (r6599)
+++ trunk/src/mainboard/amd/serengeti_cheetah/acpi_tables.c     Fri May 20 
02:06:09 2011        (r6600)
@@ -191,6 +191,28 @@
        acpi_write_rsdp(rsdp, rsdt, NULL);
        acpi_write_rsdt(rsdt);
 
+       /* FACS */
+       printk(BIOS_DEBUG, "ACPI:    * FACS\n");
+       facs = (acpi_facs_t *) current;
+       current += sizeof(acpi_facs_t);
+       acpi_create_facs(facs);
+
+       /* DSDT */
+       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
+       dsdt = (acpi_header_t *)current;
+       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);
+
+       /* FADT */
+       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
+       fadt = (acpi_fadt_t *) current;
+       current += sizeof(acpi_fadt_t);
+
+       acpi_create_fadt(fadt, facs, dsdt);
+       acpi_add_table(rsdp, fadt);
+
        /*
         * We explicitly add these tables later on:
         */
@@ -268,28 +290,6 @@
        }
 #endif
 
-       /* FACS */
-       printk(BIOS_DEBUG, "ACPI:    * FACS\n");
-       facs = (acpi_facs_t *) current;
-       current += sizeof(acpi_facs_t);
-       acpi_create_facs(facs);
-
-       /* DSDT */
-       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
-       dsdt = (acpi_header_t *)current;
-       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);
-
-       /* FADT */
-       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
-       fadt = (acpi_fadt_t *) current;
-       current += sizeof(acpi_fadt_t);
-
-       acpi_create_fadt(fadt, facs, dsdt);
-       acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
        printk(BIOS_DEBUG, "rsdp\n");
        dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

Modified: trunk/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c       Mon May 
16 17:32:28 2011        (r6599)
+++ trunk/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c       Fri May 
20 02:06:09 2011        (r6600)
@@ -197,6 +197,31 @@
        acpi_write_rsdp(rsdp, rsdt, NULL);
        acpi_write_rsdt(rsdt);
 
+       /* DSDT */
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
+       dsdt = (acpi_header_t *)current;
+       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);
+
+       /* FACS */ // it needs 64 bit alignment
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:       * FACS at %lx\n", current);
+       facs = (acpi_facs_t *) current;
+       current += sizeof(acpi_facs_t);
+       acpi_create_facs(facs);
+
+       /* FADT */
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
+       fadt = (acpi_fadt_t *) current;
+       current += sizeof(acpi_fadt_t);
+
+       acpi_create_fadt(fadt, facs, dsdt);
+       acpi_add_table(rsdp, fadt);
+
        /*
         * We explicitly add these tables later on:
         */
@@ -289,31 +314,6 @@
        }
 #endif
 
-       /* DSDT */
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
-       dsdt = (acpi_header_t *)current;
-       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);
-
-       /* FACS */ // it needs 64 bit alignment
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:       * FACS at %lx\n", current);
-       facs = (acpi_facs_t *) current;
-       current += sizeof(acpi_facs_t);
-       acpi_create_facs(facs);
-
-       /* FADT */
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
-       fadt = (acpi_fadt_t *) current;
-       current += sizeof(acpi_fadt_t);
-
-       acpi_create_fadt(fadt, facs, dsdt);
-       acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
        printk(BIOS_DEBUG, "rsdp\n");
        dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

Modified: trunk/src/mainboard/amd/tilapia_fam10/acpi_tables.c
==============================================================================
--- trunk/src/mainboard/amd/tilapia_fam10/acpi_tables.c Mon May 16 17:32:28 
2011        (r6599)
+++ trunk/src/mainboard/amd/tilapia_fam10/acpi_tables.c Fri May 20 02:06:09 
2011        (r6600)
@@ -127,6 +127,31 @@
        acpi_write_rsdp(rsdp, rsdt, NULL);
        acpi_write_rsdt(rsdt);
 
+       /* DSDT */
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
+       dsdt = (acpi_header_t *)current; // it will used by fadt
+       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);
+
+       /* FACS */ // it needs 64 bit alignment
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:       * FACS at %lx\n", current);
+       facs = (acpi_facs_t *) current; // it will be used by fadt
+       current += sizeof(acpi_facs_t);
+       acpi_create_facs(facs);
+
+       /* FADT */
+       current   = ( current + 0x07) & -0x08;
+       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
+       fadt = (acpi_fadt_t *) current;
+       current += sizeof(acpi_fadt_t);
+
+       acpi_create_fadt(fadt, facs, dsdt);
+       acpi_add_table(rsdp, fadt);
+
        /*
         * We explicitly add these tables later on:
         */
@@ -219,31 +244,6 @@
        }
 #endif
 
-       /* DSDT */
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:    * DSDT at %lx\n", current);
-       dsdt = (acpi_header_t *)current; // it will used by fadt
-       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);
-
-       /* FACS */ // it needs 64 bit alignment
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:       * FACS at %lx\n", current);
-       facs = (acpi_facs_t *) current; // it will be used by fadt
-       current += sizeof(acpi_facs_t);
-       acpi_create_facs(facs);
-
-       /* FADT */
-       current   = ( current + 0x07) & -0x08;
-       printk(BIOS_DEBUG, "ACPI:    * FADT at %lx\n", current);
-       fadt = (acpi_fadt_t *) current;
-       current += sizeof(acpi_fadt_t);
-
-       acpi_create_fadt(fadt, facs, dsdt);
-       acpi_add_table(rsdp, fadt);
-
 #if DUMP_ACPI_TABLES == 1
        printk(BIOS_DEBUG, "rsdp\n");
        dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to