
Dear Hollis,
In message 4CFFF3C4.20800@mentor.com you wrote:
I think the current way that u-boot updates the memory node is valuable for other use cases. In particular, it is very convenient for single-OS systems. Our goal is to avoid affecting those use cases.
I dislike the idea that U-Boot will not touch the DT entry in one situation, but will do so in another, without any visibility to (and eventually without awareness by) the user.
I see it as allowing the user to optionally override auto-detected information. The user has to go out of their way to request this behavior, so I think the visibility/awareness is there.
OK - but then the user should really be requested to select the beviour. This should be done in an explicit and documented way, ant not based on some magic properties of the DT.
The existing bootm_low/bootm_size facility does exactly this, but I think we can improve on its design.
I have to admit that I also dislike the bootm_low / bootm_size stuff as it's really confusing to users, especially as the difference between bootm_size and CONFIG_SYS_BOOTMAPSZ (and BOOTMAPSZ, which is sometimes used instead) is not really clear.
I agree that all (device tree aware) systems should behave consistently in this regard. Of course, in that case, we don't need weak functions?
If you want to make this switchable at runtime, then we should probably use an environment setting.
Best regards,
Wolfgang Denk