diff options
Diffstat (limited to 'arch/m68k/include/asm/cacheflush_no.h')
-rw-r--r-- | arch/m68k/include/asm/cacheflush_no.h | 40 |
1 files changed, 6 insertions, 34 deletions
diff --git a/arch/m68k/include/asm/cacheflush_no.h b/arch/m68k/include/asm/cacheflush_no.h index 52b11ac9a30..8ada4ffc98e 100644 --- a/arch/m68k/include/asm/cacheflush_no.h +++ b/arch/m68k/include/asm/cacheflush_no.h | |||
@@ -2,7 +2,7 @@ | |||
2 | #define _M68KNOMMU_CACHEFLUSH_H | 2 | #define _M68KNOMMU_CACHEFLUSH_H |
3 | 3 | ||
4 | /* | 4 | /* |
5 | * (C) Copyright 2000-2004, Greg Ungerer <gerg@snapgear.com> | 5 | * (C) Copyright 2000-2010, Greg Ungerer <gerg@snapgear.com> |
6 | */ | 6 | */ |
7 | #include <linux/mm.h> | 7 | #include <linux/mm.h> |
8 | #include <asm/mcfsim.h> | 8 | #include <asm/mcfsim.h> |
@@ -10,7 +10,7 @@ | |||
10 | #define flush_cache_all() __flush_cache_all() | 10 | #define flush_cache_all() __flush_cache_all() |
11 | #define flush_cache_mm(mm) do { } while (0) | 11 | #define flush_cache_mm(mm) do { } while (0) |
12 | #define flush_cache_dup_mm(mm) do { } while (0) | 12 | #define flush_cache_dup_mm(mm) do { } while (0) |
13 | #define flush_cache_range(vma, start, end) __flush_cache_all() | 13 | #define flush_cache_range(vma, start, end) do { } while (0) |
14 | #define flush_cache_page(vma, vmaddr) do { } while (0) | 14 | #define flush_cache_page(vma, vmaddr) do { } while (0) |
15 | #ifndef flush_dcache_range | 15 | #ifndef flush_dcache_range |
16 | #define flush_dcache_range(start,len) __flush_cache_all() | 16 | #define flush_dcache_range(start,len) __flush_cache_all() |
@@ -33,41 +33,13 @@ | |||
33 | #ifndef __flush_cache_all | 33 | #ifndef __flush_cache_all |
34 | static inline void __flush_cache_all(void) | 34 | static inline void __flush_cache_all(void) |
35 | { | 35 | { |
36 | #if defined(CONFIG_M523x) || defined(CONFIG_M527x) | 36 | #ifdef CACHE_INVALIDATE |
37 | __asm__ __volatile__ ( | 37 | __asm__ __volatile__ ( |
38 | "movel #0x81400110, %%d0\n\t" | 38 | "movel %0, %%d0\n\t" |
39 | "movec %%d0, %%CACR\n\t" | 39 | "movec %%d0, %%CACR\n\t" |
40 | "nop\n\t" | 40 | "nop\n\t" |
41 | : : : "d0" ); | 41 | : : "i" (CACHE_INVALIDATE) : "d0" ); |
42 | #endif /* CONFIG_M523x || CONFIG_M527x */ | 42 | #endif |
43 | #if defined(CONFIG_M528x) | ||
44 | __asm__ __volatile__ ( | ||
45 | "movel #0x81000200, %%d0\n\t" | ||
46 | "movec %%d0, %%CACR\n\t" | ||
47 | "nop\n\t" | ||
48 | : : : "d0" ); | ||
49 | #endif /* CONFIG_M528x */ | ||
50 | #if defined(CONFIG_M5206) || defined(CONFIG_M5206e) || defined(CONFIG_M5272) | ||
51 | __asm__ __volatile__ ( | ||
52 | "movel #0x81000100, %%d0\n\t" | ||
53 | "movec %%d0, %%CACR\n\t" | ||
54 | "nop\n\t" | ||
55 | : : : "d0" ); | ||
56 | #endif /* CONFIG_M5206 || CONFIG_M5206e || CONFIG_M5272 */ | ||
57 | #ifdef CONFIG_M5249 | ||
58 | __asm__ __volatile__ ( | ||
59 | "movel #0xa1000200, %%d0\n\t" | ||
60 | "movec %%d0, %%CACR\n\t" | ||
61 | "nop\n\t" | ||
62 | : : : "d0" ); | ||
63 | #endif /* CONFIG_M5249 */ | ||
64 | #ifdef CONFIG_M532x | ||
65 | __asm__ __volatile__ ( | ||
66 | "movel #0x81000210, %%d0\n\t" | ||
67 | "movec %%d0, %%CACR\n\t" | ||
68 | "nop\n\t" | ||
69 | : : : "d0" ); | ||
70 | #endif /* CONFIG_M532x */ | ||
71 | } | 43 | } |
72 | #endif /* __flush_cache_all */ | 44 | #endif /* __flush_cache_all */ |
73 | 45 | ||