More PowerPC cache hijinks (dcbf requires sync?)
Phil Torre
ptorre at zetron.com
Wed Sep 10 23:12:15 UTC 2003
I see in the archives an old thread from 2000 in which this topic was
discussed, and the consensus seemed to be that using 'dcbf' to flush
a cache line should be followed by 'sync' to ensure that the cache
was really flushed before the following instructions executed.
(Another issue is: OK, so the dcbf has executed, but does that guarantee
that the flush has actually made it out to memory?)
So, it seems like the mpc8xx version of _CPU_cache_invalidate_1_data_line()
needs to do a sync after it does its dcbf. (Ideally you could do
multiple dcbf's in a row with a single sync at the end, but that would
require the sync to be inserted into
rtems_cache_flush_multiple_data_lines(),
which isn't CPU-specific.) Looking at _CPU_cache_invalidate_1_data_line()
in rtems-4.6.0pre4, I don't see any sync instructions. Does anyone know
of a reason why the sync isn't required?
-Phil
--
=====================================================================
Phil Torre phone: 425-820-6363 x234
Design Engineer email: ptorre at zetron.com
Switching Systems Group fax: 425-820-7031
Zetron, Inc. web: http://www.zetron.com
More information about the users
mailing list