summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/book3s_hv_rmhandlers.S
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-03-12 18:03:49 +0100
committerPaul Mackerras <paulus@ozlabs.org>2017-08-24 12:01:39 +0200
commitbd0fdb191c8523a9126bb14ac1b22cb47698ebf5 (patch)
tree7887a3e0f241b09ecf4147c873a80676c1e40984 /arch/powerpc/kvm/book3s_hv_rmhandlers.S
parentMerge tag 'kvm-s390-master-4.13-2' of git://git.kernel.org/pub/scm/linux/kern... (diff)
downloadlinux-bd0fdb191c8523a9126bb14ac1b22cb47698ebf5.tar.xz
linux-bd0fdb191c8523a9126bb14ac1b22cb47698ebf5.zip
KVM: PPC: Book3S HV: Use msgsync with hypervisor doorbells on POWER9
When msgsnd is used for IPIs to other cores, msgsync must be executed by the target to order stores performed on the source before its msgsnd (provided the source executes the appropriate sync). Fixes: 1704a81ccebc ("KVM: PPC: Book3S HV: Use msgsnd for IPIs to other cores on POWER9") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Diffstat (limited to '')
-rw-r--r--arch/powerpc/kvm/book3s_hv_rmhandlers.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
index c52184a8efdf..9c9c983b864f 100644
--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
@@ -1291,6 +1291,9 @@ END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR)
/* Hypervisor doorbell - exit only if host IPI flag set */
cmpwi r12, BOOK3S_INTERRUPT_H_DOORBELL
bne 3f
+BEGIN_FTR_SECTION
+ PPC_MSGSYNC
+END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
lbz r0, HSTATE_HOST_IPI(r13)
cmpwi r0, 0
beq 4f