diff options
author | Simon Glass <sjg@chromium.org> | 2023-09-19 21:00:15 -0600 |
---|---|---|
committer | Bin Meng <bmeng@tinylab.org> | 2023-09-22 06:05:40 +0800 |
commit | 50834884a8159845475fdc28ac196a41fe4d4915 (patch) | |
tree | de74554a4ac0e047047d3addb117cba425483aeb /arch/x86 | |
parent | 1b1d36ec58f43585081b387ee44053278e480171 (diff) | |
download | u-boot-50834884a8159845475fdc28ac196a41fe4d4915.zip u-boot-50834884a8159845475fdc28ac196a41fe4d4915.tar.gz u-boot-50834884a8159845475fdc28ac196a41fe4d4915.tar.bz2 |
Record the position of the SMBIOS tables
Remember where these end up so that we can pass this information on to
the EFI layer.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/include/asm/global_data.h | 1 | ||||
-rw-r--r-- | arch/x86/lib/tables.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/include/asm/global_data.h b/arch/x86/include/asm/global_data.h index ea58259..6f4a713 100644 --- a/arch/x86/include/asm/global_data.h +++ b/arch/x86/include/asm/global_data.h @@ -127,6 +127,7 @@ struct arch_global_data { ulong table_end; /* End address of x86 tables */ ulong table_start_high; /* Start address of high x86 tables */ ulong table_end_high; /* End address of high x86 tables */ + ulong smbios_start; /* Start address of SMBIOS table */ }; #endif diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c index 67bc0a7..5b5070f 100644 --- a/arch/x86/lib/tables.c +++ b/arch/x86/lib/tables.c @@ -97,6 +97,9 @@ int write_tables(void) int size = table->size ? : CONFIG_ROM_TABLE_SIZE; u32 rom_table_end; + if (!strcmp("smbios", table->name)) + gd->arch.smbios_start = rom_addr; + if (IS_ENABLED(CONFIG_BLOBLIST_TABLES) && table->tag) { if (!gd->arch.table_end) gd->arch.table_end = rom_addr; |