
于 2018年5月17日 GMT+08:00 下午4:16:58, Andre Przywara andre.przywara@arm.com 写到:
This series tries to solve three issues we currently have on Allwinner boards:
- The DRAM sizing routine can only cope with power-of-two sized DRAM.
- The DRAM sizing routine steps through all DRAM, possibly hitting
secure memory.
- The SPL header versioning is quite strict and tends to break every
time we need to update it.
So I thought about introducing something along the lines of semantic versioning[1], where we can add backwards-compatible changes to the SPL header without breaking every tool. This is introduced in the first
How to define the "backwards-compatible"?
Should it have a standard? (e.g. tools have no change needed and U-Boot will have fallback code)
patch. The second patch does some refactoring, so that the third patch can use the newly gained freedom to store the DRAM size. The SPL knows the DRAM size very well, so we store this in the SPL header, so that U-Boot proper can pick it up from there. This saves the call to get_ram_size() with its deficiencies. More information in the respective commit messages.
I understand that this versioning solution is not fully future-proof, but we have only one byte for the version, and I just wanted to start discussion on this. There is a corresponding patch for sunxi-tools as well I am posting shortly.
Cheers, Andre.
Andre Przywara (3): sunxi: Extend SPL header versioning sunxi: board.c: refactor SPL header checks sunxi: store DRAM size in SPL header
arch/arm/include/asm/arch-sunxi/spl.h | 22 ++++++++---- board/sunxi/board.c | 66 ++++++++++++++++++++++++++++------- 2 files changed, 70 insertions(+), 18 deletions(-)