Skip to content

Commit

Permalink
m68knommu: use "r", not "i" constraint in cacheflush asm's
Browse files Browse the repository at this point in the history
Let the compiler choose which register to use in the cache flushing
asm statements, instead of imposing %d0.

Additionally, fix two typo's.

Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
  • Loading branch information
Philippe De Muyter authored and Greg Ungerer committed Sep 27, 2012
1 parent 0c0e6db commit 300b9ff
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions arch/m68k/include/asm/cacheflush_no.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,9 @@ static inline void __clear_cache_all(void)
{
#ifdef CACHE_INVALIDATE
__asm__ __volatile__ (
"movel %0, %%d0\n\t"
"movec %%d0, %%CACR\n\t"
"movec %0, %%CACR\n\t"
"nop\n\t"
: : "i" (CACHE_INVALIDATE) : "d0" );
: : "r" (CACHE_INVALIDATE) );
#endif
}

Expand All @@ -58,10 +57,9 @@ static inline void __flush_icache_all(void)
{
#ifdef CACHE_INVALIDATEI
__asm__ __volatile__ (
"movel %0, %%d0\n\t"
"movec %%d0, %%CACR\n\t"
"movec %0, %%CACR\n\t"
"nop\n\t"
: : "i" (CACHE_INVALIDATEI) : "d0" );
: : "r" (CACHE_INVALIDATEI) );
#endif
}

Expand All @@ -72,19 +70,18 @@ static inline void __flush_dcache_all(void)
#endif
#ifdef CACHE_INVALIDATED
__asm__ __volatile__ (
"movel %0, %%d0\n\t"
"movec %%d0, %%CACR\n\t"
"movec %0, %%CACR\n\t"
"nop\n\t"
: : "i" (CACHE_INVALIDATED) : "d0" );
: : "r" (CACHE_INVALIDATED) );
#else
/* Flush the wrtite buffer */
/* Flush the write buffer */
__asm__ __volatile__ ( "nop" );
#endif
}

/*
* Push cache entries at supplied address. We want to write back any dirty
* data and the invalidate the cache lines associated with this address.
* data and then invalidate the cache lines associated with this address.
*/
static inline void cache_push(unsigned long paddr, int len)
{
Expand Down

0 comments on commit 300b9ff

Please sign in to comment.