]> git.ipfire.org Git - thirdparty/qemu.git/commit
ppc/xive2: Set CPPR delivery should account for group priority
authorNicholas Piggin <npiggin@gmail.com>
Mon, 12 May 2025 03:10:21 +0000 (13:10 +1000)
committerCédric Le Goater <clg@redhat.com>
Mon, 21 Jul 2025 06:03:52 +0000 (08:03 +0200)
commitad9175f8a2d7b4ef7d63e9663a42e7f7a44bc3f5
treee41a5ad36d6f9c35be906345b2e0e3e7c4301f52
parent3abbec04e627396c32f2b7b7461961fb68c5c122
ppc/xive2: Set CPPR delivery should account for group priority

The group interrupt delivery flow selects the group backlog scan if
LSMFB < IPB, but that scan may find an interrupt with a priority >=
IPB. In that case, the VP-direct interrupt should be chosen. This
extends to selecting the lowest prio between POOL and PHYS rings.

Implement this just by re-starting the selection logic if the
backlog irq was not found or priority did not match LSMFB (LSMFB
is updated so next time around it would see the right value and
not loop infinitely).

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Michael Kowal <kowal@linux.ibm.com>
Reviewed-by: Caleb Schlossin <calebs@linux.ibm.com>
Tested-by: Gautam Menghani <gautam@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20250512031100.439842-13-npiggin@gmail.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
hw/intc/xive2.c