[U-Boot-Users] bugs in flush_cache

Eyal Bari royalbee at gmail.com
Tue May 13 20:16:24 CEST 2008


yes - you are correct

thank you

On Tue, May 13, 2008 at 7:18 PM, Shinya Kuribayashi <skuribay at ruby.dti.ne.jp>
wrote:

> Eyal Bari wrote:
>
> > in your version of the function the iterated cache ops second argument
> > was start_addr which stay constant.
> >
>
> Probably already fixed in the latest git. See below commit:
>
>
> http://git.denx.de/?p=u-boot.git;a=commitdiff;h=188e94c370621708d13547d58dbc6ed3c5602aa8
>
>  the second bug is that it doesn't iterate over the entire range:
> > for example:
> > if size is 42 and the cache line size is 32 - it takes two cache lines
> > to cache this buffer
> > your version will iterate only over one cache line
> > my version will iterate over two cache line covering the entire range
> >
>
> Note that (addr == aend) is evaluated *after* cache_op()s.
>
> If start_addr = 0x80000000, size = 42, CFG_CACHE_LINE_SIZE = 32,
> cache_op( , 0x80000000) and cache_op( , 0x80000020) will be done.
> I hope I don't miss anything.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20080513/8bbf5540/attachment.htm 


More information about the U-Boot mailing list