Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/43684 )
Change subject: cpu/x86/smm: Introduce SMM module loader version 2 ......................................................................
Patch Set 11:
(1 comment)
Patchset:
PS11: GCC 10.2 from Debian sid/unstable shows the errors below.
``` CC ramstage/cpu/x86/smm/smm_module_loader.o src/cpu/x86/smm/smm_module_loader.c: In function 'smm_create_map': src/cpu/x86/smm/smm_module_loader.c:146:19: error: format '%zx' expects argument of type 'size_t', but argument 3 has type 'uintptr_t' {aka 'long unsigned int'} [-Werror=format=] 146 | " smbase %zx entry %zx\n", | ~~^ | | | unsigned int | %lx 147 | cpus[i].smbase, cpus[i].entry); | ~~~~~~~~~~~~~~ | | | uintptr_t {aka long unsigned int} src/cpu/x86/smm/smm_module_loader.c:146:30: error: format '%zx' expects argument of type 'size_t', but argument 4 has type 'uintptr_t' {aka 'long unsigned int'} [-Werror=format=] 146 | " smbase %zx entry %zx\n", | ~~^ | | | unsigned int | %lx 147 | cpus[i].smbase, cpus[i].entry); | ~~~~~~~~~~~~~ | | | uintptr_t {aka long unsigned int} src/cpu/x86/smm/smm_module_loader.c:149:28: error: format '%zx' expects argument of type 'size_t', but argument 3 has type 'uintptr_t' {aka 'long unsigned int'} [-Werror=format=] 149 | " ss_start %zx code_end %zx\n", | ~~^ | | | unsigned int | %lx 150 | cpus[i].ss_start, cpus[i].code_end); | ~~~~~~~~~~~~~~~~ | | | uintptr_t {aka long unsigned int} src/cpu/x86/smm/smm_module_loader.c:149:42: error: format '%zx' expects argument of type 'size_t', but argument 4 has type 'uintptr_t' {aka 'long unsigned int'} [-Werror=format=] 149 | " ss_start %zx code_end %zx\n", | ~~^ | | | unsigned int | %lx 150 | cpus[i].ss_start, cpus[i].code_end); | ~~~~~~~~~~~~~~~~ | | | uintptr_t {aka long unsigned int} src/cpu/x86/smm/smm_module_loader.c: In function 'smm_place_entry_code': src/cpu/x86/smm/smm_module_loader.c:220:36: error: format '%zx' expects argument of type 'size_t', but argument 4 has type 'uintptr_t' {aka 'long unsigned int'} [-Werror=format=] 220 | printk(BIOS_ERR, "%s: smbase %zx, stack_top %lx\n", | ~~^ | | | unsigned int | %lx 221 | __func__, cpus[num_cpus].smbase, stack_top); | ~~~~~~~~~~~~~~~~~~~~~ | | | uintptr_t {aka long unsigned int} src/cpu/x86/smm/smm_module_loader.c:226:34: error: format '%zx' expects argument of type 'size_t', but argument 4 has type 'uintptr_t' {aka 'long unsigned int'} [-Werror=format=] 226 | printk(BIOS_INFO, "%s: smbase %zx, stack_top %lx\n", | ~~^ | | | unsigned int | %lx 227 | __func__, cpus[num_cpus-1].smbase, stack_top); | ~~~~~~~~~~~~~~~~~~~~~~~ | | | uintptr_t {aka long unsigned int} src/cpu/x86/smm/smm_module_loader.c:234:45: error: format '%zx' expects argument of type 'size_t', but argument 3 has type 'uintptr_t' {aka 'long unsigned int'} [-Werror=format=] 234 | "SMM Module: placing smm entry code at %zx, cpu # 0x%x\n", | ~~^ | | | unsigned int | %lx 235 | cpus[i].code_start, i); | ~~~~~~~~~~~~~~~~~~ | | | uintptr_t {aka long unsigned int} src/cpu/x86/smm/smm_module_loader.c:236:42: error: format '%zx' expects argument of type 'size_t', but argument 4 has type 'uintptr_t' {aka 'long unsigned int'} [-Werror=format=] 236 | printk(BIOS_DEBUG, "%s: copying from %zx to %zx 0x%x bytes\n", | ~~^ | | | unsigned int | %lx 237 | __func__, cpus[0].code_start, cpus[i].code_start, size); | ~~~~~~~~~~~~~~~~~~ | | | uintptr_t {aka long unsigned int} src/cpu/x86/smm/smm_module_loader.c:236:49: error: format '%zx' expects argument of type 'size_t', but argument 5 has type 'uintptr_t' {aka 'long unsigned int'} [-Werror=format=] 236 | printk(BIOS_DEBUG, "%s: copying from %zx to %zx 0x%x bytes\n", | ~~^ | | | unsigned int | %lx 237 | __func__, cpus[0].code_start, cpus[i].code_start, size); | ~~~~~~~~~~~~~~~~~~ | | | uintptr_t {aka long unsigned int} src/cpu/x86/smm/smm_module_loader.c: In function 'smm_module_setup_stub': src/cpu/x86/smm/smm_module_loader.c:359:70: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Werror=format=] 359 | printk(BIOS_ERR, "%s: state save size: %zx : smm_entry_offset -> %lx\n", | ~~^ | | | long unsigned int | %x src/cpu/x86/smm/smm_module_loader.c:414:42: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'u32' {aka 'unsigned int'} [-Werror=format=] 414 | printk(BIOS_DEBUG, "%s: stack_end = 0x%lx\n", | ~~^ | | | long unsigned int | %x 415 | __func__, stub_params->stack_top - total_stack_size); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | u32 {aka unsigned int} CC ramstage/cpu/x86/pae/pgtbl.o CC ramstage/cpu/x86/mtrr/debug.o CC ramstage/cpu/x86/mtrr/mtrr.o cc1: all warnings being treated as errors ```