Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37478 )
Change subject: libpayload: Cache physical cbmem console address ......................................................................
Patch Set 1:
(2 comments)
https://review.coreboot.org/c/coreboot/+/37478/1//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/37478/1//COMMIT_MSG@14 PS1, Line 14: Fixes the default build of FILO, tested with Qemu/i440FX and Qemu/Q35.
The hang issue like below? […]
Yep.
https://review.coreboot.org/c/coreboot/+/37478/1/payloads/libpayload/drivers... File payloads/libpayload/drivers/cbmem_console.c:
https://review.coreboot.org/c/coreboot/+/37478/1/payloads/libpayload/drivers... PS1, Line 60: just keep the physical address which won't break on relocation. */
So if this is a thing that happens, then why do we call phys_to_virt() in get_cbmem_ptr() from the c […]
Only few drivers that cache pointers are affected...
I don't recall why we decided to have virtual pointers. But I unified `sysinfo` at some point: CB:1855. I wouldn't mind to make them all physical pointers, but that would affect a lot of code and potentially payloads too.