diff options
author | Akira Takeuchi <takeuchi.akr@jp.panasonic.com> | 2010-10-27 12:28:45 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2010-10-27 12:28:45 -0400 |
commit | 0bd3eb6ca772775da6125ea5b044d4257473d18d (patch) | |
tree | a5aa631714910e2d9a698cd9334bbe1b49e33e2f /arch/mn10300/include | |
parent | 9b287bf9924cedaf1accd7293db3627bef7c46e3 (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.h | 50 |
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 |
23 | extern void mn10300_local_icache_inv(void); | ||
24 | extern void mn10300_local_icache_inv_page(unsigned long start); | ||
25 | extern void mn10300_local_icache_inv_range(unsigned long start, unsigned long end); | ||
26 | extern void mn10300_local_icache_inv_range2(unsigned long start, unsigned long size); | ||
27 | extern void mn10300_local_dcache_inv(void); | ||
28 | extern void mn10300_local_dcache_inv_page(unsigned long start); | ||
29 | extern void mn10300_local_dcache_inv_range(unsigned long start, unsigned long end); | ||
30 | extern void mn10300_local_dcache_inv_range2(unsigned long start, unsigned long size); | ||
23 | extern void mn10300_icache_inv(void); | 31 | extern void mn10300_icache_inv(void); |
32 | extern void mn10300_icache_inv_page(unsigned long start); | ||
33 | extern void mn10300_icache_inv_range(unsigned long start, unsigned long end); | ||
34 | extern void mn10300_icache_inv_range2(unsigned long start, unsigned long size); | ||
24 | extern void mn10300_dcache_inv(void); | 35 | extern void mn10300_dcache_inv(void); |
25 | extern void mn10300_dcache_inv_page(unsigned long start); | 36 | extern void mn10300_dcache_inv_page(unsigned long start); |
26 | extern void mn10300_dcache_inv_range(unsigned long start, unsigned long end); | 37 | extern void mn10300_dcache_inv_range(unsigned long start, unsigned long end); |
27 | extern void mn10300_dcache_inv_range2(unsigned long start, unsigned long size); | 38 | extern void mn10300_dcache_inv_range2(unsigned long start, unsigned long size); |
28 | #ifdef CONFIG_MN10300_CACHE_WBACK | 39 | #ifdef CONFIG_MN10300_CACHE_WBACK |
40 | extern void mn10300_local_dcache_flush(void); | ||
41 | extern void mn10300_local_dcache_flush_page(unsigned long start); | ||
42 | extern void mn10300_local_dcache_flush_range(unsigned long start, unsigned long end); | ||
43 | extern void mn10300_local_dcache_flush_range2(unsigned long start, unsigned long size); | ||
44 | extern void mn10300_local_dcache_flush_inv(void); | ||
45 | extern void mn10300_local_dcache_flush_inv_page(unsigned long start); | ||
46 | extern void mn10300_local_dcache_flush_inv_range(unsigned long start, unsigned long end); | ||
47 | extern void mn10300_local_dcache_flush_inv_range2(unsigned long start, unsigned long size); | ||
29 | extern void mn10300_dcache_flush(void); | 48 | extern void mn10300_dcache_flush(void); |
30 | extern void mn10300_dcache_flush_page(unsigned long start); | 49 | extern void mn10300_dcache_flush_page(unsigned long start); |
31 | extern void mn10300_dcache_flush_range(unsigned long start, unsigned long end); | 50 | extern 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); | |||
35 | extern void mn10300_dcache_flush_inv_range(unsigned long start, unsigned long end); | 54 | extern void mn10300_dcache_flush_inv_range(unsigned long start, unsigned long end); |
36 | extern void mn10300_dcache_flush_inv_range2(unsigned long start, unsigned long size); | 55 | extern 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) |