]> www.infradead.org Git - users/dwmw2/qemu.git/commit
target/ppc: Fix msgsnd for POWER8
authorNicholas Piggin <npiggin@gmail.com>
Sat, 6 Jul 2024 03:22:58 +0000 (13:22 +1000)
committerNicholas Piggin <npiggin@gmail.com>
Thu, 25 Jul 2024 23:21:06 +0000 (09:21 +1000)
commit7f516cdeef6d62e78ee769855dff95666e6b8c1d
treea996bb09c37fd3a7f873d084e090609476e5aafd
parent24bd283bccb334109f112839ab6867f0192045d6
target/ppc: Fix msgsnd for POWER8

POWER8 (ISA v2.07S) introduced the doorbell facility, the msgsnd
instruction behaved mostly like msgsndp, it was addressed by TIR
and could only send interrupts between threads on the core.

ISA v3.0 changed msgsnd to be addressed by PIR and can interrupt
any thread in the system.

msgsnd only implements the v3.0 semantics, which can make
multi-threaded POWER8 hang when booting Linux (due to IPIs
failing). This change adds v2.07 semantics.

Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
target/ppc/excp_helper.c