SMBIOS tables missing on 2025.04-rc5 on qemu-x86

Tom Rini trini at konsulko.com
Fri Apr 4 18:33:15 CEST 2025


On Fri, Apr 04, 2025 at 03:10:29PM +0200, Niklas Sombert wrote:

> 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 at 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 at 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'

I think for the v2025.04 release we should just put BLOBLIST=n (so long
as CI passes still), and file an issue to sort this out for the next
release. Can you please file something at
https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues ? Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20250404/c2f10db1/attachment.sig>


More information about the U-Boot mailing list