← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag