aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/winfixup.S
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2006-01-31 21:35:05 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 04:11:30 -0500
commit30a6ecad9670d97c9d0fbfa7d80970aeb339bdec (patch)
tree37f3b37871f23a8fb4fcb14527c68a49a7e1c270 /arch/sparc64/kernel/winfixup.S
parent86b818687d4894063ecd1190e54717a0cce8c009 (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.S2
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