OSDN Git Service

[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 ade991b..320a762 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