diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2012-05-11 07:35:12 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-05-11 22:27:51 -0400 |
commit | e098ff92f65048ce327927c0ce3daed0ef34988f (patch) | |
tree | 6ab654a8986dce61840bd77944af1f7f04ffc328 | |
parent | 054768a132c5c78d1aebf8be1b2927814c670845 (diff) |
sparc32: drop sun4c stack checking routine
And drop run-time patching too.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | arch/sparc/kernel/etrap_32.S | 50 | ||||
-rw-r--r-- | arch/sparc/mm/srmmu.c | 1 |
2 files changed, 1 insertions, 50 deletions
diff --git a/arch/sparc/kernel/etrap_32.S b/arch/sparc/kernel/etrap_32.S index e806fcdc46db..84b5f0d2afde 100644 --- a/arch/sparc/kernel/etrap_32.S +++ b/arch/sparc/kernel/etrap_32.S | |||
@@ -216,9 +216,7 @@ tsetup_patch6: | |||
216 | /* Call MMU-architecture dependent stack checking | 216 | /* Call MMU-architecture dependent stack checking |
217 | * routine. | 217 | * routine. |
218 | */ | 218 | */ |
219 | .globl tsetup_mmu_patchme | 219 | b tsetup_srmmu_stackchk |
220 | tsetup_mmu_patchme: | ||
221 | b tsetup_sun4c_stackchk | ||
222 | andcc %sp, 0x7, %g0 | 220 | andcc %sp, 0x7, %g0 |
223 | 221 | ||
224 | /* Architecture specific stack checking routines. When either | 222 | /* Architecture specific stack checking routines. When either |
@@ -228,52 +226,6 @@ tsetup_mmu_patchme: | |||
228 | */ | 226 | */ |
229 | #define glob_tmp g1 | 227 | #define glob_tmp g1 |
230 | 228 | ||
231 | tsetup_sun4c_stackchk: | ||
232 | /* Done by caller: andcc %sp, 0x7, %g0 */ | ||
233 | bne trap_setup_user_stack_is_bolixed | ||
234 | sra %sp, 29, %glob_tmp | ||
235 | |||
236 | add %glob_tmp, 0x1, %glob_tmp | ||
237 | andncc %glob_tmp, 0x1, %g0 | ||
238 | bne trap_setup_user_stack_is_bolixed | ||
239 | and %sp, 0xfff, %glob_tmp ! delay slot | ||
240 | |||
241 | /* See if our dump area will be on more than one | ||
242 | * page. | ||
243 | */ | ||
244 | add %glob_tmp, 0x38, %glob_tmp | ||
245 | andncc %glob_tmp, 0xff8, %g0 | ||
246 | be tsetup_sun4c_onepage ! only one page to check | ||
247 | lda [%sp] ASI_PTE, %glob_tmp ! have to check first page anyways | ||
248 | |||
249 | tsetup_sun4c_twopages: | ||
250 | /* Is first page ok permission wise? */ | ||
251 | srl %glob_tmp, 29, %glob_tmp | ||
252 | cmp %glob_tmp, 0x6 | ||
253 | bne trap_setup_user_stack_is_bolixed | ||
254 | add %sp, 0x38, %glob_tmp /* Is second page in vma hole? */ | ||
255 | |||
256 | sra %glob_tmp, 29, %glob_tmp | ||
257 | add %glob_tmp, 0x1, %glob_tmp | ||
258 | andncc %glob_tmp, 0x1, %g0 | ||
259 | bne trap_setup_user_stack_is_bolixed | ||
260 | add %sp, 0x38, %glob_tmp | ||
261 | |||
262 | lda [%glob_tmp] ASI_PTE, %glob_tmp | ||
263 | |||
264 | tsetup_sun4c_onepage: | ||
265 | srl %glob_tmp, 29, %glob_tmp | ||
266 | cmp %glob_tmp, 0x6 ! can user write to it? | ||
267 | bne trap_setup_user_stack_is_bolixed ! failure | ||
268 | nop | ||
269 | |||
270 | STORE_WINDOW(sp) | ||
271 | |||
272 | restore %g0, %g0, %g0 | ||
273 | |||
274 | jmpl %t_retpc + 0x8, %g0 | ||
275 | mov %t_kstack, %sp | ||
276 | |||
277 | .globl tsetup_srmmu_stackchk | 229 | .globl tsetup_srmmu_stackchk |
278 | tsetup_srmmu_stackchk: | 230 | tsetup_srmmu_stackchk: |
279 | /* Check results of callers andcc %sp, 0x7, %g0 */ | 231 | /* Check results of callers andcc %sp, 0x7, %g0 */ |
diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index 43dcb36c167e..deb7dd8ea975 100644 --- a/arch/sparc/mm/srmmu.c +++ b/arch/sparc/mm/srmmu.c | |||
@@ -2144,7 +2144,6 @@ static void __init patch_window_trap_handlers(void) | |||
2144 | { | 2144 | { |
2145 | unsigned long *iaddr, *daddr; | 2145 | unsigned long *iaddr, *daddr; |
2146 | 2146 | ||
2147 | PATCH_BRANCH(tsetup_mmu_patchme, tsetup_srmmu_stackchk); | ||
2148 | PATCH_BRANCH(rtrap_mmu_patchme, srmmu_rett_stackchk); | 2147 | PATCH_BRANCH(rtrap_mmu_patchme, srmmu_rett_stackchk); |
2149 | } | 2148 | } |
2150 | 2149 | ||