Reviewed-by: Glenn Miles <mil...@linux.ibm.com>

On Mon, 2025-05-12 at 13:10 +1000, Nicholas Piggin wrote:
> When CPPR priority is decreased, pending interrupts do not need to be
> re-checked if one is already presented because by definition that will
> be the highest priority.
> 
> This prevents a presented group interrupt from being lost.
> 
> 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 0fdf6a4f20..ace5871706 100644
> --- a/hw/intc/xive2.c
> +++ b/hw/intc/xive2.c
> @@ -1250,7 +1250,9 @@ static void xive2_tctx_set_cppr(XiveTCTX *tctx, uint8_t 
> sig_ring, uint8_t cppr)
>      }
>  
>      /* CPPR priority decreased (higher value) */
> -    xive2_tctx_process_pending(tctx, sig_ring);
> +    if (!xive_nsr_indicates_exception(sig_ring, nsr)) {
> +        xive2_tctx_process_pending(tctx, sig_ring);
> +    }
>  }
>  
>  void xive2_tm_set_hv_cppr(XivePresenter *xptr, XiveTCTX *tctx,


Reply via email to