
In message B754896C-6D4C-43B0-8F84-062884E569C2@kernel.crashing.org you wrote:
Note that you cannot recover / restore after starting to uncompress the image, because usually you will overwrite the exception vectors.
Normally that is true.. however there are some situations that its feasible. For example if you are booting a kernel at a non-zero address. We do this on 85xx HW. Or if you are trying to boot a kernel on the second core of a dual core setup (at a non-zero address). Both of these cases we can 'bootm restore' out of.
Agreed. But compare the benefit of such a soft recovery (versus a reset of the board) against the added complexity and irregular user interface - on this board you can write to low RAM, on the other board you crash the system; on one board the system recovers after a failed attempt to load a kernel, but maybe not always, just in certain cases, on another board it always resets the board.
KISS. Define a point of no return, and after that, recovery == reset.
I have to admit that I have no idea why "bootm_size" or "bootm_low" are needed. If we can drop these, all the better.
We use them for booting at non-zero locations.
Why is this needed?
"verify" and "autostart" must be kept as environment variables, because that's the way how the user can influence the boot behaviour. Even if you find a better way to implement this, they will be needed for backward compatibility.
Ok. What did we decide 'autostart' means with regards to bootm?
Yes, of course we did. It means exactly what's documented in the manual.
Best regards,
Wolfgang Denk