diff options
-rw-r--r-- | arch/sparc64/kernel/entry.S | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/sparc64/kernel/entry.S b/arch/sparc64/kernel/entry.S index ad919f4f4b37..563fa4ec33f8 100644 --- a/arch/sparc64/kernel/entry.S +++ b/arch/sparc64/kernel/entry.S | |||
@@ -1475,13 +1475,14 @@ ret_from_syscall: | |||
1475 | 1475 | ||
1476 | 1: b,pt %xcc, ret_sys_call | 1476 | 1: b,pt %xcc, ret_sys_call |
1477 | ldx [%sp + PTREGS_OFF + PT_V9_I0], %o0 | 1477 | ldx [%sp + PTREGS_OFF + PT_V9_I0], %o0 |
1478 | sparc_exit: wrpr %g0, (PSTATE_RMO | PSTATE_PEF | PSTATE_PRIV), %pstate | 1478 | sparc_exit: rdpr %pstate, %g2 |
1479 | wrpr %g2, PSTATE_IE, %pstate | ||
1479 | rdpr %otherwin, %g1 | 1480 | rdpr %otherwin, %g1 |
1480 | rdpr %cansave, %g3 | 1481 | rdpr %cansave, %g3 |
1481 | add %g3, %g1, %g3 | 1482 | add %g3, %g1, %g3 |
1482 | wrpr %g3, 0x0, %cansave | 1483 | wrpr %g3, 0x0, %cansave |
1483 | wrpr %g0, 0x0, %otherwin | 1484 | wrpr %g0, 0x0, %otherwin |
1484 | wrpr %g0, (PSTATE_RMO | PSTATE_PEF | PSTATE_PRIV | PSTATE_IE), %pstate | 1485 | wrpr %g2, 0x0, %pstate |
1485 | ba,pt %xcc, sys_exit | 1486 | ba,pt %xcc, sys_exit |
1486 | stb %g0, [%g6 + TI_WSAVED] | 1487 | stb %g0, [%g6 + TI_WSAVED] |
1487 | 1488 | ||