Re: [PATCH] lib: sbi: Apply budget restriction when polling Zkr CSR state transition
Nicholas Piggin <[email protected]>
| Newsgroups | org.infradead.lists.opensbi |
|---|---|
| Message-ID | <ahUPSS8uvDvH4fBs@lima-default> |
On Tue, May 19, 2026 at 10:50:14PM +0000, Evgeny Voevodin wrote: > Zkr architecture doesn't define a time limit on state transitions > which results in hanging on unresponsive or event-driven platforms. > To prevent this, we need to limit polling iterations and fall back > in case the budget is over, and stack guard keeps its initial value. > The budget is configurable with CONFIG_SBI_INIT_ZKR_POLL_BUDGET, > defaulting to 1000 iterations. > Successful reads do not consume a try. > > Signed-off-by: Evgeny Voevodin <[email protected]> > --- > lib/sbi/Kconfig | 12 ++++++++++++ > lib/sbi/sbi_init.c | 12 +++++++++--- > 2 files changed, 21 insertions(+), 3 deletions(-) > > diff --git a/lib/sbi/Kconfig b/lib/sbi/Kconfig > index c6cc04bc..a11f788c 100644 > --- a/lib/sbi/Kconfig > +++ b/lib/sbi/Kconfig > @@ -6,6 +6,18 @@ config CONSOLE_EARLY_BUFFER_SIZE > int "Early console buffer size (bytes)" > default 256 > > +config SBI_INIT_ZKR_POLL_BUDGET > + int "Zkr seed polling budget (iterations)" > + default 1000 > + help > + Maximum number of iterations to poll CSR_SEED when initializing > + the stack guard variable. The Zkr specification doesn't define > + a time limit on transitioning to ES16 between polls, which > + makes it impossible to tell whether entropy is being > + accumulated slowly or the entropy source is not functioning. If entropy source is not functioning it should return DEAD, surely. Specifications always require a "reasonable" performance, whether that is explicit or not. That's open to interpretation and application, but if a word of entropy at boot causes a responsiveness problem, I don't know if that's a reasonable expectation in the spec that needs to be accounted for. So I think a bit more information would be good. If if this is a workaround for a particular platform that might be okay but I think it should be framed as such. Thanks, Nick -- opensbi mailing list [email protected] http://lists.infradead.org/mailman/listinfo/opensbi