Issue #499 has been updated by Oberon 4071.
File cbmem_seabios_with_resource_allocation_top_down.txt added
Oberon 4071 wrote in #note-10:
Paul Menzel wrote in #note-9:
Thank you for your report.
As you explicitly mention EDK2 (TianoCore), did you test another payload like SeaBIOS or GRUB?
Just to avoid confusion, you can get the logs from the CBMEM console using `cbmem -c` from `util/cbmem/`, or `/sys/firmware/log` with Linux built with `CONFIG_GOOGLE_MEMCONSOLE_COREBOOT` selected.
I have attached the cbmem -c output after booting the EDK2 coreboot build with RESOURCE_ALLOCATION_TOP_DOWN disabled. (The output of git describe is different because I added a local commit to disable this option by default for lenovo/haswell as part of this test.)
Other than EDK2, I also routinely build coreboot with GRUB2 where SeaBIOS is the secondary payload. This image also did not successfully boot into the payload when RESOURCE_ALLOCATION_TOP_DOWN is enabled. I'll test again with a coreboot build containing only SeaBIOS.
I was able to boot a coreboot build with RESOURCE_ALLOCATION_TOP_DOWN, containing only SeaBIOS (omitting nvramcui and coreinfo as well). I have attached a cbmem log from this boot, in case it might be of any help.
---------------------------------------- Bug #499: coreboot will not boot edk2 on Lenovo T440p with CONFIG_RESOURCE_ALLOCATION_TOP_DOWN enabled, cannot disable this setting during build https://ticket.coreboot.org/issues/499#change-1575
* Author: Oberon 4071 * Status: New * Priority: Normal * Assignee: Nico Huber * Start date: 2023-06-29 * Affected versions: 4.21 * Needs backport to: none * Related links: https://review.coreboot.org/c/coreboot/+/76198 * Affected hardware: lenovo/t440p ---------------------------------------- coreboot revision in git: feb27dcbf3fc685b070c950a16e8adec958bc1ce coreboot revision (git describe --tags): 4.20-520-gfeb27dcbf3 Tested payloads: edk2 from MrChromebox revision uefipayload_202304 and uefipayload_202306
coreboot will not boot my Lenovo ThinkPad T440p with CONFIG_RESOURCE_ALLOCATION_TOP_DOWN enabled, when using the edk2 payload (MrChromebox version, either uefipayload_202304 or uefipayload_202306). The display sometimes turns on, indicating that some of the hardware initialization was successful, but the payload will not start.
I tried to disable CONFIG_RESOURCE_ALLOCATION_TOP_DOWN in .config, but the build process insists on leaving this config enabled. This seems to be caused by the RESOURCE_ALLOCATION_TOP_DOWN setting changed to "def_bool y" in src/device/Kconfig in commit 5226301765ded70e0ef640e5252bbaca8cd14451 (allocator_v4: Treat above 4G resources more natively). The make target for building coreboot seems to automatically rerun olddefconfig, causing this setting to always remain enabled no matter what was previously saved in the .config file.
Modifying src/device/Kconfig to change RESOURCE_ALLOCATION_TOP_DOWN to "def_bool n" appears to fix the problem on my machine.
I have attached my .config file (with CONFIG_RESOURCE_ALLOCATION_TOP_DOWN enabled to reproduce the problem).
---Files-------------------------------- .config (20.7 KB) console.log (128 KB) cbmem.txt (151 KB) cbmem_seabios_with_resource_allocation_top_down.txt (41.1 KB)