Bug #322
closedImage fails to boot on Thinkpad X201 if built with GCC 11
0%
Description
I can't seem to build a bootable image for the Thinkpad X201 with the new GCC-11-based toolchain. Rather than booting up, the machine just flashes a bunch of LEDs and then resets itself. If I use the old toolchain with GCC 8, the image works just fine.
Unfortunately I don't have a console on this machine so I don't have any logs. I don't know whether is is relevant or not, but cbfstool reports different layouts for the images:
$ util/cbfstool/cbfstool coreboot-gcc-8.rom print
FMAP REGION: COREBOOT
Name Offset Type Size Comp
cbfs master header 0x0 cbfs header 32 none
fallback/romstage 0x80 stage 65328 none
cpu_microcode_blob.bin 0x10040 microcode 13312 none
fallback/ramstage 0x13480 stage 106502 LZMA (227804 decompressed)
vgaroms/seavgabios.bin 0x2d500 raw 28160 none
config 0x34340 raw 643 none
revision 0x34600 raw 716 none
build_info 0x34900 raw 101 none
fallback/dsdt.aml 0x349c0 raw 14119 none
cmos_layout.bin 0x38140 cmos_layout 1612 none
fallback/postcar 0x387c0 stage 20024 none
fallback/payload 0x3d640 simple elf 69197 none
payload_config 0x4e4c0 raw 1728 none
payload_revision 0x4ebc0 raw 237 none
etc/ps2-keyboard-spinup 0x4ed00 raw 8 none
(empty) 0x4ed40 null 641380 none
bootblock 0xeb6c0 bootblock 18176 none
$ util/cbfstool/cbfstool coreboot-gcc-11.rom print
FMAP REGION: COREBOOT
Name Offset Type Size Comp
cbfs master header 0x0 cbfs header 32
fallback/romstage 0x80 stage 63664 none
cpu_microcode_blob.bin 0xf9c0 microcode 13312 none
fallback/ramstage 0x12e00 stage 106836 LZMA (228284 decompressed)
vgaroms/seavgabios.bin 0x2cfc0 raw 28160 none
config 0x33e00 raw 643 none
revision 0x340c0 raw 716 none
build_info 0x343c0 raw 101 none
fallback/dsdt.aml 0x34480 raw 14119 none
cmos_layout.bin 0x37c00 cmos_layout 1612 none
fallback/postcar 0x38280 stage 19976 none
fallback/payload 0x3d100 simple elf 69050 none
payload_config 0x4df00 raw 1728 none
payload_revision 0x4e600 raw 236 none
etc/ps2-keyboard-spinup 0x4e740 raw 8 none
(empty) 0x4e780 null 642916 none
bootblock 0xeb700 bootblock 18112 none
Updated by Paul Menzel almost 3 years ago
Breakage on the AMD Lenovo G505S was also reported.
Is SPI flash console supported on the device?
Lastly, to get a little more confidence it’s related to GCC upstream, can you please build an image with your distribution toolchain (CONFIG_ANY_TOOLCHAIN=y
), and report the result back?
Updated by Arthur Heymans almost 3 years ago
On ironlake (x201) the raminit is broken and more specifically in raminit.c as just replacing raminit.o with one build using gcc8 fixes it.
The hang happens when sending heci messages and the code doing that is correctly generated so something else is going wrong.
Finding what is wrong in a 5k+ LOC file is going to take some time...
Updated by Arthur Heymans over 2 years ago
- Status changed from New to Resolved