Message ID | 1462454902-6093-4-git-send-email-sjg@chromium.org |
---|---|
State | Awaiting Upstream |
Delegated to: | Andreas Bießmann |
Headers | show |
On 05.05.16 15:28, Simon Glass wrote: > 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: Simon Glass <sjg@chromium.org> > Reviewed-by: Heiko Schocher <hs@denx.de> > Tested-on: smartweb, corvus, taurus, axm > Tested-by: Heiko Schocher <hs@denx.de> > Reviewed-by: Joe Hershberger <joe.hershberger@ni.com> > --- > > Changes in v2: None > > common/bootm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/common/bootm.c b/common/bootm.c > index c965326..7469c61 100644 > --- a/common/bootm.c > +++ b/common/bootm.c > @@ -435,7 +435,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); > Reviewed-by: Andreas Bießmann <andreas@biessmann.org>
Dear Simon Glass, Simon Glass <sjg@chromium.org> writes: >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: Simon Glass <sjg@chromium.org> >Reviewed-by: Heiko Schocher <hs@denx.de> >Tested-on: smartweb, corvus, taurus, axm >Tested-by: Heiko Schocher <hs@denx.de> >Reviewed-by: Joe Hershberger <joe.hershberger@ni.com> >Reviewed-by: Andreas Bießmann <andreas@biessmann.org> >--- > >Changes in v2: None > > common/bootm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) applied to u-boot-atmel/master, thanks! Best regards, Andreas Bießmann
diff --git a/common/bootm.c b/common/bootm.c index c965326..7469c61 100644 --- a/common/bootm.c +++ b/common/bootm.c @@ -435,7 +435,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);