提交 b4d956f6 编写于 作者: S Simon Glass 提交者: Andreas Bießmann

bootm: Align cache flush end address correctly

Flushing part of the cache should be done on cache boundaries. Trying to
flush part of a cache line is not supported and the request may be ignored
or print warnings.

Adjust the bootm code to align the end address to prevent this problem.
Signed-off-by: NSimon Glass <sjg@chromium.org>
Reviewed-by: NHeiko Schocher <hs@denx.de>
Tested-on: smartweb, corvus, taurus, axm
Tested-by: NHeiko Schocher <hs@denx.de>
Reviewed-by: NJoe Hershberger <joe.hershberger@ni.com>
Reviewed-by: NAndreas Bießmann <andreas@biessmann.org>
上级 b5bd0982
......@@ -445,7 +445,7 @@ static int bootm_load_os(bootm_headers_t *images, unsigned long *load_end,
bootstage_error(BOOTSTAGE_ID_DECOMP_IMAGE);
return err;
}
flush_cache(load, *load_end - load);
flush_cache(load, ALIGN(*load_end - load, ARCH_DMA_MINALIGN));
debug(" kernel loaded at 0x%08lx, end = 0x%08lx\n", load, *load_end);
bootstage_mark(BOOTSTAGE_ID_KERNEL_LOADED);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册