[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87bjl6cadm.ffs@tglx>
Date: Thu, 13 Nov 2025 14:47:33 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: Troy Mitchell <troy.mitchell@...ux.dev>, Paul Walmsley <pjw@...nel.org>,
Samuel Holland <samuel.holland@...ive.com>, Palmer Dabbelt
<palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>, Alexandre Ghiti
<alex@...ti.fr>
Cc: linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org, Troy
Mitchell <troy.mitchell@...ux.dev>
Subject: Re: [PATCH v2] riscv/plic: assign context ID based on hartid
On Mon, Oct 27 2025 at 15:03, Troy Mitchell wrote:
> The PLIC driver for OF-based platforms currently assigns 'context_id = i'
> within the context loop. This implies an assumption that all harts are
> numbered contiguously starting from 0.
>
> In Asymmetric Multi-Processing (AMP) systems, where Linux might boot on
> a non-zero hart ID (e.g., hart4), while other harts (e.g., hart0) are
> running a different OS, this assumption is violated. This can lead to
> different system inadvertently sharing the same
> PLIC enable_base register. Consequently, this causes configuration
> conflicts and incorrect interrupt handling.
>
> Assign the PLIC context ID based on the actual hart ID provided by the
> OF node. This ensures that each hart context maps to a unique enable
> region within the PLIC, thereby resolving conflicts in AMP setups. This
> change preserves the correct behavior on Symmetric Multi-Processing (SMP)
> and Uniprocessor (UP) systems.
Can the RISCV people please have a look at this?
Thanks,
tglx
Powered by blists - more mailing lists