[SPARC64]: Don't clobber alt-global %g4 on window fixups.
authorDavid S. Miller <davem@davemloft.net>
Wed, 1 Feb 2006 02:35:05 +0000 (18:35 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 20 Mar 2006 09:11:30 +0000 (01:11 -0800)
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>
arch/sparc64/kernel/winfixup.S

index ade991b7d07904ec0a8ce2effa43ec00f739efd4..320a762d051922f6b2fa4b3141e88550403faf7e 100644 (file)
@@ -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