Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31174 )
Change subject: usbdebug: Fix reserve in CAR ......................................................................
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.
For Chrome OS, our solution is that we cut a branch whenever we release an RO, and then all further RWs released for that are built from the same branch. Whenever you cherry-pick into the branch (we generally try to only do small fixes, not big refactorings) you need to manually pay attention to RO/RW interface issues like this. I think that's the only reasonable way to solve that and I'd suggest everyone else who wants to use vboot to do the same.