Copy acpi blobs in two parts to make sure gcc does the right thing.

Signed-off-by: Myles Watson <mylesgw@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5384 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Myles Watson
2010-04-09 03:41:23 +00:00
parent e64b63750f
commit ae60855f91
27 changed files with 185 additions and 148 deletions

View File

@@ -57,7 +57,7 @@ static void dump_mem(u32 start, u32 end)
}
#endif
extern const acpi_header_t AmlCode;
extern const unsigned char AmlCode[];
#define IO_APIC_ADDR 0xfec00000UL
@@ -187,8 +187,9 @@ unsigned long write_acpi_tables(unsigned long start)
/* DSDT */
printk(BIOS_DEBUG, "ACPI: * DSDT\n");
dsdt = (acpi_header_t *)current;
current += AmlCode.length;
memcpy((void *)dsdt, &AmlCode, 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);
/* FADT */
printk(BIOS_DEBUG, "ACPI: * FADT\n");