aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mn10300/include
diff options
context:
space:
mode:
authorAkira Takeuchi <takeuchi.akr@jp.panasonic.com>2010-10-27 12:28:45 -0400
committerDavid Howells <dhowells@redhat.com>2010-10-27 12:28:45 -0400
commit0bd3eb6ca772775da6125ea5b044d4257473d18d (patch)
treea5aa631714910e2d9a698cd9334bbe1b49e33e2f /arch/mn10300/include
parent9b287bf9924cedaf1accd7293db3627bef7c46e3 (diff)
MN10300: SMP: Differentiate local cache flushing
Differentiate local cache flushing from global cache flushing so that they can be done differently on SMP systems. Rename the cache functions from: mn10300_[id]cache_*() to: mn10300_[id]_localcache_*() and on a UP system, assign the global labels to the local labels. Signed-off-by: Akira Takeuchi <takeuchi.akr@jp.panasonic.com> Signed-off-by: Kiyoshi Owada <owada.kiyoshi@jp.panasonic.com> Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'arch/mn10300/include')
-rw-r--r--arch/mn10300/include/asm/cacheflush.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/arch/mn10300/include/asm/cacheflush.h b/arch/mn10300/include/asm/cacheflush.h
index a9f41688961a..748143f65418 100644
--- a/arch/mn10300/include/asm/cacheflush.h
+++ b/arch/mn10300/include/asm/cacheflush.h
@@ -20,12 +20,31 @@
20 * Primitive routines 20 * Primitive routines
21 */ 21 */
22#ifdef CONFIG_MN10300_CACHE_ENABLED 22#ifdef CONFIG_MN10300_CACHE_ENABLED
23extern void mn10300_local_icache_inv(void);
24extern void mn10300_local_icache_inv_page(unsigned long start);
25extern void mn10300_local_icache_inv_range(unsigned long start, unsigned long end);
26extern void mn10300_local_icache_inv_range2(unsigned long start, unsigned long size);
27extern void mn10300_local_dcache_inv(void);
28extern void mn10300_local_dcache_inv_page(unsigned long start);
29extern void mn10300_local_dcache_inv_range(unsigned long start, unsigned long end);
30extern void mn10300_local_dcache_inv_range2(unsigned long start, unsigned long size);
23extern void mn10300_icache_inv(void); 31extern void mn10300_icache_inv(void);
32extern void mn10300_icache_inv_page(unsigned long start);
33extern void mn10300_icache_inv_range(unsigned long start, unsigned long end);
34extern void mn10300_icache_inv_range2(unsigned long start, unsigned long size);
24extern void mn10300_dcache_inv(void); 35extern void mn10300_dcache_inv(void);
25extern void mn10300_dcache_inv_page(unsigned long start); 36extern void mn10300_dcache_inv_page(unsigned long start);
26extern void mn10300_dcache_inv_range(unsigned long start, unsigned long end); 37extern void mn10300_dcache_inv_range(unsigned long start, unsigned long end);
27extern void mn10300_dcache_inv_range2(unsigned long start, unsigned long size); 38extern void mn10300_dcache_inv_range2(unsigned long start, unsigned long size);
28#ifdef CONFIG_MN10300_CACHE_WBACK 39#ifdef CONFIG_MN10300_CACHE_WBACK
40extern void mn10300_local_dcache_flush(void);
41extern void mn10300_local_dcache_flush_page(unsigned long start);
42extern void mn10300_local_dcache_flush_range(unsigned long start, unsigned long end);
43extern void mn10300_local_dcache_flush_range2(unsigned long start, unsigned long size);
44extern void mn10300_local_dcache_flush_inv(void);
45extern void mn10300_local_dcache_flush_inv_page(unsigned long start);
46extern void mn10300_local_dcache_flush_inv_range(unsigned long start, unsigned long end);
47extern void mn10300_local_dcache_flush_inv_range2(unsigned long start, unsigned long size);
29extern void mn10300_dcache_flush(void); 48extern void mn10300_dcache_flush(void);
30extern void mn10300_dcache_flush_page(unsigned long start); 49extern void mn10300_dcache_flush_page(unsigned long start);
31extern void mn10300_dcache_flush_range(unsigned long start, unsigned long end); 50extern void mn10300_dcache_flush_range(unsigned long start, unsigned long end);
@@ -35,6 +54,18 @@ extern void mn10300_dcache_flush_inv_page(unsigned long start);
35extern void mn10300_dcache_flush_inv_range(unsigned long start, unsigned long end); 54extern void mn10300_dcache_flush_inv_range(unsigned long start, unsigned long end);
36extern void mn10300_dcache_flush_inv_range2(unsigned long start, unsigned long size); 55extern void mn10300_dcache_flush_inv_range2(unsigned long start, unsigned long size);
37#else 56#else
57#define mn10300_local_dcache_flush() do {} while (0)
58#define mn10300_local_dcache_flush_page(start) do {} while (0)
59#define mn10300_local_dcache_flush_range(start, end) do {} while (0)
60#define mn10300_local_dcache_flush_range2(start, size) do {} while (0)
61#define mn10300_local_dcache_flush_inv() \
62 mn10300_local_dcache_inv()
63#define mn10300_local_dcache_flush_inv_page(start) \
64 mn10300_local_dcache_inv_page(start)
65#define mn10300_local_dcache_flush_inv_range(start, end) \
66 mn10300_local_dcache_inv_range(start, end)
67#define mn10300_local_dcache_flush_inv_range2(start, size) \
68 mn10300_local_dcache_inv_range2(start, size)
38#define mn10300_dcache_flush() do {} while (0) 69#define mn10300_dcache_flush() do {} while (0)
39#define mn10300_dcache_flush_page(start) do {} while (0) 70#define mn10300_dcache_flush_page(start) do {} while (0)
40#define mn10300_dcache_flush_range(start, end) do {} while (0) 71#define mn10300_dcache_flush_range(start, end) do {} while (0)
@@ -48,7 +79,26 @@ extern void mn10300_dcache_flush_inv_range2(unsigned long start, unsigned long s
48 mn10300_dcache_inv_range2((start), (size)) 79 mn10300_dcache_inv_range2((start), (size))
49#endif /* CONFIG_MN10300_CACHE_WBACK */ 80#endif /* CONFIG_MN10300_CACHE_WBACK */
50#else 81#else
82#define mn10300_local_icache_inv() do {} while (0)
83#define mn10300_local_icache_inv_page(start) do {} while (0)
84#define mn10300_local_icache_inv_range(start, end) do {} while (0)
85#define mn10300_local_icache_inv_range2(start, size) do {} while (0)
86#define mn10300_local_dcache_inv() do {} while (0)
87#define mn10300_local_dcache_inv_page(start) do {} while (0)
88#define mn10300_local_dcache_inv_range(start, end) do {} while (0)
89#define mn10300_local_dcache_inv_range2(start, size) do {} while (0)
90#define mn10300_local_dcache_flush() do {} while (0)
91#define mn10300_local_dcache_flush_inv_page(start) do {} while (0)
92#define mn10300_local_dcache_flush_inv() do {} while (0)
93#define mn10300_local_dcache_flush_inv_range(start, end)do {} while (0)
94#define mn10300_local_dcache_flush_inv_range2(start, size) do {} while (0)
95#define mn10300_local_dcache_flush_page(start) do {} while (0)
96#define mn10300_local_dcache_flush_range(start, end) do {} while (0)
97#define mn10300_local_dcache_flush_range2(start, size) do {} while (0)
51#define mn10300_icache_inv() do {} while (0) 98#define mn10300_icache_inv() do {} while (0)
99#define mn10300_icache_inv_page(start) do {} while (0)
100#define mn10300_icache_inv_range(start, end) do {} while (0)
101#define mn10300_icache_inv_range2(start, size) do {} while (0)
52#define mn10300_dcache_inv() do {} while (0) 102#define mn10300_dcache_inv() do {} while (0)
53#define mn10300_dcache_inv_page(start) do {} while (0) 103#define mn10300_dcache_inv_page(start) do {} while (0)
54#define mn10300_dcache_inv_range(start, end) do {} while (0) 104#define mn10300_dcache_inv_range(start, end) do {} while (0)