summaryrefslogtreecommitdiff
path: root/src/arch/x86/boot/tables.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/boot/tables.c')
-rw-r--r--src/arch/x86/boot/tables.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/x86/boot/tables.c b/src/arch/x86/boot/tables.c
index ca98faa103..3d645633f0 100644
--- a/src/arch/x86/boot/tables.c
+++ b/src/arch/x86/boot/tables.c
@@ -147,9 +147,9 @@ void write_tables(void)
acpi_rsdp_t *low_rsdp = (acpi_rsdp_t *)rom_table_end,
*high_rsdp = (acpi_rsdp_t *)acpi_start;
- acpi_write_rsdp(low_rsdp,
- (acpi_rsdt_t *)(high_rsdp->rsdt_address),
- (acpi_xsdt_t *)((unsigned long)high_rsdp->xsdt_address));
+ /* Technically rsdp length varies but coreboot always
+ writes longest size available. */
+ memcpy(low_rsdp, high_rsdp, sizeof(acpi_rsdp_t));
} else {
printk(BIOS_ERR, "ERROR: Didn't find RSDP in high table.\n");
}