diff options
Diffstat (limited to 'src/arch/x86/tables.c')
-rw-r--r-- | src/arch/x86/tables.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/arch/x86/tables.c b/src/arch/x86/tables.c index ddb0710c8a..8ecf86dc3f 100644 --- a/src/arch/x86/tables.c +++ b/src/arch/x86/tables.c @@ -194,41 +194,6 @@ static unsigned long write_smbios_table(unsigned long rom_table_end) #define FORWARDING_TABLE_ADDR ((uintptr_t)0x500) static uintptr_t forwarding_table = FORWARDING_TABLE_ADDR; -/* - * For EARLY_EBDA_INIT the BDA area will be wiped on the resume path which - * has the forwarding table entry. Therefore, when tables are written an - * entry is placed in cbmem that can be restored on OS resume to the proper - * location. - */ -static void stash_forwarding_table(uintptr_t addr, size_t sz) -{ - void *cbmem_addr = cbmem_add(CBMEM_ID_CBTABLE_FWD, sz); - - if (cbmem_addr == NULL) { - printk(BIOS_ERR, "Unable to allocate CBMEM forwarding entry.\n"); - return; - } - - memcpy(cbmem_addr, (void *)addr, sz); -} - -static void restore_forwarding_table(void *dest) -{ - const struct cbmem_entry *fwd_entry; - - fwd_entry = cbmem_entry_find(CBMEM_ID_CBTABLE_FWD); - - if (fwd_entry == NULL) { - printk(BIOS_ERR, "Unable to restore CBMEM forwarding entry.\n"); - return; - } - - memcpy(dest, cbmem_entry_start(fwd_entry), cbmem_entry_size(fwd_entry)); -} - -BOOT_STATE_INIT_ENTRY(BS_OS_RESUME, BS_ON_ENTRY, - restore_forwarding_table, (void *)FORWARDING_TABLE_ADDR); - void arch_write_tables(uintptr_t coreboot_table) { size_t sz; @@ -250,8 +215,6 @@ void arch_write_tables(uintptr_t coreboot_table) sz = write_coreboot_forwarding_table(forwarding_table, coreboot_table); - stash_forwarding_table(forwarding_table, sz); - forwarding_table += sz; /* Align up to page boundary for historical consistency. */ forwarding_table = ALIGN_UP(forwarding_table, 4*KiB); |