qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 10/50] ppc/xive2: Fix treatment of PIPR in CPPR update


From: Nicholas Piggin
Subject: Re: [PATCH 10/50] ppc/xive2: Fix treatment of PIPR in CPPR update
Date: Fri, 16 May 2025 10:15:25 +1000

On Mon May 12, 2025 at 1:10 PM AEST, Nicholas Piggin wrote:
> From: Glenn Miles <milesg@linux.ibm.com>
>
> According to the XIVE spec, updating the CPPR should also update the
> PIPR. The final value of the PIPR depends on other factors, but it
> should never be set to a value that is above the CPPR.
>
> Also added support for redistributing an active group interrupt when it
> is precluded as a result of changing the CPPR value.
>
> Signed-off-by: Glenn Miles <milesg@linux.ibm.com>

The second paragraph in there I believe was my fault when splitting
the patch into this one and the previous. I will remove the second
paragraph from this changelog and with that,

Reviewed-by: Nicholas Piggin <npiggin@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 2b4d0f51be..1971c05fa1 100644
> --- a/hw/intc/xive2.c
> +++ b/hw/intc/xive2.c
> @@ -995,7 +995,9 @@ static void xive2_tctx_set_cppr(XiveTCTX *tctx, uint8_t 
> ring, uint8_t cppr)
>              }
>          }
>      }
> -    regs[TM_PIPR] = pipr_min;
> +
> +    /* PIPR should not be set to a value greater than CPPR */
> +    regs[TM_PIPR] = (pipr_min > cppr) ? cppr : pipr_min;
>  
>      rc = xive2_tctx_get_nvp_indexes(tctx, ring_min, &nvp_blk, &nvp_idx);
>      if (rc) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]