[U-Boot] [PATCH 2/4] cache_v7: Check for dcache enablement in dcache flush functions

R, Sricharan r.sricharan at ti.com
Fri Jun 15 17:18:28 CEST 2012


Hi,
[snip..]
>>>>    If it is a problem with unaligned regions, then that is the only
>>>> thing to be fixed
>>>>   right ?. Just trying to understand why this change is required ?
>>>
>>> The problem is that within the USB/network/filesystem stacks we have a
>>> lot of not cache safe alignments apparently.  Without this every '#' of
>>> a tftp gives a screen full of error printfs.  So tftp'ing a kernel takes
>>> minutes, not seconds, to complete.
>>>
>>  Ok,but when buffers are not aligned
>>    isn't that you are going to have coherency problems ?
>
> Exactly.  USB requires dcache to be turned off today.  With it turned
> off it spams these messages making tftp to an aligned address take
> minutes because the console is busy printing all of these messages about
> flushes it didn't need to do.  The alternative is to build
> omap4/omap5/etc with dcache disabled or USB disabled.
>
    Ok, but who is calling cache maintenance in your case after
   turning off caches ?

> I think the answer here is we need to make sure that when we switch the
> cache off (dcache_off()) we're always doing the kind of flushing that we
> had been doing for the kernel.

    Yes, and also unaligned buffers will always be a problem.
    There should be a way to address that as well.

Thanks,
 Sricharan


More information about the U-Boot mailing list