[PATCH v2] x86: efi_loader: Ensure the SMBIOS tables are sent via EFI
Simon Glass
sjg at chromium.org
Fri May 23 18:55:04 CEST 2025
The EFI-loader code has not been fully converted to use bloblist, so
relies on the SMBIOS-table address being set in global_data.
Set this up in write_tables() so that the SMBIOS tables are actually
available.
Enable the command for x86 QEMU so that the SMBIOS tests actually run.
Signed-off-by: Simon Glass <sjg at chromium.org>
Fixes: 83ce35d6ebb ("emulation: Use bloblist to hold tables")
Reported-by: Niklas Sombert <niklas.sombert at uni-duesseldorf.de>
Tested-by: Niklas Sombert <niklas.sombert at uni-duesseldorf.de>
---
Changes in v2:
- Drop unwanted debugging
arch/x86/lib/tables.c | 2 ++
board/emulation/qemu-x86/Kconfig | 1 +
2 files changed, 3 insertions(+)
diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c
index ec52992209f..d7f183f95dc 100644
--- a/arch/x86/lib/tables.c
+++ b/arch/x86/lib/tables.c
@@ -126,6 +126,8 @@ int write_tables(void)
use_high = true;
if (!gd->arch.table_start_high)
gd->arch.table_start_high = rom_addr;
+ if (table->tag == BLOBLISTT_SMBIOS_TABLES)
+ gd_set_smbios_start(rom_addr);
}
rom_table_end = table->write(rom_addr);
if (!rom_table_end) {
diff --git a/board/emulation/qemu-x86/Kconfig b/board/emulation/qemu-x86/Kconfig
index b2a4e0891a4..c1564fba7cd 100644
--- a/board/emulation/qemu-x86/Kconfig
+++ b/board/emulation/qemu-x86/Kconfig
@@ -23,5 +23,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
imply VIRTIO_PCI
imply VIRTIO_NET
imply VIRTIO_BLK
+ imply CMD_SMBIOS
endif
--
2.43.0
base-commit: 3f76d803db9b500f43bc534465945a8d2836bb3e
branch: fix-smbios2
More information about the U-Boot
mailing list