diff options
Diffstat (limited to 'src/arch/x86/boot/tables.c')
-rw-r--r-- | src/arch/x86/boot/tables.c | 6 |
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"); } |