Move the ACPI FACP table to the front of the RSDT list. This is done to work around...
authorScott Duplichan <scott@notabs.org>
Fri, 20 May 2011 00:06:09 +0000 (00:06 +0000)
committerScott Duplichan <scott@notabs.org>
Fri, 20 May 2011 00:06:09 +0000 (00:06 +0000)
Signed-off-by: Scott Duplichan <scott@notabs.org>
Acked-by: Marc Jones <marcj303@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6600 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

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

index 9780dfd59c111c67d2eedef6264b028522096148..7be5aaa008e00ddd3fd0506fab7324a735a7bff2 100644 (file)
@@ -127,6 +127,31 @@ unsigned long write_acpi_tables(unsigned long start)
        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 @@ unsigned long write_acpi_tables(unsigned long start)
        }
 #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));
index f960e6946f74739ab30ee8b67740d4b9c99063d9..f9fb4165f782e9e8e2c5529016df09e0314c18d3 100644 (file)
@@ -129,6 +129,27 @@ unsigned long write_acpi_tables(unsigned long start)
        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 @@ unsigned long write_acpi_tables(unsigned long start)
        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));
index da08a79a052cc9410f488989bccca60c5f1a4fa8..4c084e0aba784217503b23ea412c274b6bb21b0b 100644 (file)
@@ -133,6 +133,31 @@ unsigned long write_acpi_tables(unsigned long start)
   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 @@ unsigned long write_acpi_tables(unsigned long start)
 
   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));
index da6571d58ef538b05e669e3626ebbfd2dbe27c34..ebd2546aefc48c19bda83d92f36db82b87e5395d 100644 (file)
@@ -140,6 +140,27 @@ unsigned long write_acpi_tables(unsigned long start)
        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 @@ unsigned long write_acpi_tables(unsigned long start)
        }
 #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));
index 1cb39adea696565fe5f6c8aa240ee4d6ffc1ff85..74f5612de16795f973ce2a4e221ba49dcf814f79 100644 (file)
@@ -126,6 +126,31 @@ unsigned long write_acpi_tables(unsigned long start)
        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 @@ unsigned long write_acpi_tables(unsigned long start)
        }
 #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));
index 20b0dc2f60eff1560c66f972c195da2151986d52..189c1041b123e1fe615f6ba62dba5372598aaa1f 100644 (file)
@@ -129,6 +129,31 @@ unsigned long write_acpi_tables(unsigned long start)
   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 @@ unsigned long write_acpi_tables(unsigned long start)
 
   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));
index bdf652bd3b8a3fabc33b19f5cb3bde13e11c58f8..55db92396356c2da187f273689da173943838285 100644 (file)
@@ -129,6 +129,28 @@ unsigned long write_acpi_tables(unsigned long start)
        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 @@ unsigned long write_acpi_tables(unsigned long start)
        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));
index 26c341a11ae226c573fed9c2cd97c27841df9f05..7a0478d63416af087f9ed7437d0b4cdacd28f206 100644 (file)
@@ -191,6 +191,28 @@ unsigned long write_acpi_tables(unsigned long start)
        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 @@ unsigned long write_acpi_tables(unsigned long start)
        }
 #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));
index 11455a534c2a929f0dd06546429eb13a7b0dac17..87cadc02ff6e38a2c659ea6cf0513ef6f792cab6 100644 (file)
@@ -197,6 +197,31 @@ unsigned long write_acpi_tables(unsigned long start)
        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 @@ unsigned long write_acpi_tables(unsigned long start)
        }
 #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));
index 1b2ea6e3cb46487be1469c7aacff01b7def4a242..4e10d5ba89781e7b52d4ec748dbdfdd082d21e8e 100644 (file)
@@ -127,6 +127,31 @@ unsigned long write_acpi_tables(unsigned long start)
        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 @@ unsigned long write_acpi_tables(unsigned long start)
        }
 #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));