Jie Zhang<jie.zhang@xxxxxxxxxx> wrote:Thanks for your explanation. Now I understand why passing add as vaddr is better.
I agree on using 0 instead of NULL. But for !MMU, I think, vaddr is always as
same as addr. So we don't need to pass it?
FRV flushes the vaddr because in MMU mode the cache flush instructions take
virtual addresses, so if we pass addr as vaddr, I can use the same cache flush
code for both modes. I suspect it makes little difference to the amount of
code if we pass that rather than 0, as the value is already computed, and
either way, it's going to take one instruction to set up the argument.
Note that Blackfin assumes that it may use the dst address for flushing - an
assumption that isn't valid in MMU mode with a VIVT cache (which I presume
Blackfin isn't, but other CPUs are).