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