Skip to content

Commit 2cde371

Browse files
npigginpaulusmack
authored andcommitted
KVM: PPC: Book3S HV: POWER9 more doorbell fixes
- Add another case where msgsync is required. - Required barrier sequence for global doorbells is msgsync ; lwsync 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: 1704a81 ("KVM: PPC: Book3S HV: Use msgsnd for IPIs to other cores on POWER9") Cc: [email protected] # v4.10+ Signed-off-by: Nicholas Piggin <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
1 parent ac64115 commit 2cde371

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

arch/powerpc/kvm/book3s_hv_rmhandlers.S

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1310,6 +1310,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR)
13101310
bne 3f
13111311
BEGIN_FTR_SECTION
13121312
PPC_MSGSYNC
1313+
lwsync
13131314
END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
13141315
lbz r0, HSTATE_HOST_IPI(r13)
13151316
cmpwi r0, 0
@@ -2788,6 +2789,10 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)
27882789
PPC_MSGCLR(6)
27892790
/* see if it's a host IPI */
27902791
li r3, 1
2792+
BEGIN_FTR_SECTION
2793+
PPC_MSGSYNC
2794+
lwsync
2795+
END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
27912796
lbz r0, HSTATE_HOST_IPI(r13)
27922797
cmpwi r0, 0
27932798
bnelr

0 commit comments

Comments
 (0)