From: SUGIOKA T. <su...@it...> - 2002-04-25 08:25:18
|
At 14:48 02/04/25 +0900, SUGIOKA Toshinobu <su...@it...> wrote: >At 10:44 02/04/25 +0900, NIIBE Yutaka <gn...@m1...> wrote: >> > (2) For flushing O-cache entry, we can use movca.l/ocbi pair while BL >>bit is set. >> > This sequence can be executed in P1 area and does not cause any >>unnecessary bus cycles. >> >>I don't know well about this. Why/How those are different with ocbp? >>Do you have any reference? > >The data written by "movca.l r0,@rn" here is just a garbage, so it should not be >written back to real memory. "ocbi" is better because it does not cause >write back >cycle, and no extra address space is needed for writing garbage data. >I used 16kB aligned block which include empty_zero_page for this purpose. >If garbage were >written into this area, kernel would crash immediately :P. Possibly I misunderstood your question. We can't use ocbp instead of movca.l/ocbi for flush cache all. 'ocbp' flushes only when the tag of the cache-line is matched to the specified address. On the other hand, movca.l/ocbi flushes specified cache-line unconditionally. ---- SUGIOKA Toshinobu |