Fact-checked by Grok 2 weeks ago

Non-maskable interrupt

A non-maskable interrupt (NMI) is a hardware-generated signal in computer processors that cannot be disabled or ignored through standard interrupt-masking techniques, ensuring immediate response to critical system conditions. These interrupts are typically delivered via a dedicated input line separate from those used for regular interrupts, allowing them to preempt ongoing operations without interference. In contrast to maskable interrupts, which can be temporarily blocked by the (for example, by clearing the interrupt enable in x86 architectures), NMIs maintain full and are serviced even when masking is active, making them essential for unignorable events like hardware malfunctions. This design prevents scenarios where vital signals, such as error detections, could be lost during periods of interrupt suppression, thereby enhancing system reliability. NMIs are implemented across major processor architectures with specific handling mechanisms; in x86 systems, they are processed via interrupt vector 2 in the (IDT), often triggered by events like errors. In A-profile processors, support for NMIs was extended in 2021 to enable features like performance profiling and , using configurable priorities in the Generic Interrupt Controller (GIC) and separate acknowledgment registers. Common applications include signaling fatal errors that may precede a system crash, monitoring for lockups via timers, and facilitating low-level diagnostics in environments.

Fundamentals

Definition and purpose

A non-maskable interrupt (NMI) is a hardware that cannot be disabled or ignored by the using standard interrupt masking techniques, ensuring it always receives immediate attention regardless of the system's current interrupt state. This distinguishes NMIs from other by their unyielding nature, as they operate independently of any maskable interrupt controller settings. The primary purpose of an NMI is to address critical, high-priority events that demand instantaneous response to avert instability, , or complete . These events are typically non-recoverable issues where delaying could lead to irreversible damage, such as imminent crashes or loss of operational integrity. By design, NMIs facilitate emergency measures like data preservation or diagnostic logging before the halts. Key characteristics of NMIs include their assignment to the highest priority level, where they all maskable interrupts and cannot themselves be ed, guaranteeing minimal in response. They are triggered asynchronously by dedicated hardware signals, often via a separate line, prompting an immediate to execute a specialized NMI handler routine that preserves the state for efficient recovery or analysis. Common triggering events for NMIs encompass watchdog timer overflows, which signal software hangs or lockups; power failure warnings that enable last-minute data backups; and thermal shutdown signals to mitigate overheating risks. These examples illustrate NMIs' role in safeguarding system reliability during unforeseen hardware crises.

Comparison with maskable interrupts

Maskable interrupts are hardware or software signals that the can temporarily disable or ignore through dedicated control mechanisms, such as flags in status registers, to ensure uninterrupted execution during critical operations or to manage system priorities. This capability allows software to defer less urgent interruptions, facilitating atomic code execution and efficient in multitasking environments. In contrast, non-maskable interrupts (NMIs) completely bypass these masking mechanisms, guaranteeing their service regardless of the processor's interrupt enable state; for example, in x86 architectures, NMIs ignore the Interrupt Flag (IF) in the EFLAGS register, which otherwise blocks maskable interrupts. Maskable interrupts support hierarchical prioritization managed by dedicated hardware like the (PIC) or (APIC), enabling the system to rank and queue sources based on urgency. NMIs, however, operate outside this framework with inherent highest priority, invoking their handlers directly without deferral or queuing. The design of NMIs introduces key trade-offs: they ensure reliable, immediate response to vital conditions but may intrude on protected sections where maskable interrupts are disabled, risking interference with ongoing operations or updates. Conversely, maskable interrupts promote flexible multitasking and controlled handling but carry the potential for overlooked events if disabled at the moment of assertion, particularly during error-prone intervals.
AspectMaskable InterruptsNon-Maskable Interrupts
Masking CapabilityCan be disabled globally or selectively (e.g., via IF flag in x86)Cannot be disabled or ignored by software or flags
Priority HandlingSupports prioritization and queuing via controllers (e.g., /)Inherently highest priority; no queuing or deferral
Typical SourcesPeripheral I/O devices, timers, and software eventsCritical faults like errors or power issues
Handler InvocationRouted through table after priority resolution and masking checkImmediate execution via dedicated mechanism, preempting all others

Implementation

In x86 architecture

In x86 architecture, non-maskable interrupts (NMIs) are triggered by asserting the dedicated NMI# input pin on the processor, which bypasses standard interrupt masking mechanisms and immediately preempts the current execution context. This pin is routed through system interrupt controllers such as the legacy 8259A (PIC) for initial systems or the (APIC) in modern configurations, where NMIs can be delivered as messages over the APIC serial bus using delivery mode 100 (NMI). Common hardware sources include errors from subsystems or I/O devices, which generate an edge-triggered signal to the NMI# pin, ensuring high-priority notification of critical conditions like . In early x86 implementations, such as the used in the PC, the NMI# pin was directly connected to memory check logic, where a detected would assert the signal to invoke a system halt and diagnostic routine. Upon assertion, the processor uses a fixed interrupt vector of 2 (0x02) in the Interrupt Descriptor Table (IDT) to locate the NMI handler entry point, typically configured as an interrupt gate for privilege level 0 execution. The handling mechanism automatically saves essential processor state on the stack, including the flags register (RFLAGS/EFLAGS), code segment (CS), and instruction pointer (RIP/EIP), without pushing an error code, while transitioning to the handler at the next instruction boundary. Unlike maskable interrupts, NMI entry does not automatically clear the Interrupt Flag (IF) in a way that affects its own masking; however, the interrupt gate clears IF to disable maskable interrupts during handling, which is restored upon return via the IRET instruction. Subsequent NMIs are blocked until the handler completes and executes IRET, preventing nesting unless explicitly managed through advanced features. From a software perspective, NMI handlers in x86 must be designed to be minimal and reentrant-avoiding, as the inherently blocks recursion during execution to prevent or infinite loops, often limiting operations to essential diagnostics like logging errors or halting the system. In the IBM PC example, the check NMI handler would display an such as "PARITY CHECK 1" on screen, indicating a specific bank failure, before invoking a system reset or diagnostic mode to isolate the faulty module. Handlers are typically loaded into or early in system initialization, with NMIs masked via external logic (e.g., an I/O port-controlled ) until ready, to avoid premature invocation during . In multi-core x86 environments, such as those using 64 or AMD64 processors, the Local APIC on each core enables targeted NMI delivery to specific logical processors via the Interrupt Command (ICR), allowing per-core handling without broadcasting to all cores unless configured for package-wide fatal events. Modern extensions integrate NMIs with (SMM) through the System Management (SMI#), where SMI takes precedence over NMI for advanced reporting, saving NMI context transparently before entering SMM to perform platform-specific diagnostics. In 64-bit mode, the Stack (IST) further enhances reliability by directing NMI handling to a pre-allocated, known-good , mitigating risks from corrupted stacks.

In other processor architectures

In the ARM architecture, the Fast Interrupt Request (FIQ) serves as an analog to the non-maskable interrupt, providing a higher-priority mechanism that cannot be interrupted by standard IRQ handlers and features dedicated banked registers (such as r8-r12, SPSR, and dedicated stack pointers) to enable low-latency handling without context switching overhead. This design supports rapid response in embedded systems, where FIQs are often reserved for critical faults like data aborts or precise exceptions, ensuring they preempt lower-priority interrupts even when IRQs are masked. Recent extensions in ARMv8-A, such as support for true non-maskable interrupts (NMIs) via the VBAR_ELn and SCR_EL3 registers, further enhance this capability for scenarios requiring unblockable delivery, though FIQ remains the foundational high-priority path. The architecture implements non-maskable interrupts through level 15 traps, the highest in its 16-level system, which bypass the standard Processor Interrupt Level (PIL) masking and can only be disabled in special modes like when all traps are inhibited via the Trap Enable () bit in the Processor State Register (). This level-15 is vectored to a dedicated handler and is typically used for critical system events that must override normal blocking, maintaining system integrity without reliance on lower-level PIL settings that range from 1 (lowest) to 14. In SPARC-V9 implementations, this non-maskable behavior persists, with the ensuring it cannot be shadowed by software-configurable masks unless the processor enters a fully trap-disabled state. In the PowerPC architecture, the Machine Check Interrupt (MCI) functions as the primary non-maskable equivalent, triggered by hardware errors such as bus parity failures or the assertion of the NMI pin. The ME bit in the Machine State Register (MSR) configures it to deliver an interrupt when set or cause a checkstop when clear, and it operates asynchronously without interference from masked external or decrementer interrupts. This interrupt vectors to a dedicated exception handler at offset 0x00100 in the exception table, allowing immediate response to unrecoverable faults. RISC-V employs machine-mode interrupts at the highest privilege level (M-mode) for handling critical events, bypassing delegations to lower modes, though these interrupts are maskable via the mstatus.MIE control bit even in M-mode. The Smrnmi extension, included in the RISC-V Privileged specification as of April 2024, adds support for resumable non-maskable interrupts (RNMIs) using dedicated CSRs like mnepc and mncause, enabling them to preempt ongoing M-mode execution for error recovery without full resets. The designates a dedicated Non-Maskable Interrupt (NMI) that vectors to a fixed exception location at 0xBFC00000 (the in boot mode), distinct from soft or resets, and it executes at boundaries without performing hardware reinitialization, making it suitable for diagnostic or error-handling code that must run irrespective of the Status Register's enable bits. This NMI is triggered via an external pin and shares the to ensure atomic delivery, though it preserves and state unlike full resets. Across these architectures, non-maskable interrupts generally hold the highest priority to guarantee delivery for urgent conditions, though some allow limited configurability—such as RISC-V's settings or SPARC's trap-disable modes—while sharing common traits like dedicated exception vectors or classes for isolation from maskable paths. In virtualized environments, handling these interrupts poses challenges, as hypervisors must decide whether to inject them into guest OSes (potentially via posted interrupts or NMIs) or them for host-level processing, risking latency or security issues if not properly virtualized, as explored in direct interrupt delivery schemes.

Applications

Error detection and handling

Non-maskable interrupts (NMIs) play a critical role in detecting faults that could compromise system integrity, such as memory parity errors, error-correcting code () failures, bus timeouts, and I/O device malfunctions. These interrupts are triggered by mechanisms to ensure immediate attention, bypassing standard masking to alert the system of unrecoverable or severe conditions that maskable interrupts might overlook. Upon detection, NMIs initiate diagnostic routines, including logging error codes to system event logs or service processor storage for later analysis, and may trigger a shutdown to prevent or further damage. The handling process for an NMI begins with the invocation of a dedicated NMI handler routine, which operates at the highest priority and preempts all other activities. This handler inspects relevant status registers—such as control ports or error source indicators—to identify the fault origin, for example, by checking I/O addresses like 0x92 or 0x61 in x86 architectures for or issues. If the error is non-fatal, recovery may be attempted via associated mechanisms like Machine Check Exceptions (MCE) for actions such as retiring faulty pages in ECC-enabled systems to isolate and blacklist corrupted regions, maintaining operational continuity. In cases where recovery fails or the error is unrecoverable, the NMI handler logs the event and initiates a halt or to safeguard against propagation of faults. In server environments, NMIs integrate with (RAS) features to enable predictive failure analysis, where uncorrectable errors from or interconnects trigger NMIs that facilitate proactive component isolation and minimize downtime. For instance, RAS subsystems in enterprise hardware use NMIs to monitor and respond to errors, logging them via mechanisms like the System Event Log (SEL) for forensic review. In embedded systems, NMIs often handle expirations signaling firmware hangs, prompting an immediate to restore functionality without external intervention. Despite their effectiveness, NMI handlers face inherent limitations that demand careful design. Handlers must remain concise and , executing minimal code to avoid triggering secondary faults, as NMIs cannot be interrupted or masked during processing. Additionally, since NMIs execute in or mode, recovery mechanisms are confined to privileged contexts, precluding direct user-space interventions and necessitating robust low-level error containment strategies.

Debugging and profiling

Non-maskable interrupts (NMIs) play a crucial role in software debugging by enabling developers to trigger kernel panics or generate core dumps in unresponsive systems without relying on maskable interrupt paths that may be disabled. In Linux environments, NMIs can be invoked through hardware mechanisms, such as dedicated crash dump switches on servers, to initiate a kernel panic and capture memory contents for post-mortem analysis via tools like kdump. This approach ensures reliable interruption even when the operating system is in a state where standard interrupts are masked, facilitating the extraction of diagnostic data such as stack traces during kernel failures. Serial line interfaces can support remote debugging via magic SysRq for entering kernel debuggers like kdb/kgdb to examine system state in real-time, while NMIs are used separately for crash dumps via protocols like IPMI. In Windows systems, NMIs have been utilized since for generating crash dumps, particularly in scenarios involving -induced failures or manual intervention via NMI pins on motherboards, which prompt the creation of memory dump files for analysis with tools like . On early Apple Macintosh systems, the programmer's switch—a hardware button on models like the Macintosh SE and IIcx—triggers an NMI to halt execution and invoke a built-in mini-debugger, allowing developers to inspect memory, registers, and program state directly. In modern hypervisor environments, such as or KVM, administrators can inject NMIs into guest virtual machines using commands like Debug-VM in or host-side tools, enabling guest or crash dump generation without affecting the host OS. For profiling, NMIs support low-overhead sampling of CPU states in performance monitoring tools, capturing instruction pointers and stack traces at regular intervals to identify code hotspots. , a system-wide profiler for , leverages NMIs on supported x86 and processors to sample and user-space execution, ensuring interrupts occur even when regular ones are blocked, which aids in constructing call graphs for bottleneck analysis. The perf tool similarly employs NMI contexts for safe event-based sampling via performance monitoring units (PMUs), allowing periodic capture of stack traces with minimal distortion to the profiled workload. In hypervisors, NMIs facilitate guest profiling by injecting interrupts to sample virtual CPU states, supporting tools that trace performance across virtualized environments. The primary advantage of NMIs in these contexts is their ability to guarantee delivery for critical diagnostics and sampling, bypassing scenarios where maskable interrupts might be disabled, thus ensuring consistent for reliable breakpoints or traces. However, challenges arise from the overhead of NMI handlers, particularly in high-frequency scenarios, where frequent invocations can introduce measurable CPU costs—up to several percent in intensive sampling—potentially skewing results unless mitigated by hardware-assisted features like PEBS. In recent developments, the Armv8.8 architecture extension (as of ) enhances NMI support in A-profile processors, improving applications in error detection and for and SoCs by providing more robust non-maskable interrupt handling.

History

Early development

The concept of non-maskable interrupts (NMIs) emerged in the mid-1970s amid the transition from mainframes to minicomputers and early microprocessors, driven by the need for fault-tolerant designs in and systems where critical errors required unignorable signals to prevent or system crashes. In these environments, maskable interrupts could be disabled during sensitive operations, leaving hardware faults undetected; NMIs addressed this by providing a dedicated, always-active pathway for urgent notifications, such as power failures or memory anomalies, enhancing reliability in error-prone early hardware. Early implementations appeared in 8-bit pivotal to peripherals and nascent personal systems. The , released in 1975, featured an NMI input as an unconditional interrupt that executed regardless of the processor's interrupt mask, designed for handling hardware faults like I/O errors in compact, cost-sensitive designs. Similarly, the , introduced in 1976, included an NMI pin with over maskable interrupts, triggered on a negative edge to ensure prompt response at the end of the current , supporting fault detection in multitasking setups. A key milestone came with the in 1978, which incorporated an edge-triggered NMI pin (LOW-to-HIGH transition) for catastrophic events, including failures and errors, vectoring to a fixed location (00008H) to invoke service routines that could save critical data, such as in battery-backed RAM within milliseconds. This design prioritized safety by disabling maskable interrupts during NMI handling, and the feature extended to integration, as seen later with the 8087 where NMIs signaled arithmetic errors without software masking. The 8088 variant powered the PC in , where NMIs were wired to the I/O channel check line for RAM parity monitoring across the system's 16K to 64K dynamic memory banks. Upon detecting a parity mismatch—indicating potential —the NMI activated, invoking the NMUNT routine to read status ports, display messages like "PARITY CHECK 1" (for onboard RAM) or "PARITY CHECK 2" (for expansion), and halt the system to alert users during . In 8-bit home systems, NMIs enabled reliable restarts and I/O without CPU oversight. Commodore machines, such as the PET series from 1977 using the 6502, routed the RESTORE key to the NMI line for warm restarts when combined with RUN/STOP, interrupting locked states to restore control and prevent total resets in user-friendly computing. Amstrad CPC models, launched in 1984 with the Z80, utilized NMIs via the floppy disk controller (uPD765A), programmable to signal command completion or timing errors as non-maskable events, ensuring during disk operations without interference from masked interrupts. Overall, NMIs in this era prioritized hardware-enforced safety over programmable flexibility, mitigating risks in unreliable components like early DRAM and peripherals by guaranteeing interrupt delivery even when software disabled routine notifications.

Evolution in personal computing

In the 1980s, non-maskable interrupts (NMIs) were enhanced in IBM-compatible personal computers primarily for hardware diagnostics and error handling. The original IBM PC, introduced in 1981, connected the 8088 processor's NMI input to the I/O channel check signal, which was triggered by memory parity errors detected during reads; upon assertion, the system would halt execution to allow for diagnostic intervention. This design ensured that critical hardware faults could not be masked by software, providing a foundational mechanism for reliability in early consumer computing. Similarly, the Apple Macintosh, launched in 1984, incorporated a dedicated programmer's NMI switch on the motherboard, accessible via an external key, to invoke the built-in debugger during crashes or for runtime analysis, facilitating development and troubleshooting in a graphical user interface environment. During the 1990s, NMIs integrated more deeply with operating system features to support advanced debugging in personal and embedded systems. , released in 1993, leveraged NMIs to generate kernel crash dumps, enabling administrators to capture system state during hangs or failures that masked regular interrupts; this was achieved by asserting the NMI line via hardware switches or debug tools, producing memory images for post-mortem analysis. In embedded applications, such as the (NES) console from 1983 onward, the Picture Processing Unit (PPU) generated NMIs at the start of vertical blanking (vblank) intervals to synchronize CPU updates to video memory, preventing graphical tearing in games without interfering with maskable interrupts. From the to the present, NMIs evolved to address challenges in multi-core processors and virtualized environments, particularly in server (RAS). Intel's Machine Check Architecture (), introduced with the in 2000 and expanded in subsequent processors, uses dedicated machine check pins (MCERR# and IERR#) to signal uncorrectable errors, often delivered as NMIs to ensure immediate handling in multi-core systems where complex interconnects increase fault risks. In consumer devices like smartphones, ARM-based processors employ NMI-like high-priority interrupts (such as Fast Interrupts or NMIs in A-profile cores) from thermal sensors to trigger rapid throttling or shutdowns, managing heat in densely packed SoCs during intensive tasks like processing. This progression reflects NMIs' transformation from simple error-halt mechanisms to versatile tools for diagnostics, synchronization, and real-time management, driven by Moore's Law's in density and hardware complexity, which amplified the need for unblockable signaling in increasingly error-prone systems.

References

  1. [1]
    3.3. Non-Maskable Interrupts | Red Hat Enterprise Linux for Real Time
    A non-maskable interrupt (NMI) cannot be ignored, and is generally used only for critical hardware errors. NMIs are normally delivered over a separate interrupt ...
  2. [2]
    Manuals for Intel® 64 and IA-32 Architectures
    ### Summary of Non-Maskable Interrupts (NMIs) from Intel's Software Developer's Manual
  3. [3]
    A closer look at Arm A-profile support for non-maskable interrupts
    May 23, 2022 · The term non-maskable interrupts actually covers a class of interrupts which can still be delivered to the CPU even when “normal” interrupts are ...
  4. [4]
    NMI Non-Maskable Interrupt Port Usage
    Apr 3, 2022 · A non-maskable interrupt (NMI) is an interrupt that cannot be ignored or disabled using standard interrupt masking techniques.<|control11|><|separator|>
  5. [5]
    3.7.12. Handling Nonmaskable Interrupts - Intel
    However, nonmaskable interrupts always preempt maskable interrupts, and cannot be preempted. This knowledge can simplify handler design in some ways, but it ...
  6. [6]
    FAQ Entry | Online Support | Support - Super Micro Computer, Inc.
    Mar 4, 2003 · NMI stands for Non-masked Interrupt. All of the regular interrupts that we normally use and refer to by number are called maskable interrupts.
  7. [7]
    Interrupt Processing: Non Maskable Interrupt
    The non maskable interrupt is used for emergency processing, for example, data backup processing such as power outage processing. There is a watchdog timer as ...Missing: thermal | Show results with:thermal
  8. [8]
    Maskable Interrupt - an overview | ScienceDirect Topics
    A maskable interrupt is defined as a hardware interrupt that can be ignored by the microprocessor by setting a bit in an interrupt mask register's bit-mask, ...Maskable Interrupts in... · Operating System and... · Programming Considerations...Missing: authoritative | Show results with:authoritative<|separator|>
  9. [9]
    [PDF] Intel® 64 and IA-32 Architectures Software Developer's Manual
    NOTE: The Intel® 64 and IA-32 Architectures Software Developer's Manual consists of nine volumes: Basic Architecture, Order Number 253665; Instruction Set ...
  10. [10]
    Non-Maskable Interrupt - an overview | ScienceDirect Topics
    A Non-Maskable Interrupt (NMI) in computer science refers to an interrupt mechanism with the highest priority that cannot be disabled by the programmer. It is ...
  11. [11]
    How to handle non-maskable interrupts - Processors forum - TI E2E
    Nov 16, 2016 · Another thing to be mindful of is that an NMI, by its nature, will interrupt critical section code which may have been in the middle of updating ...
  12. [12]
    Difference between Maskable and Non Maskable Interrupt
    Jul 12, 2025 · Maskable interrupts can be disabled by the CPU, while non-maskable interrupts cannot. Maskable interrupts can be handled after the current ...
  13. [13]
    [PDF] IBM PC Technical Reference - Bitsavers.org
    ... (NMI) of the 8088 is used to report memory parity errors. The System Board is designed to support both ROM and ReadIWrite. Memory. The System Board contains ...
  14. [14]
    Debugging ARM kernels using fast interrupts - LWN.net
    May 29, 2014 · At the CPU level, the ARM FIQ signal is technically very similar to the x86 non-maskable interrupt (NMI), but its role within the system ...Missing: equivalent | Show results with:equivalent
  15. [15]
    FIQ Handlers in the ARM Linux Kernel - Bootlin
    Apr 30, 2013 · FIQ stands for Fast Interrupt reQuest, and it is basically a higher priority interrupt. This means that it will always have precedence over regular interrupts.
  16. [16]
    [PDF] The SPARe ™ Architecture Manual Version 7 - Bitsavers.org
    Level 15 is non-maskable unless all traps are dis- abled. The interrupt ... Level 1 is the lowest priority interrupt and 15 is the highest. Interrupt.
  17. [17]
    17. SPARC Specific Information - RTEMS Documentation Project
    ... interrupt mask level are ignored. Level fifteen (15) is a non-maskable interrupt (NMI), which makes it unsuitable for standard usage since it can affect the ...
  18. [18]
    [PDF] The SPARC Architecture Manual, Version 9 - Texas Computer Science
    SPARC-V9, like its predecessor SPARC-V8, is a microprocessor specification created by the SPARC Architecture Committee of SPARC International. SPARC-V9 is not ...
  19. [19]
    [PDF] EPPC Exception Processing
    Occurs when the NMI pin is asserted, SWT times out,. Hard or Soft Reset pins are ... #11 Machine Check Interrupt. Load or store access error. #12 Debug -L ...
  20. [20]
    [PDF] Programmer's reference manual for Book E processors
    May 1, 2015 · This reference manual gives an overview of Book E, a version of the PowerPC architecture intended for embedded processors.
  21. [21]
    [PDF] The RISC-V Instruction Set Manual - People @EECS
    Jul 8, 2016 · The NMI can thus overwrite state in an active machine-mode interrupt handler. ... Interrupt priorities, thresholds, and hart-internal interrupt ...Missing: bypass | Show results with:bypass
  22. [22]
    What category for NMI (exception or interrupt)? · Issue #473 - GitHub
    Jan 8, 2020 · NMI is a non-mask, asynchronous interrupt and it is used to handle the machine error. The event causes an immediate jump to an implementation- ...Missing: bypass | Show results with:bypass
  23. [23]
    [PDF] MIPS32™ Architecture For Programmers Volume III
    Mar 12, 2001 · An NMI occurs only at instruction boundaries, so does not do any reset or other hardware initialization. The state of the cache, memory, and ...
  24. [24]
    [PDF] MIPS32® M6200 Processor Core Family Programmer's Guide
    Jan 12, 2016 · A cold reset typically occurs when the machine is first turned on. ... The Reset, Soft Reset, NMI and Debug exceptions are vectored to a ...
  25. [25]
    [PDF] A Comprehensive Implementation and Evaluation of Direct Interrupt ...
    (3) the NMI (Non-Maskable Interrupt) mode, in which an interrupt is delivered to the destination CPU core at the highest priority and cannot be masked ...
  26. [26]
    Error Handling
    The handling of parity errors works through non-maskable interrupts (NMIs). During BIOS POST, the NMI is logged in the DMI and the SP SEL. See the following ...
  27. [27]
    NMI EXCEPTION (SRAMDED) caused by writing SRAM region
    Oct 10, 2023 · The exception is thrown because we have some ECC or Parity Check error when trying to write that SRAM area.RAM address errors and NMI - C2000 microcontrollers forum - TI E2EInterrupt for ECC Ram error doesn't work C2000 library exampleMore results from e2e.ti.com
  28. [28]
    Reliability, availability, and serviceability | System x3300 M4
    Three important computer design features are reliability, availability, and serviceability (RAS). ... Automatic restart on non-maskable interrupt (NMI); Automatic ...
  29. [29]
    Testing and Validating the Memory Reliability of ThinkSystem V4 ...
    Jun 24, 2025 · Uncorrected errors (UCE) had to be routed to the Non-Maskable Interrupt (NMI), but the NMI handler might fail to contain the fault effectively.
  30. [30]
    RAS - NVIDIA Docs
    Mar 9, 2025 · Reliability, availability and serviceability (RAS) reduces and ... Software-delegated exception interface (SDEI) non-maskable interrupt (NMI) ...
  31. [31]
    How to generate Watchdog NMI followed by watchdog Reset - TI E2E
    Mar 1, 2016 · In the NMI handler you can generate a software reset by writing to SYSECR register in the SYS module. Software reset is another form of system ...F28M35H52C: NMI Watchdog on M3 and C28 - TI E2ETMS320F28388D: One question of NMI watchdog timer. - TI E2EMore results from e2e.ti.com
  32. [32]
    Send a diagnostic interrupt to debug an unreachable Amazon EC2 ...
    You can send a diagnostic interrupt to an unreachable or unresponsive instance to manually trigger a kernel panic for a Linux instance, or a stop error.
  33. [33]
    Handling a Non-Responsive Virtual Machine by Sending a Non ...
    Sep 4, 2018 · You can configure the guest operating system to handle this interrupt, such as by crashing and generating a memory dump to enable debugging. A ...
  34. [34]
    Generate a kernel or complete crash dump - Windows Client
    Jun 17, 2025 · Learn how to generate a kernel or complete crash dump, and then use the output to troubleshoot several issues.Missing: NT | Show results with:NT
  35. [35]
    How did the "Programmer's Switch" work on early Macintosh ...
    Apr 15, 2021 · The switch triggers a CPU interrupt, and that this would be used to immediately halt execution and present a debugger interface.Missing: diagnostics | Show results with:diagnostics
  36. [36]
    Generating a Non-Maskable Interrupt (NMI) in Hyper-V (KBA6342)
    Dec 10, 2024 · An NMI to a VM in Hyper-V can be issued by an Administrator using the Debug-VM PowerShell cmdlet. During this process it is recommended to also monitor the VM ...
  37. [37]
    2. Kernel profiling - OProfile
    OProfile uses non-maskable interrupts (NMI) on the P6 generation, Pentium 4, Athlon, Opteron, Phenom, and Turion processors. These interrupts can occur even ...
  38. [38]
    Perf events and tool security — The Linux Kernel documentation
    ### Summary: Perf Using NMI for Safe Sampling in Profiling
  39. [39]
    3. Configuration details - OProfile
    The delivery mode is NMI , so blocking interrupts in the kernel does not prevent profiling. When the interrupt handler is called, the current PC (program ...
  40. [40]
    [PDF] 6502.pdf
    NMI is an unconditional interrupt. Following completion of the current instruction, the sequence of operations defined for IRQ will be performed, regardless of ...Missing: introduction 1975
  41. [41]
    [PDF] Z80 CPU User Manual - Zilog
    NMI. Nonmaskable Interrupt (input, negative edge-triggered). NMI contains a higher pri- ority than INT. NMI is always recognized at the end of the current ...
  42. [42]
    [PDF] Users Manual - Bitsavers.org
    This publication describes the Intel® 8086 family of microcomputing components, concentrating on the 8086, 8088 and 8089 microprocessors. It is written for ...
  43. [43]
    [PDF] Machine language monitor - Commodore.ca
    If the vector is altered and the machine language subroutine does not restore it, a power-on reset must be performed. NMI is not provided for in PET. The ...
  44. [44]
    [PDF] PCW Hardware - John Elliott's homepage
    The floppy controller can be programmed to send a normal interrupt or a non-maskable interrupt (NMI) on completing a command. See Section 8.1. If the floppy ...
  45. [45]
    NMI - NESdev Wiki
    7) during vertical blank without reading PPUSTATUS, a program can cause /NMI to be pulled low multiple times, causing multiple NMIs to be generated. When the ...Missing: Nintendo | Show results with:Nintendo
  46. [46]
    [PDF] Intel® 64 and IA-32 Architectures Software Developer's Manual
    NOTE: The Intel® 64 and IA-32 Architectures Software Developer's Manual consists of ten volumes: Basic Architecture, Order Number 253665; Instruction Set ...
  47. [47]
    Moore's Law Milestones - IEEE Spectrum
    Apr 30, 2015 · Moore's Law has been called the greatest winning streak in industrial history. Here we look back at some of the key milestones, developments, and turning ...<|control11|><|separator|>