We are planning to use NMI in M7 to react to some critical errors. The only issue that we see is that there are multiple critical errors in our system and in some cases we may experience several errors in a a very small time-interval (e.g. due to follow-up errors or common cause). The question is what happens when a NMI event comes while the core is till processing the existing NMI.
Does this disrupt the execution of the existing NMI handling?
I wonder, didn't you try it?
No. Another NMI will be pending so when the NMI "returns", you will immediately reenter the NMI Handler (and not pop anything from the stack). Once you enter the NMI, if 1 or more are triggered before returning, you will not know how many occurred in the time period, just that at least 1 occurred before you tried to return from the handler.