Issue #617 has been updated by gaspar ilom.
Maximilian Brune wrote in #note-7: > I didn't really test it yet, but this should cover it: > https://review.coreboot.org/c/coreboot/+/90107 > Lets see if many boards fail the validation after jenkins is done. Thanks for your patch. Seems like passing no platform is not the correct approach. All the pre soc boards in heads fail the build with your patch. The reason is the generic fmap-template.fmd contains `SI_PDR@0xFFF000 0x0` which causes an error: ``` FMAP EOL_w541-maximized/util/cbfstool/fmaptool -h EOL_w541-maximized/fmap_config.h EOL_w541-maximized/fmap.fmd EOL_w541-maximized/fmap.fmap E: Section 'SI_ME' too big FATAL: Failed while processing provided descriptor make[1]: *** [Makefile.mk:1262: EOL_w541-maximized/fmap.fmap] Error 4 ``` ``` cat ./build/x86/coreboot-25.09/EOL_w541-maximized/fmap-template.fmd FLASH ##ROM_SIZE## { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 SI_ME@0x3000 0x1E000 SI_PDR@0xFFF000 0x0 SI_BIOS@##BIOS_BASE## ##BIOS_SIZE## { ##CONSOLE_ENTRY## ##MRC_CACHE_ENTRY## ##SMMSTORE_ENTRY## ##SPD_CACHE_ENTRY## ##VPD_ENTRY## FMAP@##FMAP_BASE## ##FMAP_SIZE## COREBOOT(CBFS)@##CBFS_BASE## ##CBFS_SIZE## } } ``` It is not replaced: ``` cat ./build/x86/coreboot-25.09/EOL_w541-maximized/fmap.fmd FLASH 0x00c00000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 SI_ME@0x3000 0x1E000 SI_PDR@0xFFF000 0x0 SI_BIOS@131072 12451840 { RW_MRC_CACHE@0 0x10000 FMAP@65536 0x200 COREBOOT(CBFS)@66048 12385792 } } ``` I tried building with hacking `ifdtool_platform_param:=-p ifd2` in an else block for the W541 which creates an fmap file without `SI_PDR` but then the error changes to: ``` FMAP EOL_w541-maximized/util/cbfstool/fmaptool -h EOL_w541-maximized/fmap_config.h EOL_w541-maximized/fmap.fmd EOL_w541-maximized/fmap.fmap MAKE E: Section 'SI_ME' too big FATAL: Failed while processing provided descriptor make[1]: *** [Makefile.mk:1262: EOL_w541-maximized/fmap.fmap] Error 4 ``` Not sure how to move on from here. ---------------------------------------- Bug #617: Missing safeguard: CBFS_SIZE greater than BIOS region in the IFD https://ticket.coreboot.org/issues/617#change-2187 * Author: gaspar ilom * Status: New * Priority: Normal * Target version: none * Start date: 2025-11-14 * Affected versions: main * Affected hardware: haswell ---------------------------------------- There are no effective safeguards to enforce that the `CONFIG_CBFS_SIZE` does not exceed the bios region as declared in the IFD. ### Impact - Downstream under Heads with a maximized bios region for the Haswell boards (T440p and W541) we could verify that this bug leads to an overflow when training the memory cache that makes it not work. This happens both with MRC blob and NRI and causes very slow boot times (20s) and S3 suspend/resume does not work. - Effects on other boards have not been observed but are possible. ### Expected behavior Coreboot should not build successfully if the `CBFS_SIZE` exceeds the bios region in the IFD and error out reporting the problem that caused this. ## Analysis Full details are under the PR in Heads and in particular this comment by @tlaurion https://github.com/linuxboot/heads/pull/2025/#issuecomment-3524672338 Ifttool reports a bios region of 0xBDEFFF (BDEFFF). However, the coreboot config contained: ``` CONFIG_CBFS_SIZE=0xBE4FFF ``` ``` ./build/x86/coreboot-25.09/util/ifdtool/ifdtool --platform ifd2 --layout w541_layout blobs/w541/ifd.bin && cat w541_layout File blobs/w541/ifd.bin is 4096 bytes Wrote layout to w541_layout 00000000:00000fff fd 00021000:00bfffff bios 00003000:00020fff me 00001000:00002fff gbe ``` After fixing the `CONFIG_CBFS_SIZE` the issues were fixed and fast boot with trained memory cache and S3 suspen/resume work again with NRI: https://github.com/linuxboot/heads/pull/2025/commits/9b8b9cacdcea4f67c95dcec10b3153fc8c016940 -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: https://ticket.coreboot.org/my/account _______________________________________________ coreboot mailing list -- [email protected] To unsubscribe send an email to [email protected]

