aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-02-17 02:28:00 -0500
committerPaul Mundt <lethal@linux-sh.org>2010-02-17 02:28:00 -0500
commit9edef28653a519bf0a48250f36cce96b1736ec4e (patch)
tree68049b29e69228fe0cdf26b27a3743928c5e7fdb /arch/sh/kernel
parent51becfd96287b3913b13075699433730984e2f4f (diff)
sh: uncached mapping helpers.
This adds some helper routines for uncached mapping support. This simplifies some of the cases where we need to check the uncached mapping boundaries in addition to giving us a centralized location for building more complex manipulation on top of. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r--arch/sh/kernel/head_32.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/sh/kernel/head_32.S b/arch/sh/kernel/head_32.S
index 91ae76277d8f..79ff39517f8e 100644
--- a/arch/sh/kernel/head_32.S
+++ b/arch/sh/kernel/head_32.S
@@ -152,6 +152,7 @@ ENTRY(_stext)
152 152
153 mov #0, r10 153 mov #0, r10
154 154
155#ifdef CONFIG_UNCACHED_MAPPING
155 /* 156 /*
156 * Uncached mapping 157 * Uncached mapping
157 */ 158 */
@@ -171,6 +172,7 @@ ENTRY(_stext)
171 add r4, r1 172 add r4, r1
172 add r4, r3 173 add r4, r3
173 add #1, r10 174 add #1, r10
175#endif
174 176
175/* 177/*
176 * Iterate over all of the available sizes from largest to 178 * Iterate over all of the available sizes from largest to
@@ -216,6 +218,7 @@ ENTRY(_stext)
216 __PMB_ITER_BY_SIZE(64) 218 __PMB_ITER_BY_SIZE(64)
217 __PMB_ITER_BY_SIZE(16) 219 __PMB_ITER_BY_SIZE(16)
218 220
221#ifdef CONFIG_UNCACHED_MAPPING
219 /* 222 /*
220 * Now that we can access it, update cached_to_uncached and 223 * Now that we can access it, update cached_to_uncached and
221 * uncached_size. 224 * uncached_size.
@@ -228,6 +231,7 @@ ENTRY(_stext)
228 shll16 r7 231 shll16 r7
229 shll8 r7 232 shll8 r7
230 mov.l r7, @r0 233 mov.l r7, @r0
234#endif
231 235
232 /* 236 /*
233 * Clear the remaining PMB entries. 237 * Clear the remaining PMB entries.
@@ -306,7 +310,9 @@ ENTRY(stack_start)
306.LFIRST_ADDR_ENTRY: .long PAGE_OFFSET | PMB_V 310.LFIRST_ADDR_ENTRY: .long PAGE_OFFSET | PMB_V
307.LFIRST_DATA_ENTRY: .long __MEMORY_START | PMB_V 311.LFIRST_DATA_ENTRY: .long __MEMORY_START | PMB_V
308.LMMUCR: .long MMUCR 312.LMMUCR: .long MMUCR
313.LMEMORY_SIZE: .long __MEMORY_SIZE
314#ifdef CONFIG_UNCACHED_MAPPING
309.Lcached_to_uncached: .long cached_to_uncached 315.Lcached_to_uncached: .long cached_to_uncached
310.Luncached_size: .long uncached_size 316.Luncached_size: .long uncached_size
311.LMEMORY_SIZE: .long __MEMORY_SIZE 317#endif
312#endif 318#endif