Looks good. Reviewed-by: Caleb Schlossin <cal...@linux.ibm.com>
On 5/11/25 10:10 PM, Nicholas Piggin wrote: > Group interrupts should not be taken from the backlog and presented > if they are precluded by CPPR. > > Fixes: 855434b3b8 ("ppc/xive2: Process group backlog when pushing an OS > context") > Signed-off-by: Nicholas Piggin <npig...@gmail.com> > --- > hw/intc/xive2.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/hw/intc/xive2.c b/hw/intc/xive2.c > index 1971c05fa1..8ede95b671 100644 > --- a/hw/intc/xive2.c > +++ b/hw/intc/xive2.c > @@ -845,7 +845,9 @@ static void xive2_tctx_need_resend(Xive2Router *xrtr, > XiveTCTX *tctx, > group_prio = xive2_presenter_backlog_scan(xptr, nvp_blk, nvp_idx, > first_group, &group_level); > regs[TM_LSMFB] = group_prio; > - if (regs[TM_LGS] && group_prio < backlog_prio) { > + if (regs[TM_LGS] && group_prio < backlog_prio && > + group_prio < regs[TM_CPPR]) { > + > /* VP can take a group interrupt */ > xive2_presenter_backlog_decr(xptr, nvp_blk, nvp_idx, > group_prio, group_level);