Attention is currently required from: Arthur Heymans, Bill XIE, Nico Huber, Patrick Rudolph, Julius Werner, Michael Niewöhner, Kyösti Mälkki, Aaron Durbin. Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/51671 )
Change subject: arch/x86: Init firmware pointer for EC SMSC KBC1098/KBC1126 at build time ......................................................................
Patch Set 29:
(1 comment)
File src/arch/x86/bootblock.ld:
https://review.coreboot.org/c/coreboot/+/51671/comment/f249c80c_fe24606a PS27, Line 57: _ID_SECTION_END = SIZEOF(.ecfw_ptr) && SIZEOF(.id) > _ID_SECTION_END - _ECFW_PTR ? _ECFW_PTR : _ID_SECTION_END; I just did a test, and the linker will complain when some sections overlap. I made the `.ecfw_ptr` section much larger by changing ecfw_ptr.c as follows:
__attribute__((used, __section__(".ecfw_ptr"))) const struct ecfw_ptr ecfw_ptr[30] = { [0] = { .fw1.off = cpu_to_be16((uint16_t)(CONFIG_KBC1126_FW1_OFFSET >> 8)), .fw1.inv = cpu_to_be16((uint16_t)~(CONFIG_KBC1126_FW1_OFFSET >> 8)), .fw2.off = cpu_to_be16((uint16_t)(CONFIG_KBC1126_FW2_OFFSET >> 8)), .fw2.inv = cpu_to_be16((uint16_t)~(CONFIG_KBC1126_FW2_OFFSET >> 8)), }, };
This results in the following build error:
CC bootblock/ec/hp/kbc1126/ecfw_ptr.o CREATE build/mainboard/hp/snb_ivb_laptops/cbfs-file.9YlZAx.out (from /home/usuario/coreboot/.config) LINK cbfs/fallback/bootblock.debug
/home/usuario/coreboot/util/crossgcc/xgcc/bin/i386-elf-ld.bfd: section .id LMA [00000000ffffffb2,00000000ffffffef] overlaps section .ecfw_ptr LMA [00000000ffffff00,00000000ffffffef] /home/usuario/coreboot/util/crossgcc/xgcc/bin/i386-elf-ld.bfd: build/cbfs/fallback/bootblock.debug: section .id lma 0xffffffb2 adjusted to 0xfffffff0 /home/usuario/coreboot/util/crossgcc/xgcc/bin/i386-elf-ld.bfd: build/cbfs/fallback/bootblock.debug: section .reset lma 0xfffffff0 adjusted to 0x10000002e make: *** [src/arch/x86/Makefile.inc:99: build/cbfs/fallback/bootblock.debug] Error 1