Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31174 )
Change subject: usbdebug: Fix reserve in CAR ......................................................................
Patch Set 3:
Patch Set 2:
Aaron, Julius; there is a bit of dilemma with car.ld.
- We need consistent layout across PRE_RAM stages
- We want RO bootblock, unaware of (future) RW romstage requirements
- I don't like the semi-random size reserve, like done here for usbdebug
Any ideas how to from improve this? Looking at CONFIG_COMMONLIB_STORAGE and CONFIG_PAGING_IN_CACHE_AS_RAM, I am not sure if the fixed locations are always maintained properly. There is some strong assumption at least, that bootblock and romstage are built with same set of Kconfig options set.
I don't think you're gonna be able to build a system where old RO versions always work with a new RW no matter what you change. We have the same problem with memlayout on Arm devices and we generally don't pay attention to it when reviewing CLs for master.
I take this as a challenge, maybe you just shoot the idea down of extending use of CBMEM IDs to pre-ram? You only need an index at fixed CAR location?
We have about 100 bytes available in _car_relocatable before sandy/ivy MRC blob starts to interfere. It would not be the first case when static allocations are just fine for a long time, but eventually it starts to be inconvenient or fall apart. (Like !DYNAMIC_CBMEM).