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