Commit af02bec6 authored by David S. Miller's avatar David S. Miller

[SPARC64]: Fix return from trap on SUN4V.

We need to set the global register set _AND_ disable
PSTATE_IE in %pstate.  The original patch sequence was
leaving PSTATE_IE enabled when returning to kernel mode,
oops.

This fixes the random register corruption being seen
on SUN4V.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4ff7ac41
...@@ -234,8 +234,10 @@ rt_continue: ldx [%sp + PTREGS_OFF + PT_V9_G1], %g1 ...@@ -234,8 +234,10 @@ rt_continue: ldx [%sp + PTREGS_OFF + PT_V9_G1], %g1
/* Normal globals are restored, go to trap globals. */ /* Normal globals are restored, go to trap globals. */
661: wrpr %g0, RTRAP_PSTATE_AG_IRQOFF, %pstate 661: wrpr %g0, RTRAP_PSTATE_AG_IRQOFF, %pstate
.section .sun4v_1insn_patch, "ax" nop
.section .sun4v_2insn_patch, "ax"
.word 661b .word 661b
wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate
SET_GL(1) SET_GL(1)
.previous .previous
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment