aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kvm/book3s_hv_rmhandlers.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
index c700bedccaab..42639fba89e8 100644
--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
@@ -989,13 +989,14 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_300)
989 beq no_xive 989 beq no_xive
990 ld r11, VCPU_XIVE_SAVED_STATE(r4) 990 ld r11, VCPU_XIVE_SAVED_STATE(r4)
991 li r9, TM_QW1_OS 991 li r9, TM_QW1_OS
992 stdcix r11,r9,r10
993 eieio 992 eieio
993 stdcix r11,r9,r10
994 lwz r11, VCPU_XIVE_CAM_WORD(r4) 994 lwz r11, VCPU_XIVE_CAM_WORD(r4)
995 li r9, TM_QW1_OS + TM_WORD2 995 li r9, TM_QW1_OS + TM_WORD2
996 stwcix r11,r9,r10 996 stwcix r11,r9,r10
997 li r9, 1 997 li r9, 1
998 stw r9, VCPU_XIVE_PUSHED(r4) 998 stw r9, VCPU_XIVE_PUSHED(r4)
999 eieio
999no_xive: 1000no_xive:
1000#endif /* CONFIG_KVM_XICS */ 1001#endif /* CONFIG_KVM_XICS */
1001 1002
@@ -1401,8 +1402,8 @@ guest_exit_cont: /* r9 = vcpu, r12 = trap, r13 = paca */
1401 cmpldi cr0, r10, 0 1402 cmpldi cr0, r10, 0
1402 beq 1f 1403 beq 1f
1403 /* First load to pull the context, we ignore the value */ 1404 /* First load to pull the context, we ignore the value */
1404 lwzx r11, r7, r10
1405 eieio 1405 eieio
1406 lwzx r11, r7, r10
1406 /* Second load to recover the context state (Words 0 and 1) */ 1407 /* Second load to recover the context state (Words 0 and 1) */
1407 ldx r11, r6, r10 1408 ldx r11, r6, r10
1408 b 3f 1409 b 3f
@@ -1410,8 +1411,8 @@ guest_exit_cont: /* r9 = vcpu, r12 = trap, r13 = paca */
1410 cmpldi cr0, r10, 0 1411 cmpldi cr0, r10, 0
1411 beq 1f 1412 beq 1f
1412 /* First load to pull the context, we ignore the value */ 1413 /* First load to pull the context, we ignore the value */
1413 lwzcix r11, r7, r10
1414 eieio 1414 eieio
1415 lwzcix r11, r7, r10
1415 /* Second load to recover the context state (Words 0 and 1) */ 1416 /* Second load to recover the context state (Words 0 and 1) */
1416 ldcix r11, r6, r10 1417 ldcix r11, r6, r10
14173: std r11, VCPU_XIVE_SAVED_STATE(r9) 14183: std r11, VCPU_XIVE_SAVED_STATE(r9)
@@ -1421,6 +1422,7 @@ guest_exit_cont: /* r9 = vcpu, r12 = trap, r13 = paca */
1421 stw r10, VCPU_XIVE_PUSHED(r9) 1422 stw r10, VCPU_XIVE_PUSHED(r9)
1422 stb r10, (VCPU_XIVE_SAVED_STATE+3)(r9) 1423 stb r10, (VCPU_XIVE_SAVED_STATE+3)(r9)
1423 stb r0, (VCPU_XIVE_SAVED_STATE+4)(r9) 1424 stb r0, (VCPU_XIVE_SAVED_STATE+4)(r9)
1425 eieio
14241: 14261:
1425#endif /* CONFIG_KVM_XICS */ 1427#endif /* CONFIG_KVM_XICS */
1426 /* Save more register state */ 1428 /* Save more register state */