diff options
author | David S. Miller <davem@davemloft.net> | 2006-01-31 21:35:05 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:11:30 -0500 |
commit | 30a6ecad9670d97c9d0fbfa7d80970aeb339bdec (patch) | |
tree | 37f3b37871f23a8fb4fcb14527c68a49a7e1c270 /arch/sparc64/kernel/winfixup.S | |
parent | 86b818687d4894063ecd1190e54717a0cce8c009 (diff) |
[SPARC64]: Don't clobber alt-global %g4 on window fixups.
If we are returning back to kernel mode, %g4 could be live
(for example, in the case where we window spill in the etrap
code). So do not change it's value if going back to kernel.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/winfixup.S')
-rw-r--r-- | arch/sparc64/kernel/winfixup.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/winfixup.S b/arch/sparc64/kernel/winfixup.S index ade991b7d079..320a762d0519 100644 --- a/arch/sparc64/kernel/winfixup.S +++ b/arch/sparc64/kernel/winfixup.S | |||
@@ -160,7 +160,7 @@ spill_fixup: | |||
160 | andcc %g1, TSTATE_PRIV, %g0 | 160 | andcc %g1, TSTATE_PRIV, %g0 |
161 | saved | 161 | saved |
162 | and %g1, TSTATE_CWP, %g1 | 162 | and %g1, TSTATE_CWP, %g1 |
163 | be,pn %xcc, window_scheisse_from_user_common | 163 | be,a,pn %xcc, window_scheisse_from_user_common |
164 | mov FAULT_CODE_WRITE | FAULT_CODE_DTLB | FAULT_CODE_WINFIXUP, %g4 | 164 | mov FAULT_CODE_WRITE | FAULT_CODE_DTLB | FAULT_CODE_WINFIXUP, %g4 |
165 | retry | 165 | retry |
166 | 166 | ||