This is the mail archive of the frysk-cvs@sources.redhat.com mailing list for the frysk project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
The branch, master has been updated via a0fc4305e0afa24959ac5cd073f65c6bb50eb8b0 (commit) from b927d6c13dcc27d155895895fcb958b4c32fb595 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit a0fc4305e0afa24959ac5cd073f65c6bb50eb8b0 Author: Phil Muldoon <pmuldoon@redhat.com> Date: Tue Apr 1 21:48:19 2008 +0100 Implement hasWatchpointTriggered in abstract, and sub-classes. 2008-04-01 Phil Muldoon <pmuldoon@redhat.com> * Watchpoint.java (hasWatchpointTriggered): Define. * IA32Watchpoint.java (hasWatchpointTriggered): Implement. * X8664Watchpoint.java (hasWatchpointTriggered): Ditto. ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/isa/watchpoints/ChangeLog | 6 ++++++ .../frysk/isa/watchpoints/IA32Watchpoint.java | 13 ++++++++++++- frysk-core/frysk/isa/watchpoints/Watchpoint.java | 10 ++++++++++ .../frysk/isa/watchpoints/X8664Watchpoint.java | 12 ++++++++++++ 4 files changed, 40 insertions(+), 1 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/isa/watchpoints/ChangeLog b/frysk-core/frysk/isa/watchpoints/ChangeLog index 0e4f56f..f53652b 100644 --- a/frysk-core/frysk/isa/watchpoints/ChangeLog +++ b/frysk-core/frysk/isa/watchpoints/ChangeLog @@ -1,3 +1,9 @@ +2008-04-01 Phil Muldoon <pmuldoon@redhat.com> + + * Watchpoint.java (hasWatchpointTriggered): Define. + * IA32Watchpoint.java (hasWatchpointTriggered): Implement. + * X8664Watchpoint.java (hasWatchpointTriggered): Ditto. + 2008-03-28 Phil Muldoon <pmuldoon@redhat.com> * Watchpoint.java: New. Initial Implementation. diff --git a/frysk-core/frysk/isa/watchpoints/IA32Watchpoint.java b/frysk-core/frysk/isa/watchpoints/IA32Watchpoint.java index 3627d03..5f97636 100644 --- a/frysk-core/frysk/isa/watchpoints/IA32Watchpoint.java +++ b/frysk-core/frysk/isa/watchpoints/IA32Watchpoint.java @@ -197,7 +197,18 @@ class IA32Watchpoint extends Watchpoint { task.setRegister(IA32Registers.DEBUG_CONTROL, debugControl); } - + /** + * Reads the Debug Status Register and checks if + * the breakpoint specified has fired. + * + * @param task - task to read the debug control + * register from. + */ + public boolean hasWatchpointTriggered(Task task, int index) { + long debugStatus = task.getRegister(IA32Registers.DEBUG_STATUS); + return (debugStatus & (1L << index)) != 0; + } + /** * Reads the Debug control register. diff --git a/frysk-core/frysk/isa/watchpoints/Watchpoint.java b/frysk-core/frysk/isa/watchpoints/Watchpoint.java index fc8c234..a0ef202 100644 --- a/frysk-core/frysk/isa/watchpoints/Watchpoint.java +++ b/frysk-core/frysk/isa/watchpoints/Watchpoint.java @@ -94,6 +94,16 @@ public abstract class Watchpoint { */ public abstract long readControlRegister(Task task); + + /** + * Reads the Debug Status Register and checks if + * the breakpoint specified has fired. + * + * @param task - task to read the debug control + * register from. + */ + public abstract boolean hasWatchpointTriggered(Task task, int index); + /** * Returns number of watchpoints for this architecture * diff --git a/frysk-core/frysk/isa/watchpoints/X8664Watchpoint.java b/frysk-core/frysk/isa/watchpoints/X8664Watchpoint.java index c581f92..1df98a5 100644 --- a/frysk-core/frysk/isa/watchpoints/X8664Watchpoint.java +++ b/frysk-core/frysk/isa/watchpoints/X8664Watchpoint.java @@ -205,5 +205,17 @@ class X8664Watchpoint extends Watchpoint { return task.getRegister(X8664Registers.DEBUG_CONTROL); } + /** + * Reads the Debug Status Register and checks if + * the breakpoint specified has fired. + * + * @param task - task to read the debug control + * register from. + */ + public boolean hasWatchpointTriggered(Task task, int index) { + long debugStatus = task.getRegister(X8664Registers.DEBUG_STATUS); + return (debugStatus & (1L << index)) != 0; + } + } hooks/post-receive -- frysk system monitor/debugger
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |