Commit 054768a1 authored by Sam Ravnborg's avatar Sam Ravnborg Committed by David S. Miller

sparc32: drop sun4c window overflow stack checking routine

Also drop run-time patching for srmmu
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 28de2f73
...@@ -163,9 +163,8 @@ spwin_fromuser: ...@@ -163,9 +163,8 @@ spwin_fromuser:
* the label 'spwin_user_stack_is_bolixed' which will take * the label 'spwin_user_stack_is_bolixed' which will take
* care of things at that point. * care of things at that point.
*/ */
.globl spwin_mmu_patchme b spwin_srmmu_stackchk
spwin_mmu_patchme: b spwin_sun4c_stackchk andcc %sp, 0x7, %g0
andcc %sp, 0x7, %g0
spwin_good_ustack: spwin_good_ustack:
/* LOCATION: Window to be saved */ /* LOCATION: Window to be saved */
...@@ -306,73 +305,6 @@ spwin_bad_ustack_from_kernel: ...@@ -306,73 +305,6 @@ spwin_bad_ustack_from_kernel:
* As noted above %curptr cannot be touched by this routine at all. * As noted above %curptr cannot be touched by this routine at all.
*/ */
spwin_sun4c_stackchk:
/* LOCATION: Window to be saved on the stack */
/* See if the stack is in the address space hole but first,
* check results of callers andcc %sp, 0x7, %g0
*/
be 1f
sra %sp, 29, %glob_tmp
rd %psr, %glob_tmp
b spwin_user_stack_is_bolixed + 0x4
nop
1:
add %glob_tmp, 0x1, %glob_tmp
andncc %glob_tmp, 0x1, %g0
be 1f
and %sp, 0xfff, %glob_tmp ! delay slot
rd %psr, %glob_tmp
b spwin_user_stack_is_bolixed + 0x4
nop
/* See if our dump area will be on more than one
* page.
*/
1:
add %glob_tmp, 0x38, %glob_tmp
andncc %glob_tmp, 0xff8, %g0
be spwin_sun4c_onepage ! only one page to check
lda [%sp] ASI_PTE, %glob_tmp ! have to check first page anyways
spwin_sun4c_twopages:
/* Is first page ok permission wise? */
srl %glob_tmp, 29, %glob_tmp
cmp %glob_tmp, 0x6
be 1f
add %sp, 0x38, %glob_tmp /* Is second page in vma hole? */
rd %psr, %glob_tmp
b spwin_user_stack_is_bolixed + 0x4
nop
1:
sra %glob_tmp, 29, %glob_tmp
add %glob_tmp, 0x1, %glob_tmp
andncc %glob_tmp, 0x1, %g0
be 1f
add %sp, 0x38, %glob_tmp
rd %psr, %glob_tmp
b spwin_user_stack_is_bolixed + 0x4
nop
1:
lda [%glob_tmp] ASI_PTE, %glob_tmp
spwin_sun4c_onepage:
srl %glob_tmp, 29, %glob_tmp
cmp %glob_tmp, 0x6 ! can user write to it?
be spwin_good_ustack ! success
nop
rd %psr, %glob_tmp
b spwin_user_stack_is_bolixed + 0x4
nop
/* This is a generic SRMMU routine. As far as I know this /* This is a generic SRMMU routine. As far as I know this
* works for all current v8/srmmu implementations, we'll * works for all current v8/srmmu implementations, we'll
* see... * see...
......
...@@ -2144,7 +2144,6 @@ static void __init patch_window_trap_handlers(void) ...@@ -2144,7 +2144,6 @@ static void __init patch_window_trap_handlers(void)
{ {
unsigned long *iaddr, *daddr; unsigned long *iaddr, *daddr;
PATCH_BRANCH(spwin_mmu_patchme, spwin_srmmu_stackchk);
PATCH_BRANCH(tsetup_mmu_patchme, tsetup_srmmu_stackchk); PATCH_BRANCH(tsetup_mmu_patchme, tsetup_srmmu_stackchk);
PATCH_BRANCH(rtrap_mmu_patchme, srmmu_rett_stackchk); PATCH_BRANCH(rtrap_mmu_patchme, srmmu_rett_stackchk);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment