U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* SMBIOS tables missing on 2025.04-rc5 on qemu-x86
@ 2025-04-04 13:10 Niklas Sombert
  2025-04-04 16:33 ` Tom Rini
  0 siblings, 1 reply; 3+ messages in thread
From: Niklas Sombert @ 2025-04-04 13:10 UTC (permalink / raw)
  To: u-boot; +Cc: Simon Glass


[-- Attachment #1.1: Type: text/plain, Size: 3066 bytes --]

Hi all,

I've written a small EFI bootloader and I'm testing it on QEMU with OVMF 
and with u-boot (with the qemu-x86_defconfig as -bios in QEMU).

On upgrading from 2025.01 to 2025.04-rc5, I've noticed that the SMBIOS 
tables that are passed via the SMBIOS EFI config table are completely 
blank (just zeroes instead of starting with SM3).

This is pretty easy to reproduce:

git checkout v2025.01
make clean
git clean -xf
make qemu-x86_defconfig
# edit .config: CONFIG_CMD_SMBIOS=y
make -j4
qemu-system-i386 -bios u-boot.rom
# type "smbios" in the prompt and see information about the system

versus:
git checkout v2025.04-rc5
make clean
git clean -xf
make qemu-x86_defconfig
# edit .config: CONFIG_CMD_SMBIOS=y
make -j4
qemu-system-i386 -bios u-boot.rom
# type "smbios" and get the following error:
# do_smbios() Unknown SMBIOS anchor format

This is on QEMU version 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.25), the one 
Ubuntu 22.04 currently ships, but I also get the same results on Ubuntu 
24.04.

Bisecting leads me to the following commit:

commit d5bc5c6cb0291203fe848a8532a7ecbcd44cfe9e
Author: Simon Glass <sjg@chromium.org>
Date:   Fri Jan 10 17:00:26 2025 -0700

     x86: emulation: Enable bloblist

     Add bloblist support so that tables can be generated and placed in a
     bloblist, then passed to a payload using UPL

     Signed-off-by: Simon Glass <sjg@chromium.org>

diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig
index 2771a4b9e19..792ba06c2b8 100644
--- a/configs/qemu-x86_64_defconfig
+++ b/configs/qemu-x86_64_defconfig
@@ -1,6 +1,7 @@
  CONFIG_X86=y
  CONFIG_TEXT_BASE=0x1110000
  CONFIG_SYS_MALLOC_F_LEN=0x1000
+CONFIG_BLOBLIST_SIZE_RELOC=0x20000
  CONFIG_NR_DRAM_BANKS=8
  CONFIG_ENV_SIZE=0x40000
  CONFIG_MAX_CPUS=2
@@ -33,6 +34,7 @@ CONFIG_LOGF_FUNC=y
  CONFIG_SPL_LOG=y
  CONFIG_DISPLAY_BOARDINFO_LATE=y
  CONFIG_PCI_INIT_R=y
+CONFIG_BLOBLIST=y
  CONFIG_BLOBLIST_FIXED=y
  CONFIG_BLOBLIST_ADDR=0x10000
  CONFIG_SPL_NO_BSS_LIMIT=y
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index 947d15cd727..0b0e10c795f 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -1,6 +1,7 @@
  CONFIG_X86=y
  CONFIG_TEXT_BASE=0xFFF00000
  CONFIG_SYS_MALLOC_F_LEN=0x1000
+CONFIG_BLOBLIST_SIZE_RELOC=0x20000
  CONFIG_NR_DRAM_BANKS=8
  CONFIG_ENV_SIZE=0x40000
  CONFIG_MAX_CPUS=2
@@ -23,6 +24,9 @@ CONFIG_LOG=y
  CONFIG_LOGF_FUNC=y
  CONFIG_DISPLAY_BOARDINFO_LATE=y
  CONFIG_PCI_INIT_R=y
+CONFIG_BLOBLIST=y
+CONFIG_BLOBLIST_FIXED=y
+CONFIG_BLOBLIST_ADDR=0x10000
  CONFIG_CMD_CPU=y
  CONFIG_CMD_BOOTEFI_SELFTEST=y
  CONFIG_CMD_NVEDIT_EFI=y

Just setting CONFIG_BLOBLIST=n solves this problem for me.

I'm not sure how to debug this further, because v2025.01 doesn't build 
with the config from v2025.04-rc5:
ld.bfd: arch/x86/lib/tables.o: in function `write_tables':
/home/niklas/Build/u-boot/arch/x86/lib/tables.c:171: undefined reference 
to `acpi_write_rsdp'


Greetings,
Niklas


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-04-05 20:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-04 13:10 SMBIOS tables missing on 2025.04-rc5 on qemu-x86 Niklas Sombert
2025-04-04 16:33 ` Tom Rini
2025-04-05 20:46   ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox