From 300b9ff609ca027b9964a453a8156e6fe0077cde Mon Sep 17 00:00:00 2001 From: Philippe De Muyter Date: Sun, 9 Sep 2012 17:56:35 +0200 Subject: [PATCH] m68knommu: use "r", not "i" constraint in cacheflush asm's 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 Signed-off-by: Greg Ungerer --- arch/m68k/include/asm/cacheflush_no.h | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/arch/m68k/include/asm/cacheflush_no.h b/arch/m68k/include/asm/cacheflush_no.h index 7cafb537d03c..d2b3935ae147 100644 --- a/arch/m68k/include/asm/cacheflush_no.h +++ b/arch/m68k/include/asm/cacheflush_no.h @@ -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 } @@ -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 } @@ -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) { -- 2.34.1