public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: 2008-03-26  Phil Muldoon  <pmuldoon@redhat.com>
@ 2008-03-26 13:03 pmuldoon
  0 siblings, 0 replies; only message in thread
From: pmuldoon @ 2008-03-26 13:03 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  00345416a6028de2e659b7a01d3b1c54adca694f (commit)
      from  9c6237cfe7385cb4d444a00c92de1a7668cae0ed (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 00345416a6028de2e659b7a01d3b1c54adca694f
Author: Phil Muldoon <pmuldoon@redhat.com>
Date:   Wed Mar 26 13:03:25 2008 +0000

    2008-03-26  Phil Muldoon  <pmuldoon@redhat.com>
    
            * Isa.java (setWatchpoint): New Interface
            (deleteWatchpoint): Ditto.
            (getWatchpointCount): Ditto.
            * LinuxX8664.java: Add above interfaces.
            * LinuxIA32.java: Ditto.
            * IsaPowerPC.java: Ditto.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/proc/live/ChangeLog       |    9 ++++++
 frysk-core/frysk/proc/live/Isa.java        |   28 ++++++++++++++++++++
 frysk-core/frysk/proc/live/IsaPowerPC.java |   37 ++++++++++++++++++++++++++
 frysk-core/frysk/proc/live/LinuxIA32.java  |   39 +++++++++++++++++++++++++++-
 frysk-core/frysk/proc/live/LinuxX8664.java |   35 +++++++++++++++++++++++++
 5 files changed, 147 insertions(+), 1 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
index c269998..0175fca 100644
--- a/frysk-core/frysk/proc/live/ChangeLog
+++ b/frysk-core/frysk/proc/live/ChangeLog
@@ -1,3 +1,12 @@
+2008-03-26  Phil Muldoon  <pmuldoon@redhat.com>
+
+	* Isa.java (setWatchpoint): New Interface
+	(deleteWatchpoint): Ditto.
+	(getWatchpointCount): Ditto.
+	* LinuxX8664.java: Add above interfaces.
+	* LinuxIA32.java: Ditto.
+	* IsaPowerPC.java: Ditto.
+
 2008-03-18  Andrew Cagney  <cagney@redhat.com>
 
 	* LinuxPtraceHost.java (removeProc(LinuxPtraceProc)): Replace
diff --git a/frysk-core/frysk/proc/live/Isa.java b/frysk-core/frysk/proc/live/Isa.java
index 41bb1c0..3ea7fba 100644
--- a/frysk-core/frysk/proc/live/Isa.java
+++ b/frysk-core/frysk/proc/live/Isa.java
@@ -51,6 +51,34 @@ import inua.eio.ByteBuffer;
 
 public interface Isa {
 
+
+  /**
+   * Builds a watchpoint. Takes a task, an address, a 
+   * range and a register index.
+   *
+   * @return boolean whether the watchpoint
+   * was set succesfully.
+   */
+  boolean setWatchpoint(Task task, long addr, 
+			long range, int index);
+
+  /**
+   * Deletes a watchpoint. Takes a task, and a 
+   * register index.
+   *
+   * @return boolean whether the watchpoint
+   * was deleted succesfully.
+   */
+  boolean deleteWatchpoint(Task task, int index);
+
+
+  /**
+   * Returns number of watchpoints for this architecture
+   *
+   * @return int number of usable watchpoints.
+   */
+  int getWatchpointCount();
+
   /**
    * Get the breakpoint instruction.
    * 
diff --git a/frysk-core/frysk/proc/live/IsaPowerPC.java b/frysk-core/frysk/proc/live/IsaPowerPC.java
index a69ca46..39120cf 100644
--- a/frysk-core/frysk/proc/live/IsaPowerPC.java
+++ b/frysk-core/frysk/proc/live/IsaPowerPC.java
@@ -58,6 +58,43 @@ abstract class IsaPowerPC implements Isa {
    	new Instruction(new byte[] { (byte)0x7d, (byte)0x82, 
 				     (byte)0x10, (byte)0x08 }, false);
 
+
+    // Architecture Watchpoint Count
+    private final int NoOfWatchpoints = 1;
+
+    /**
+     * Builds a watchpoint. Takes a task, an address a 
+     * range and a register index.
+     *
+     * @return boolean whether the watchpoint
+     * was set succesfully.
+     */
+    public final boolean setWatchpoint(Task task, long addr, 
+				       long range, int index) {
+	throw new RuntimeException("Watchpoints not supported on this arch");
+    }
+
+    /**
+     * Deletes a watchpoint. Takes a task and a 
+     * range.
+     *
+     * @return boolean whether the watchpoint
+     * was deleted succesfully.
+     */
+    public final boolean deleteWatchpoint(Task task, int index) {
+	throw new RuntimeException("Watchpoints not supported on this arch");
+    }
+
+    /**
+     * Returns number of watchpoints for this architecture
+     *
+     * @return int number of usable watchpoints.
+     */
+    public final int getWatchpointCount() {
+	return NoOfWatchpoints;
+    }
+
+
   /**
    * Get the breakpoint instruction of the PowerPC platform.
    */
diff --git a/frysk-core/frysk/proc/live/LinuxIA32.java b/frysk-core/frysk/proc/live/LinuxIA32.java
index fe11aa5..184a5d9 100644
--- a/frysk-core/frysk/proc/live/LinuxIA32.java
+++ b/frysk-core/frysk/proc/live/LinuxIA32.java
@@ -51,7 +51,41 @@ class LinuxIA32 implements Isa {
 
     private static final Instruction IA32Breakpoint
 	= new Instruction(new byte[] { (byte)0xcc }, false);
-  
+
+    // Architecture Watchpoint Count
+    private final int NoOfWatchpoints = 7;
+
+    /**
+     * Builds a watchpoint. Takes a task, an address, a 
+     * range and a register index.
+     *
+     * @return boolean whether the watchpoint
+     * was set succesfully.
+     */
+    public final boolean setWatchpoint(Task task, long addr, 
+				       long range, int index) {
+	throw new RuntimeException("Watchpoints not supported on this arch");
+    }
+
+    /**
+     * Deletes a watchpoint. Takes a task, and a range.
+     *
+     * @return boolean whether the watchpoint
+     * was deleted succesfully.
+     */
+    public final boolean deleteWatchpoint(Task task, int index) {
+	throw new RuntimeException("Watchpoints not supported on this arch");
+    }
+
+    /**
+     * Returns number of watchpoints for this architecture
+     *
+     * @return int number of usable watchpoints.
+     */
+    public final int getWatchpointCount() {
+	return NoOfWatchpoints;
+    }
+
     /**
      * Get the breakpoint instruction for IA32.
      */
@@ -154,10 +188,13 @@ class LinuxIA32 implements Isa {
 	return result;
     }
 
+
     private static LinuxIA32 isa;
     static LinuxIA32 isaSingleton () {
 	if (isa == null)
 	    isa = new LinuxIA32 ();
 	return isa;
     }
+
+
 }
diff --git a/frysk-core/frysk/proc/live/LinuxX8664.java b/frysk-core/frysk/proc/live/LinuxX8664.java
index 8ee4876..3dd3dfc 100644
--- a/frysk-core/frysk/proc/live/LinuxX8664.java
+++ b/frysk-core/frysk/proc/live/LinuxX8664.java
@@ -50,6 +50,41 @@ import frysk.proc.Auxv;
 class LinuxX8664 implements Isa {
     private static final Instruction X8664Breakpoint
 	= new Instruction(new byte[] { (byte)0xcc }, false);
+
+
+    // Architecture Watchpoint Count
+    private final int NoOfWatchpoints = 7;
+
+    /**
+     * Builds a watchpoint. Takes a task, an address, a 
+     * range and a register index.
+     *
+     * @return boolean whether the watchpoint
+     * was set succesfully.
+     */
+    public final boolean setWatchpoint(Task task, long addr, 
+				       long range, int index) {
+	throw new RuntimeException("Watchpoints not supported on this arch");
+    }
+
+    /**
+     * Deletes a watchpoint. Takes a task, and a range.
+     *
+     * @return boolean whether the watchpoint
+     * was deleted succesfully.
+     */
+    public final boolean deleteWatchpoint(Task task, int index) {
+	throw new RuntimeException("Watchpoints not supported on this arch");
+    }
+
+    /**
+     * Returns number of watchpoints for this architecture
+     *
+     * @return int number of usable watchpoints.
+     */
+    public final int getWatchpointCount() {
+	return NoOfWatchpoints;
+    }
   
     /**
      * Get the breakpoint instruction for X8664.


hooks/post-receive
--
frysk system monitor/debugger


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-03-26 13:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-26 13:03 [SCM] master: 2008-03-26 Phil Muldoon <pmuldoon@redhat.com> pmuldoon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).