m68knommu: make cache push code ColdFire generic

Currently the code to push cache lines is only available to version 4
cores. Version 3 cores may also need to use this if we support copy-
back caches on them. Move this code to make it more generic, and
useful for all version ColdFire cores.

With this in place we can now have a single cache_flush_all() code
path that does all the right things on all version cores.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
Greg Ungerer 2010-11-09 14:27:50 +10:00
parent 8ce877a8eb
commit d475e3e473
4 changed files with 56 additions and 39 deletions

View file

@ -30,9 +30,13 @@
#define copy_from_user_page(vma, page, vaddr, dst, src, len) \
memcpy(dst, src, len)
#ifndef __flush_cache_all
void mcf_cache_push(void);
static inline void __flush_cache_all(void)
{
#ifdef CACHE_PUSH
mcf_cache_push();
#endif
#ifdef CACHE_INVALIDATE
__asm__ __volatile__ (
"movel %0, %%d0\n\t"
@ -41,6 +45,5 @@ static inline void __flush_cache_all(void)
: : "i" (CACHE_INVALIDATE) : "d0" );
#endif
}
#endif /* __flush_cache_all */
#endif /* _M68KNOMMU_CACHEFLUSH_H */