[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 06/50] ppc/xive: Fix PHYS NSR ring matching
From: |
Caleb Schlossin |
Subject: |
Re: [PATCH 06/50] ppc/xive: Fix PHYS NSR ring matching |
Date: |
Wed, 14 May 2025 09:30:23 -0500 |
User-agent: |
Mozilla Thunderbird |
Looks good.
Reviewed-by: Caleb Schlossin <calebs@linux.ibm.com>
On 5/11/25 10:10 PM, Nicholas Piggin wrote:
> Test that the NSR exception bit field is equal to the pool ring value,
> rather than any common bits set, which is more correct (although there
> is no practical bug because the LSI NSR type is not implemented and
> POOL/PHYS NSR are encoded with exclusive bits).
>
> Fixes: 4c3ccac636 ("pnv/xive: Add special handling for pool targets")
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> ---
> hw/intc/xive.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/intc/xive.c b/hw/intc/xive.c
> index 80b07a0afe..cebe409a1a 100644
> --- a/hw/intc/xive.c
> +++ b/hw/intc/xive.c
> @@ -54,7 +54,8 @@ static uint64_t xive_tctx_accept(XiveTCTX *tctx, uint8_t
> ring)
> uint8_t *alt_regs;
>
> /* POOL interrupt uses IPB in QW2, POOL ring */
> - if ((ring == TM_QW3_HV_PHYS) && (nsr & (TM_QW3_NSR_HE_POOL << 6))) {
> + if ((ring == TM_QW3_HV_PHYS) &&
> + ((nsr & TM_QW3_NSR_HE) == (TM_QW3_NSR_HE_POOL << 6))) {
> alt_ring = TM_QW2_HV_POOL;
> } else {
> alt_ring = ring;
- [PATCH 04/50] ppc/xive2: Remote VSDs need to match on forwarding address, (continued)
- [PATCH 04/50] ppc/xive2: Remote VSDs need to match on forwarding address, Nicholas Piggin, 2025/05/11
- [PATCH 05/50] ppc/xive2: fix context push calculation of IPB priority, Nicholas Piggin, 2025/05/11
- [PATCH 06/50] ppc/xive: Fix PHYS NSR ring matching, Nicholas Piggin, 2025/05/11
- [PATCH 07/50] ppc/xive2: Reset Generation Flipped bit on END Cache Watch, Nicholas Piggin, 2025/05/11
- [PATCH 08/50] ppc/xive2: Use fair irq target search algorithm, Nicholas Piggin, 2025/05/11