System and method for interrupt handling
First Claim
1. A system that facilitates delivering an interrupt to a driver in an isolated environment, the isolated environment is separate from a real kernel environment, the system comprising:
- a component that, upon receipt of the interrupt in the real kernel environment, invokes a proxy interrupt service routine (ISR) associated with a proxy driver, the proxy ISR associates the interrupt to a dedicated execution context;
a component that directs a kernel to context switch to the dedicated execution context;
a component that transitions to the isolated environment and invokes an ISR associated with the isolated driver;
a component that returns to the real kernel environment and switches back to the interrupt; and
a component that determines if the interrupt was handled.
2 Assignments
0 Petitions
Accused Products
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.
70 Citations
29 Claims
-
1. A system that facilitates delivering an interrupt to a driver in an isolated environment, the isolated environment is separate from a real kernel environment, the system comprising:
-
a component that, upon receipt of the interrupt in the real kernel environment, invokes a proxy interrupt service routine (ISR) associated with a proxy driver, the proxy ISR associates the interrupt to a dedicated execution context;
a component that directs a kernel to context switch to the dedicated execution context;
a component that transitions to the isolated environment and invokes an ISR associated with the isolated driver;
a component that returns to the real kernel environment and switches back to the interrupt; and
a component that determines if the interrupt was handled. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for transmitting an interrupt message in an isolated environment to a driver, the method comprising:
-
invoking a proxy ISR within a real kernel environment distinct from the isolated environment;
determining a dedicated execution context associated to the interrupt message;
context switching to the dedicated execution context;
transitioning to a user mode within the isolated environment;
invoking a driver ISR;
returning to the real kernel environment and switching back to the interrupt message; and
determining if the interrupt message was handled. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A system that facilitates processing an interrupt in a protected environment, the system comprising:
-
means for determining a dedicated execution context associated to the interrupt;
means for context switching to the dedicated execution context;
means for transitioning from a kernel mode to an isolation mode within the protected environment, the isolation mode is separate from an environment in which the real kernel runs;
means for invoking a driver ISR; and
means for returning to the environment in which the real kernel runs and switching back to the interrupt. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A threaded interrupt system that facilitates delivering an interrupt message from a real kernel environment to an isolated driver in a isolated mode, the system comprising:
-
a component that simulates an interface associated to the isolated driver;
a proxy interrupt service routine (ISR) associated with a proxy driver, the proxy ISR associates the interrupt message in the real kernel environment to a dedicated thread;
a kernel that context switches to the dedicated thread;
a component that transitions to the isolated mode and invokes an ISR associated with the isolated driver;
a component that returns to the real kernel environment and switches back to the interrupt message; and
a component that determines if the interrupt message was handled. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification