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]

RE: MPC8260 cache patch


> 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]