diff options
Diffstat (limited to 'arch/sparc64/kernel/tsb.S')
-rw-r--r-- | arch/sparc64/kernel/tsb.S | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/sparc64/kernel/tsb.S b/arch/sparc64/kernel/tsb.S index 3b45db98005a..96e63168d8b2 100644 --- a/arch/sparc64/kernel/tsb.S +++ b/arch/sparc64/kernel/tsb.S | |||
@@ -82,9 +82,17 @@ tsb_itlb_load: | |||
82 | .globl tsb_do_fault | 82 | .globl tsb_do_fault |
83 | tsb_do_fault: | 83 | tsb_do_fault: |
84 | cmp %g3, FAULT_CODE_DTLB | 84 | cmp %g3, FAULT_CODE_DTLB |
85 | rdpr %pstate, %g5 | 85 | |
86 | 661: rdpr %pstate, %g5 | ||
87 | wrpr %g5, PSTATE_AG | PSTATE_MG, %pstate | ||
88 | .section .gl_2insn_patch, "ax" | ||
89 | .word 661b | ||
90 | nop | ||
91 | nop | ||
92 | .previous | ||
93 | |||
86 | bne,pn %xcc, tsb_do_itlb_fault | 94 | bne,pn %xcc, tsb_do_itlb_fault |
87 | wrpr %g5, PSTATE_AG | PSTATE_MG, %pstate | 95 | nop |
88 | 96 | ||
89 | tsb_do_dtlb_fault: | 97 | tsb_do_dtlb_fault: |
90 | rdpr %tl, %g4 | 98 | rdpr %tl, %g4 |