US5596755A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Mechanism for using common code to handle hardware interrupts in multiple processor modes
Assignee: Microsoft Technology Licensing LLC
•
Filing: 1995-05-08
•
Granted: 1997-01-21
•
Expires: 2015-05-08
Abstract
Abstract An interrupt handler may be run in multiple processor modes on a data processing system having a processor for executing instructions and a memory for storing information. The sharing of interrupt handler code across multiple processor modes minimizes the switching between processor modes during the handling of interrupts. The mode in which the interrupt handler executes is dictated by the current processor mode. The indicator of the current processor mode directs the interrupt handler to use information that is appropriate for the current processor mode.
Inventors
- 👤 Richard A. Pletcher
- 👤 Ralph A. Lipe
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 10:28
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4812
Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
192 words
In a data processing system having a processor for executing instructions and operating in different processor modes, a storage for storing information and an interrupt handler for handling a type of interrupt, a method of handling interrupts comprising the steps of: a) storing an indicator of a current processor mode in the storage; b) storing information to be used by the interrupt handler when run in a first processor mode in the storage and storing information to be used by the interrupt handler when run in a second processor mode in the storage; c) receiving an interrupt of the type handled by the interrupt handler responds; d) in response to receiving the interrupt, determining what the current processor mode is by examining the indicator in storage; e) running the interrupt handler using the stored information for the first processor mode in response to determining that the current processor mode is the first mode to avoid switching processor modes; and f) running the interrupt handler using the stored information for the second processor mode in response to determining that the current processor mode is the second processor mode to avoid switching processor modes.
Claim 2
Dependent Claim
192 words
In a data processing system having a processor for executing instructions and operating in different processor modes, a storage for storing information and an interrupt handler for handling a type of interrupt, a method of handling interrupts comprising the steps of: a) storing an indicator of a current processor mode in the storage; b) storing information to be used by the interrupt handler when run in a first processor mode in the storage and storing information to be used by the interrupt handler when run in a second processor mode in the storage; c) receiving an interrupt of the type handled by the interrupt handler responds; d) in response to receiving the interrupt, determining what the current processor mode is by examining the indicator in storage; e) running the interrupt handler using the stored information for the first processor mode in response to determining that the current processor mode is the first mode to avoid switching processor modes; and f) running the interrupt handler using the stored information for the second processor mode in response to determining that the current processor mode is the second processor mode to avoid switching processor modes.
Claim 3
Dependent Claim
60 words
A method as recited in claim 1, wherein the step of storing information to be used by the interrupt handler when run in the first processor mode comprises the step of storing information to be used by the interrupt handler when run in the first processor mode in which the instructions that are executed by the processor use virtual addresses.
Claim 4
Dependent Claim
60 words
A method as recited in claim 2 wherein the step of storing information to be used by the interrupt handler when run in the second processor mode comprises the step of storing information to be used by the interrupt handler when run in the second processor mode in which the instructions that are executed by the processor use physical addresses.
Claim 5
Dependent Claim
58 words
A method as recited in claim 2 wherein the step of storing information to be used by the interrupt handler when run in the first processor mode comprises the step of storing values that specify segments of memory in a virtual memory address space to be used by the interrupt handler when run in the first processor mode.
Claim 6
Dependent Claim
40 words
A method as recited in claim 4 wherein the step of storing values that specify segments of memory in a virtual address space comprises the step of storing at least one index to an entry in a segment descriptor table.
Claim 7
Dependent Claim
63 words
A method as recited in claim 1 wherein the step of storing information to be used by the interrupt handler when run in the first processor mode comprises the step of storing in the storage information to be used by the interrupt handler when run in the first processor mode in which the instructions that are executed by the processor use physical addresses.
Claim 8
Dependent Claim
45 words
A method as recited in claim 6 wherein the step of storing information to be used by the interrupt handler when run in the first processor mode in the storage comprises the step of storing values that specify memory blocks in a physical address space.
Claim 9
Dependent Claim
88 words
A method as recited in claim 1 wherein the step of storing information to be used by the interrupt handler when run in the first processor mode comprises the step of storing the information to be used by the interrupt handler when run in the first processor mode at a location in the storage that is offset by a fixed offset from a location that stores the information to be used by the interrupt handler when run in the second processor mode that is stored in the storage.
Claim 10
Dependent Claim
64 words
A method as recited in claim 8 wherein the step of storing the information to be used by the interrupt handler when run in the first processor mode comprises the step of storing the information to be used by the interrupt handler at a location in the storage that is offset by a fixed offset specified by the indicator of the current processor mode.
Claim 11
Dependent Claim
85 words
A method as recited in claim 9 wherein the step of storing the indicator of the current processor mode in the storage comprises the step of storing the fixed offset between the location in the storage that stores the information to be used by the interrupt handler when run in the first processor mode and the location in the storage that stores the information to be used by interrupt handler when run in the second processor mode as the indicator of the current processor mode.
Claim 12
Dependent Claim
24 words
A method as recited in claim 1 wherein the storage comprises a memory that is logically partitioned into segments of contiguous blocks of memory.
Claim 13
Dependent Claim
121 words
A method as recited in claim 11 wherein the first processor mode is a first privilege level, the second processor mode is a second privilege level, and privilege levels are associated with each segment of memory such that in order for the processor to gain access to a segment of memory, the processor must be executing in a processor mode having a privilege level that is equal or greater than the privilege level of the memory segment and wherein the step of storing information comprises the step of storing information to be used by the interrupt handler when run in the first privilege level and storing information to be used by the interrupt handler when run in the second privilege level.
Claim 14
Dependent Claim
75 words
A method as recited in claim 11 further comprising the steps of: storing a control procedure for the first processor mode in the storage; storing a control procedure for the second processor mode in the storage; calling the control procedure of the first processor mode when the current processor mode is the first processor mode; and calling the control procedure of the second processor mode when the current processor mode is the second processor mode.
References Cited (Backward Citations)
US5067077A
Cited
US5159688A
Cited
US4779187A
Cited
US5027273A
Cited
US4930068A
Cited
US5109329A
Cited
US5193161A
Cited
US4928237A
Cited
US5125087A
Cited
US5155853A
Cited
US5274831A
Cited
US5123098A
Cited
US4878031A
Cited
US5325536A
Cited
US5274776A
Cited
US5255379A
Cited
US5303378A
Cited
US5237669A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-01-21 | 2000-07-22 | 2001-01-21 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-01-21 | 2004-07-22 | 2005-01-21 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-01-21 | 2008-07-22 | 2009-01-21 | $7700.00 | Window Closed / Lapsed |