← Back to Patent Explorer
US5621886A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for providing efficient software debugging

Assignee: Intel Corp
•
Filing: 1995-06-19
•
Granted: 1997-04-15
•
Expires: 2015-06-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for the separate enablement of debug events during the execution of operating system routines and non-operating system routines. According to one aspect of the invention, a processor is described which may operate in a first mode and a second mode. While operating in the first mode, the processor allows for access to additional resources which are not available in the second mode. The processor generally includes a first storage area, a circuit, and debug circuitry. The first storage area has stored therein a first indication. This first indication indicates which mode the processor is currently operating in. The circuit has stored therein a second indication and a third indication. The second indication indicates whether a debug event is to be recognized while the processor is operating in the first mode. The third indication indicates whether the debug event is to be recognized while the processor is operating in the second mode. The debug circuitry is coupled to the first storage area to receive the first indication. The debug circuitry is also coupled to the circuit to receive either the second indication or the third indication based on the state of the first indication. The debug circuitry allows for the recognition of the debug event based on the state of the indication it receives from the circuit.

Inventors

  • 👤 Donald Alpert
  • 👤 Gary Hammond

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 16:11
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/3648; G06F11/3656; G06F11/3636

Claims Analysis

Total Claims: 40
Claim 1
Independent Claim 153 words
A processor operable in a first mode and a second mode said processor comprising: a first storage area configured to store a first indication indicating which of said first mode and said second mode said processor is currently operating in; and a circuit configured to store a second indication and a third indication, said second indication for indicating whether a debug event is to be recognized while said processor is operating in said first mode, said third indication for indicating whether said debug event is to be recognized while said processor is operating in said second mode; and a debug circuitry coupled to said first storage area to receive said first indication, said debug circuitry coupled to said circuit to receive one of said second indication and said third indication as a current indication based on said first indication, said debug circuitry allowing recognition of said debug event based on said current indication.
Claim 2
Dependent Claim 153 words
A processor operable in a first mode and a second mode said processor comprising: a first storage area configured to store a first indication indicating which of said first mode and said second mode said processor is currently operating in; and a circuit configured to store a second indication and a third indication, said second indication for indicating whether a debug event is to be recognized while said processor is operating in said first mode, said third indication for indicating whether said debug event is to be recognized while said processor is operating in said second mode; and a debug circuitry coupled to said first storage area to receive said first indication, said debug circuitry coupled to said circuit to receive one of said second indication and said third indication as a current indication based on said first indication, said debug circuitry allowing recognition of said debug event based on said current indication.
Claim 3
Dependent Claim 65 words
The processor of claim 1, said circuit comprising: a second storage area configured to store said second indication; a third storage area configured to store said third indication; and a fourth storage area configured to store one of said second indication and said third indication as said current indication based on which of said first mode and said second mode said processor is currently operating.
Claim 4
Dependent Claim 36 words
The processor of claim 2 further comprising: a control unit coupled to said third storage area for copying said third indication into said fourth storage area in response to said processor switching to said second mode.
Claim 5
Dependent Claim 30 words
The processor of claim 2 further comprising: an execution unit for copying said second indication into said fourth storage area in response to said processor switching to said first mode.
Claim 6
Dependent Claim 30 words
The processor of claim 1, wherein said first mode is a kernel mode for executing operating system routines, and wherein said second mode is a user mode for executing applications.
Claim 7
Dependent Claim 13 words
The processor of claim 1, said debug circuitry including a branch breakpoint unit.
Claim 8
Dependent Claim 13 words
The processor of claim 1, said debug circuitry including an address breakpoint unit.
Claim 9
Dependent Claim 34 words
The processor of claim 1, said processor having a scalar mode and a superscalar mode, said processor operating in said scalar mode while said current indication indicates said debug event is to be recognized.
Claim 10
Independent Claim 117 words
An apparatus for use in a computer system, said apparatus comprising: a first storage area to store a first indication, said first indication for enabling a debug circuitry during execution of non-operating system routines; a second storage area to store a second indication, said second indication for enabling said debug circuitry during execution of operating system routines; a third storage area to store one of said first indication and said second indication as a current indication; a control unit coupled to said second storage area to copy said second indication into said third storage area during the execution of operating system routines; and said debug circuitry coupled to said third storage area to receive said current indication.
Claim 11
Independent Claim 117 words
An apparatus for use in a computer system, said apparatus comprising: a first storage area to store a first indication, said first indication for enabling a debug circuitry during execution of non-operating system routines; a second storage area to store a second indication, said second indication for enabling said debug circuitry during execution of operating system routines; a third storage area to store one of said first indication and said second indication as a current indication; a control unit coupled to said second storage area to copy said second indication into said third storage area during the execution of operating system routines; and said debug circuitry coupled to said third storage area to receive said current indication.
Claim 12
Dependent Claim 33 words
The apparatus of claim 9 further comprising: an execution unit coupled to said first storage area to copy said first indication into said third storage area during the execution of non-operating system routines.
Claim 13
Dependent Claim 11 words
The apparatus of claim 9, said debug circuitry providing branch breakpoints.
Claim 14
Dependent Claim 11 words
The apparatus of claim 9, said debug circuitry providing address breakpoints.
Claim 15
Dependent Claim 41 words
The apparatus of claim 9, said debug circuitry providing both a break on jump breakpoint and an address breakpoint, both said first indication and said second indication allowing for separate enablement of said break on jump breakpoint and said address breakpoint.
Claim 16
Dependent Claim 90 words
A processor operable in a first mode and a second mode, said processor comprising: an execution unit; a circuit means for selectively enabling recognition of a debug event while said processor is operating in said first mode and for separately allowing for selectively enabling recognition of said debug event while said processor is operating in said second mode, said first mode allowing access to storage areas and execution of instructions not available in said second mode; and a debug circuitry coupled to said circuit means for recognizing said debug event.
Claim 17
Dependent Claim 90 words
A processor operable in a first mode and a second mode, said processor comprising: an execution unit; a circuit means for selectively enabling recognition of a debug event while said processor is operating in said first mode and for separately allowing for selectively enabling recognition of said debug event while said processor is operating in said second mode, said first mode allowing access to storage areas and execution of instructions not available in said second mode; and a debug circuitry coupled to said circuit means for recognizing said debug event.
Claim 18
Dependent Claim 27 words
The processor of claim 14, said circuit means comprising: a first storage area for storing an indication for indicating whether recognition of said debug event is enabled.
Claim 19
Dependent Claim 76 words
The processor of claim 15, said indication having a first state for enabling recognition of said debug event and a second state for disabling recognition of said debug event, said circuit means further including a control unit coupled to said first storage area, said control unit for altering said indication to one of said first state and said second state based on which of said first mode and said second mode said processor is operating in.
Claim 20
Dependent Claim 22 words
The processor of claim 14, said first mode for executing operating system type routines, said second mode for executing application type routines.
Claim 21
Dependent Claim 13 words
The processor of claim 14, said debug event being a branch breakpoint event.
Claim 22
Dependent Claim 13 words
The processor of claim 14, said debug event being an address breakpoint event.
Claim 23
Dependent Claim 30 words
The processor of claim 14, said processor having a scalar mode and a superscalar mode, said processor operating in said scalar mode while recognition of said debug event is enabled.
Claim 24
Dependent Claim 22 words
The processor of claim 14, wherein switching between said first mode and said second mode may be performed during software task switches.
Claim 25
Dependent Claim 132 words
In a computer system having a processor, said processor operable in a first mode and a second mode, a method for separately enabling recognition of a debug event in said first mode and said second mode, said method comprising the steps of: A) storing a first indication for selectively enabling recognition of said debug event while said processor is in said first mode; B ) storing a second indication for selectively enabling recognition of said debug event while said processor is in said second mode; C) selecting one of said first indication and said second indication as a currently selected indication based on which of said first mode and said second mode said processor is currently operating in; and D) enabling recognition of said debug event based on said currently selected indication.
Claim 26
Dependent Claim 132 words
In a computer system having a processor, said processor operable in a first mode and a second mode, a method for separately enabling recognition of a debug event in said first mode and said second mode, said method comprising the steps of: A) storing a first indication for selectively enabling recognition of said debug event while said processor is in said first mode; B ) storing a second indication for selectively enabling recognition of said debug event while said processor is in said second mode; C) selecting one of said first indication and said second indication as a currently selected indication based on which of said first mode and said second mode said processor is currently operating in; and D) enabling recognition of said debug event based on said currently selected indication.
Claim 27
Dependent Claim 57 words
The method of claim 22, said step of selecting further comprising the steps of: C1) storing said second indication in a current indication storage area in response to said processor switching to said second mode; and C2) storing said first indication in said current indication storage area in response to said processor switching to said first mode.
Claim 28
Dependent Claim 14 words
The method of claim 22, wherein said debug event is a branch breakpoint event.
Claim 29
Dependent Claim 91 words
In a computer system having a processor, a method for separately enabling recognition of a debug event, said method comprising the steps of: A) enabling recognition of said debug event based on a first indication while said processor is executing non-operating system routines, said first indication indicating one of an enable state and a disable state; and B ) enabling recognition of said debug event based on a second indication while said processor is executing operating system routines, said second indication indicating one of said enable state and said disable state.
Claim 30
Dependent Claim 91 words
In a computer system having a processor, a method for separately enabling recognition of a debug event, said method comprising the steps of: A) enabling recognition of said debug event based on a first indication while said processor is executing non-operating system routines, said first indication indicating one of an enable state and a disable state; and B ) enabling recognition of said debug event based on a second indication while said processor is executing operating system routines, said second indication indicating one of said enable state and said disable state.
Claim 31
Dependent Claim 35 words
The method of claim 25, said step of enabling recognition of said debug event based on said first indication further comprising the steps of: A1) storing said first indication in a current indication storage area.
Claim 32
Dependent Claim 86 words
The method of claim 26, said step of enabling recognition of said debug event based on said second indication further comprising the steps of: B1) storing said second indication in a second indication storage area; B2) copying said first indication from said current indication storage area into a first indication storage area in response to said processor switching to executing operating system routines; and B3) copying said second indication from said second indication storage area into said current indication storage area in response to step B2.
Claim 33
Dependent Claim 52 words
The method of claim 27, said step of enabling recognition of said debug event based on said first indication further comprising the step of: A2) copying said first indication from said first indication storage area into said current indication storage area in response to said processor switching to executing non-operating system routines.
Claim 34
Dependent Claim 48 words
The method of claim 25 further comprising the steps of: C) detecting an occurrence of said debug event; D) determining whether recognition of said debug event is enabled; and E) recognizing said occurrence of said debug event if it was determined recognition of said debug event is enabled.
Claim 35
Dependent Claim 64 words
The method of claim 29, said step of determining whether recognition of said debug event is enabled further comprising the steps of: D1) accessing a currently selected indication in a current indication storage area, said currently selecting indication being one of said first indication and second indication; and D2) determining whether recognition of said debug event is enabled based on said currently selected indication.
Claim 36
Dependent Claim 194 words
A computer system comprising: a bus; a processor, coupled to said bus, operable in a first mode and a second mode, said processor comprising: a first storage area configured to store a first indication indicating which of said first mode and said second mode said processor is currently operating in; and a circuit configured to store a second indication and a third indication, said second indication for indicating whether a debug event is to be recognized while said processor is operating in said first mode, said third indication for indicating whether said debug event is to be recognized while said processor is operating in said second mode; and a debug circuitry coupled to said first storage area to receive said first indication, said debug circuitry coupled to said circuit to receive one of said second indication and said third indication as a current indication based on said first indication, said debug circuitry allowing recognition of said debug event based on said current indication; and a memory, coupled to said bus, having stored therein a routine which, when executed by said processor, causes said processor to alter one of said second and said third indications.
Claim 37
Dependent Claim 194 words
A computer system comprising: a bus; a processor, coupled to said bus, operable in a first mode and a second mode, said processor comprising: a first storage area configured to store a first indication indicating which of said first mode and said second mode said processor is currently operating in; and a circuit configured to store a second indication and a third indication, said second indication for indicating whether a debug event is to be recognized while said processor is operating in said first mode, said third indication for indicating whether said debug event is to be recognized while said processor is operating in said second mode; and a debug circuitry coupled to said first storage area to receive said first indication, said debug circuitry coupled to said circuit to receive one of said second indication and said third indication as a current indication based on said first indication, said debug circuitry allowing recognition of said debug event based on said current indication; and a memory, coupled to said bus, having stored therein a routine which, when executed by said processor, causes said processor to alter one of said second and said third indications.
Claim 38
Dependent Claim 28 words
The computer system of claim 31, wherein said first mode is for executing operating system type routines, and said second mode is for executing non-operating system type routines.
Claim 39
Dependent Claim 15 words
The computer system of claim 31, wherein said debug event is a branch breakpoint event.
Claim 40
Dependent Claim 15 words
The computer system of claim 31, wherein said debug event is an address breakpoint event.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-04-14 2000-10-14 2001-04-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-04-14 2004-10-14 2005-04-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-04-14 2008-10-14 2009-04-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag