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]

[SCM] master: 2008-03-26 Phil Muldoon <pmuldoon@redhat.com>


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]