Thread (122 messages) 122 messages, 5 authors, 2026-09-02

Re: [RFC PATCH v2 00/45] arm64: Add support for FEAT_NMI

flat view

From: Vladimir Murzin <hidden>
Date: 2026-08-21 13:03:28

On 8/14/26 02:52, Jinjie Ruan wrote:
在 2026/7/28 0:34, Vladimir Murzin 写道:
quoted
FEAT_NMI provides an architected mechanism for supporting non-maskable
interrupts (NMIs) and less-masked interrupts (LMIs).

Since we already support pseudo-NMIs via priority masking, introducing
another flavour of NMI on top of the existing infrastructure could
easily become messy, making the code harder to follow and reason
about.

To avoid that, this series first makes room for the new NMI "tenant"
by restructuring the existing exception masking logic.

The main idea is to separate the logical view of exception state from
its hardware representation. To achieve this, we introduce logical
exception contexts that can be mapped onto the corresponding hardware
state. This naturally consolidates the hardware-specific handling into
a small number of places, while allowing the rest of the code to
operate purely in terms of logical exception contexts.

Since this restructuring is non-trivial and carries a risk of subtle
behavioural changes, the series adds extensive debug checks to verify
that the hardware state always matches the expected logical state.

With this restructuring in place, wiring FEAT_NMI into the new
framework becomes much more manageable.

This work would not have been possible without the contributions of
Ada Couprie Diaz, Mark Brown, and Lorenzo Pieralisi - please credit
them for everything that works well. Any remaining bugs or issues are
entirely my own.

I'd especially appreciate feedback on the overall approach. Please
don't hesitate to bikeshed the naming or other details - improving
clarity is one of the main goals of this series. Of course, technical
review is more than welcome as well.

The series would also benefit from extensive testing on real hardware
(without NMI, with pseudo-NMI, and with FEAT_NMI), as most of the
testing so far has been done on QEMU and Fast Model.
Hi all,

Apart from gicv5, I have gone through the other patches. Apart from code
style issues, patch split and certain specific implementation details, I
don't see any major issues. I am very much looking forward to more
reviews, discussions, and the next version.
Thanks Jinjie! I really appreciate you taking the time to go through the series.

Cheers
Vladimir
Best regards,
Jinjie
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help