Actions
Bug #528
openBuilding `emulation/qemu-i440fx` with `CONFIG_CBFS_VERIFICATION=y` fails
Start date:
03/01/2024
Due date:
% Done:
0%
Estimated time:
Affected versions:
Needs backport to:
Affected hardware:
Affected OS:
Description
Building a coreboot image for emulation/qemu-i440fx with CONFIG_CBFS_VERIFICATION=y fails.
$ git log --oneline --no-decorate -1
ff2d863515 drivers/intel/gma: Allow SPARK function with side effects
$ make savedefconfig
$ more defconfig
CONFIG_ANY_TOOLCHAIN=y
# CONFIG_SEPARATE_ROMSTAGE is not set
CONFIG_TIMESTAMPS_ON_CONSOLE=y
# CONFIG_USE_BLOBS is not set
CONFIG_NO_POST=y
CONFIG_USE_EXP_X86_64_SUPPORT=y
# CONFIG_PCI_ALLOW_BUS_MASTER is not set
CONFIG_CBFS_VERIFICATION=y
CONFIG_CONSOLE_SERIAL_921600=y
# CONFIG_CONSOLE_QEMU_DEBUGCON is not set
CONFIG_PAYLOAD_FILO=y
CONFIG_FILO_HEAD=y
CONFIG_FILO_USE_AUTOBOOT=y
CONFIG_FILO_AUTOBOOT_FILE="hda1:/vmlinuz initrd=hda1:/initrd.img root=/dev/sda1 ro quiet"
$ make -j4
[…]
CC ramstage/arch/x86/boot.o
CC ramstage/arch/x86/breakpoint.o
LINK cbfs/fallback/postcar.debug
LINK cbfs/fallback/bootblock.debug
x86_64-linux-gnu-ld.bfd: warning: build/postcar/mainboard/emulation/qemu-i440fx/exit_car.o: missing .note.GNU-stack section implies executable stack
x86_64-linux-gnu-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
x86_64-linux-gnu-ld.bfd: warning: build/cbfs/fallback/postcar.debug has a LOAD segment with RWX permissions
HOSTCC cbfstool/ifittool (link)
HOSTCC cbfstool/ifwitool (link)
HOSTCC cbfstool/cse_fpt (link)
x86_64-linux-gnu-ld.bfd: warning: build/bootblock/cpu/x86/reset16.o: missing .note.GNU-stack section implies executable stack
x86_64-linux-gnu-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
x86_64-linux-gnu-ld.bfd: warning: build/cbfs/fallback/bootblock.debug has a LOAD segment with RWX permissions
x86_64-linux-gnu-ld.bfd: build/bootblock/cpu/qemu-x86/cache_as_ram_bootblock.o: in function `cache_as_ram':
/dev/shm/coreboot/src/cpu/qemu-x86/cache_as_ram_bootblock.S:46:(.init+0x1f): undefined reference to `walkcbfs_asm'
/dev/shm/coreboot/src/cpu/qemu-x86/cache_as_ram_bootblock.S:46:(.init+0x1f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `walkcbfs_asm'
make: *** [src/arch/x86/Makefile.mk:101: build/cbfs/fallback/bootblock.debug] Fehler 1
make: *** Es wird auf noch nicht beendete Prozesse gewartet....
Updated by Maximilian Brune almost 2 years ago
https://review.coreboot.org/c/coreboot/+/74243 (commit: d69ccaf02735e79)
Before this one it worked.
walkcbfs_asm is apparently used by the QEMU target but not linked in anymore.
Updated by Nicholas Chin 19 days ago
It looks like this affects more than just QEMU. The commit message in CB:74243 does alludes to this; anything that uses MICROCODE_UPDATE_PRE_RAM will be affected. This is selected by default for systems that don't select CPU_INTEL_FIRMWARE_INTERFACE_TABLE, which seems to be everything pre-Haswell. Those boards do still get a fair amount of activity (especially Sandy Bridge/Ivy Bridge).
Actions