This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
> My comment was that the dcbf instruction can't be used for generic > flushing - it simply isn't designed for that purpose. All that dbcf > does is say "if the cache holds data for address XYZ, flush it to memory > and invalidate the line". Since we don't know what addresses are > currently in the cache, we can't use this instruction to totally > flush out the cache. This instruction works fine for insuring that > a given region of memory is consistent with the cache. > It's totally amazing to me just how much sense your explanation makes once I've managed to screw my head on straight :-) Anyway, I need to put this to bed now, so attached (perhaps) is a simple patch that doubles the number of lines loaded for the ppc60x and mpc8260 variants. In the long run, I wonder if a "lwz" followed by a "dcbf" might be the best solution (scanning the correct number of lines, rather than double). I also still think that 'HAL_DCACHE_SYNC()' (and probably others) should go into "hal_cache.h" instead of "var_cache.h", but I'm not going to get to that anytime soon. As always, questions, comments, and snide remarks are welcome. --wpd
Attachment:
cache2.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |