summaryrefslogtreecommitdiff
path: root/src/mainboard/amd/serengeti_cheetah
diff options
context:
space:
mode:
authorMyles Watson <mylesgw@gmail.com>2010-03-24 22:02:53 +0000
committerMyles Watson <mylesgw@gmail.com>2010-03-24 22:02:53 +0000
commit565a281f3696bf6252fe3153f4b680db85fe7906 (patch)
treef9ae61466b69b7a06bbe9938e97af2e82dbb5337 /src/mainboard/amd/serengeti_cheetah
parentd1149d7ef13ba63baac89dfe687bdd01e93f79ca (diff)
downloadcoreboot-565a281f3696bf6252fe3153f4b680db85fe7906.tar.xz
Get rid of type-punned pointer errors.
Defining AmlCode differently in different source files is a bit ugly... Creating a void * to do the casting is not exactly beautiful either... Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5286 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard/amd/serengeti_cheetah')
-rw-r--r--src/mainboard/amd/serengeti_cheetah/acpi_tables.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/mainboard/amd/serengeti_cheetah/acpi_tables.c b/src/mainboard/amd/serengeti_cheetah/acpi_tables.c
index 15db99bed6..81e8a82936 100644
--- a/src/mainboard/amd/serengeti_cheetah/acpi_tables.c
+++ b/src/mainboard/amd/serengeti_cheetah/acpi_tables.c
@@ -38,11 +38,11 @@ static void dump_mem(unsigned start, unsigned end)
}
#endif
-extern unsigned char AmlCode[];
+extern const acpi_header_t AmlCode;
#if CONFIG_ACPI_SSDTX_NUM >= 1
-extern unsigned char AmlCode_ssdt2[];
-extern unsigned char AmlCode_ssdt3[];
-extern unsigned char AmlCode_ssdt4[];
+extern const acpi_header_t AmlCode_ssdt2;
+extern const acpi_header_t AmlCode_ssdt3;
+extern const acpi_header_t AmlCode_ssdt4;
#endif
#define IO_APIC_ADDR 0xfec00000UL
@@ -198,7 +198,7 @@ unsigned long write_acpi_tables(unsigned long start)
acpi_header_t *dsdt;
acpi_header_t *ssdt;
acpi_header_t *ssdtx;
- unsigned char *p;
+ acpi_header_t const *p;
int i;
@@ -279,13 +279,13 @@ unsigned long write_acpi_tables(unsigned long start)
ssdtx = (acpi_header_t *)current;
switch(sysconf.hcid[i]) {
case 1: //8132
- p = AmlCode_ssdt2;
+ p = &AmlCode_ssdt2;
break;
case 2: //8151
- p = AmlCode_ssdt3;
+ p = &AmlCode_ssdt3;
break;
case 3: //8131
- p = AmlCode_ssdt4;
+ p = &AmlCode_ssdt4;
break;
default:
continue;
@@ -308,9 +308,8 @@ unsigned long write_acpi_tables(unsigned long start)
/* DSDT */
printk(BIOS_DEBUG, "ACPI: * DSDT\n");
dsdt = (acpi_header_t *)current;
- current += ((acpi_header_t *)AmlCode)->length;
- memcpy((void *)dsdt,(void *)AmlCode, \
- ((acpi_header_t *)AmlCode)->length);
+ current += AmlCode.length;
+ memcpy((void *)dsdt, &AmlCode, AmlCode.length);
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
/* FDAT */