Handling multiple interrupts in a data processing system utilising multiple operating systems
First Claim
1. A method of processing data with execution of data processing operations under control of either a first operating system or a second operating system, said method comprising the steps of:
- receiving an interrupt for suspending execution of data processing operations;
in response to said interrupt, starting a stub interrupt handling routine executing under control of said first operating system;
as commanded by said stub interrupt handling routine, suspending execution of said stub interrupt handling routine and starting a main interrupt handling routine executing under control of said second operating system;
executing said main interrupt handling routine under control of said second operating system to handle said interrupt;
as commanded by said main interrupt handling routine, resuming execution of said stub interrupt handling routine under control of said first operating system; and
as commanded by said stub interrupt handling routine, resuming said data processing operations, whereinif said main interrupt handling routine is interrupted by a further interrupt which when handled leaves processing under control of said first operating system, then said first operating system detects that said stub interrupt handling routine has been interrupted and resumes said stub interrupt handling so as to trigger resumption of said main interrupt handling routine.
1 Assignment
0 Petitions
Accused Products
Abstract
In a data processing system using multiple operating systems, an interrupt which itself may be interrupted by a subsequent interrupt which will be serviced in a different operating system, guards itself against being overlooked when that subsequent interrupt has been handled by starting a stub interrupt handling routine in that other operating system before executing the main handling routine in the originating operating system. Thus, the stub interrupt handling routine will be recognised in the other operating system irrespective of other interrupt events which may occur and accordingly the interrupted interrupt handling may be restarted.
12 Citations
13 Claims
-
1. A method of processing data with execution of data processing operations under control of either a first operating system or a second operating system, said method comprising the steps of:
-
receiving an interrupt for suspending execution of data processing operations; in response to said interrupt, starting a stub interrupt handling routine executing under control of said first operating system; as commanded by said stub interrupt handling routine, suspending execution of said stub interrupt handling routine and starting a main interrupt handling routine executing under control of said second operating system; executing said main interrupt handling routine under control of said second operating system to handle said interrupt; as commanded by said main interrupt handling routine, resuming execution of said stub interrupt handling routine under control of said first operating system; and as commanded by said stub interrupt handling routine, resuming said data processing operations, wherein if said main interrupt handling routine is interrupted by a further interrupt which when handled leaves processing under control of said first operating system, then said first operating system detects that said stub interrupt handling routine has been interrupted and resumes said stub interrupt handling so as to trigger resumption of said main interrupt handling routine. - View Dependent Claims (2, 3, 4, 5, 6, 13)
-
-
7. Apparatus having a processor for processing data with execution of data processing operations under control of either a first operating system or a second operating system, said apparatus comprising:
-
receiving circuitry for receiving an interrupt to suspend execution of data processing operations; handling circuitry for starting a stub interrupt handling routine executing under control of said first operating system in response to said interrupt; suspending circuitry for suspending execution of said stub interrupt handling routine as commanded by said stub interrupt handling routine, and starting a main interrupt handling routine executing under control of said second operating system; execution circuitry for executing said main interrupt handling routine under control of said second operating system to handle said interrupt; resumption circuitry for resuming execution of said stub interrupt handling routine under control of said first operating system as commanded by said main interrupt handling routine; and resumption circuitry for resuming said data processing operations, as commanded by said stub interrupt handling routine, wherein if said main interrupt handling routine is interrupted by a further interrupt which when handled leaves processing under control of said first operating system, then said first operating system detects that said stub interrupt handling routine has been interrupted and resumes said stub interrupt handling so as to trigger resumption of said main interrupt handling routine. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification