|
|
Non-maskable interrupts (NMI) are critical interrupts such as those generated after a power failure that cannot be blocked by the CPU. This is in contrast to most common device interrupts such as disk and network adapter interrupts, which are considered maskable.
When developing drivers for hardware that can generate NMIs, use the DDI routines for efficient handling of these critical interrupts.
Drivers typically call the drv_callback(D3) function to register a callback handler with the system. When NMIs are generated, the registered driver handler is called back, and the drivers can choose to do one or more of the following things:
ODDI drivers use the add_nmi_handler(D3oddi) and remove_nmi_handler(D3oddi) functions to register and remove NMI handler functions.