
On 16/04/18 17:49, Simon Glass wrote:
On 15 April 2018 at 04:48, Bryan O'Donoghue bryan.odonoghue@linaro.org wrote:
commit b4d956f6bc0f ("bootm: Align cache flush end address correctly") aligns the end address of the cache flush operation to a cache-line size to ensure lower-layers in the code accept the range provided and flush.
A similar action should be taken for the begin address of a cache flush operation. The load address may not be aligned to a cache-line boundary, so ensure the passed address is aligned.
Signed-off-by: Bryan O'Donoghue bryan.odonoghue@linaro.org Reported-by: Breno Matheus Lima brenomatheus@gmail.com Suggested-by: Tom Rini trini@konsulko.com Cc: Simon Glass sjg@chromium.org
common/bootm.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
I feel that using an unaligned start address should probably be an error. Why would that be useful?
Apart from that:
Reviewed-by: Simon Glass sjg@chromium.org
Regards, Simon
We are booting a kernel that has an entry point aligned a cacheline boundary with a header prefix/load-address that is a negative offset from that.
We could go about trying to move the load/ep address of that kernel but, my feeling is that's probably the wrong thing to do, we can just as easily align-down and add to the flush length.
--- bod