System and method for interrupt handling
AssigneeMicrosoft Corporation
InventorsPeter W. Wieland, Adrian J. Oney
Life of this patent
Estimating the term…
Abstract
A system, methodology and/or computer architecture that facilitates processing device interrupts (including level-triggered interrupts) in a user-mode process is provided. The kernel interrupt handler can cause a dedicated thread in the process to wake and invoke the driver interrupt service routine. This thread can then return control to the kernel interrupt handler. In addition to processing interrupts in an isolated mode, the context switching technique could be used in any isolated environment to process interrupts via dedicated execution context methods.
Claims20
A system that facilitates invoking an isolated driver in a protection domain that is isolated from a real kernel domain upon receipt of an interrupt, the system comprising:
- a proxy driver interrupt service routine (ISR) related to a proxy driver in the real kernel domain that is associated with an isolated driver interrupt service routine (ISR) related to the isolated driver in the protection domain;
- and
- a component that upon receipt of an interrupt invokes the proxy driver interrupt service routine (ISR), the proxy driver interrupt service routine (ISR) directs a kernel to context switch to a dedicated execution context associated with the interrupt, the dedicated execution thread transitions to the protection domain and invokes the isolated driver.
A system for invoking an isolated driver in an environment that is isolated from a kernel environment upon receipt of an interrupt, the system comprising:
- a sandbox management component that creates one or more isolated environments that are isolated from the kernel environment;
- a sandbox exterior component located out outside of the isolated environment that invokes an isolated driver within the isolated environment upon receipt of an interrupt through a proxy handle associated with the isolated driver, the sandbox exterior component is isolated from the interior of the isolated environment.
The system of clam 8, the sandbox exterior component provides an entry point into the isolated environment from the exterior of the isolated environment through proxy handles associated with the sandbox interior component.
A method for invoking an isolated driver in an environment isolated from a kernel environment upon receipt of an interrupt, the method comprising:
- invoking a proxy ISR associated with the interrupt in the kernel environment, the proxy ISR is isolated from the isolated environment and is related to an isolated driver ISR located within the isolated environment, the isolated driver ISR is associated with the isolated driver;
- transitioning to a user mode within the isolated environment;
- and
- invoking the isolated driver ISR.
Dependencies are inferred from the claim text.