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