Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11088
-gerrit
commit 49ec5873e814d2d2eac121823df13c33c8c4f986 Author: Stefan Reinauer reinauer@chromium.org Date: Thu Jul 30 16:28:13 2015 -0700
acpi: 64bit fixes
Change-Id: I5d0c95af7d35115b5ac4141489caceef4ee1c8bb Signed-off-by: Stefan Reinauer stefan.reinauer@coreboot.org --- src/arch/x86/acpi.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c index 134e437..2194c48 100644 --- a/src/arch/x86/acpi.c +++ b/src/arch/x86/acpi.c @@ -1051,13 +1051,13 @@ void *acpi_find_wakeup_vector(void) return NULL;
printk(BIOS_DEBUG, "RSDP found at %p\n", rsdp); - rsdt = (acpi_rsdt_t *) rsdp->rsdt_address; + rsdt = (acpi_rsdt_t *)(uintptr_t)rsdp->rsdt_address;
end = (char *)rsdt + rsdt->header.length; printk(BIOS_DEBUG, "RSDT found at %p ends at %p\n", rsdt, end);
for (i = 0; ((char *)&rsdt->entry[i]) < end; i++) { - fadt = (acpi_fadt_t *)rsdt->entry[i]; + fadt = (acpi_fadt_t *)(uintptr_t)rsdt->entry[i]; if (strncmp((char *)fadt, "FACP", 4) == 0) break; fadt = NULL; @@ -1067,7 +1067,7 @@ void *acpi_find_wakeup_vector(void) return NULL;
printk(BIOS_DEBUG, "FADT found at %p\n", fadt); - facs = (acpi_facs_t *)fadt->firmware_ctrl; + facs = (acpi_facs_t *)(uintptr_t)fadt->firmware_ctrl;
if (facs == NULL) { printk(BIOS_DEBUG, "No FACS found, wake up from S3 not " @@ -1076,7 +1076,7 @@ void *acpi_find_wakeup_vector(void) }
printk(BIOS_DEBUG, "FACS found at %p\n", facs); - wake_vec = (void *)facs->firmware_waking_vector; + wake_vec = (void *)(uintptr_t)facs->firmware_waking_vector; printk(BIOS_DEBUG, "OS waking vector is %p\n", wake_vec);
return wake_vec; @@ -1090,7 +1090,7 @@ extern int lowmem_backup_size;
#define WAKEUP_BASE 0x600
-void (*acpi_do_wakeup)(u32 vector, u32 backup_source, u32 backup_target, +void (*acpi_do_wakeup)(uintptr_t vector, u32 backup_source, u32 backup_target, u32 backup_size) asmlinkage = (void *)WAKEUP_BASE;
extern unsigned char __wakeup; @@ -1098,10 +1098,10 @@ extern unsigned int __wakeup_size;
void acpi_jump_to_wakeup(void *vector) { - u32 acpi_backup_memory = 0; + uintptr_t acpi_backup_memory = 0;
if (HIGH_MEMORY_SAVE && acpi_s3_resume_allowed()) { - acpi_backup_memory = (u32)cbmem_find(CBMEM_ID_RESUME); + acpi_backup_memory = (uintptr_t)cbmem_find(CBMEM_ID_RESUME);
if (!acpi_backup_memory) { printk(BIOS_WARNING, "ACPI: Backup memory missing. " @@ -1124,7 +1124,7 @@ void acpi_jump_to_wakeup(void *vector)
timestamp_add_now(TS_ACPI_WAKE_JUMP);
- acpi_do_wakeup((u32)vector, acpi_backup_memory, CONFIG_RAMBASE, + acpi_do_wakeup((uintptr_t)vector, acpi_backup_memory, CONFIG_RAMBASE, HIGH_MEMORY_SAVE); } #endif