Patent ID: 8434098

Claim:
A method, comprising: loading a user-mode driver associated with a device; loading a plurality of kernel stubs associated with the user-mode driver in a kernel of an operating system, the kernel stubs including a reset stub associated with the device and the reset stub is provided by the user-mode driver; providing the plurality of kernel stubs access to a shared memory space that is shared between the plurality of kernel stubs and the user-mode driver; synchronizing the plurality of kernel stubs and the user-mode driver using a deferred procedure call (DPC); providing a software based fault isolation mechanism to execute the plurality of kernel stubs; receiving an interrupt; invoking one of the kernel stubs via a kernel-mode interrupt handler to perform an interrupt service routine such that the interrupt service routine is run in an arbitrary context at a raised interrupt request level; and monitoring for a device exception caused by an interrupt storm using the software based fault isolation mechanism, wherein the interrupt storm occurs when the user-mode driver does not properly dismiss an interrupt.