summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2006-01-31 18:35:05 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 01:11:30 -0800
commit30a6ecad9670d97c9d0fbfa7d80970aeb339bdec (patch)
tree37f3b37871f23a8fb4fcb14527c68a49a7e1c270
parent86b818687d4894063ecd1190e54717a0cce8c009 (diff)
downloadlinux-30a6ecad9670d97c9d0fbfa7d80970aeb339bdec.tar.gz
linux-30a6ecad9670d97c9d0fbfa7d80970aeb339bdec.tar.bz2
linux-30a6ecad9670d97c9d0fbfa7d80970aeb339bdec.zip
[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>
-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:
andcc %g1, TSTATE_PRIV, %g0
saved
and %g1, TSTATE_CWP, %g1
- be,pn %xcc, window_scheisse_from_user_common
+ be,a,pn %xcc, window_scheisse_from_user_common
mov FAULT_CODE_WRITE | FAULT_CODE_DTLB | FAULT_CODE_WINFIXUP, %g4
retry