public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: pmuldoon@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: 2008-03-26 Phil Muldoon <pmuldoon@redhat.com> Date: Wed, 26 Mar 2008 13:03:00 -0000 [thread overview] Message-ID: <20080326130354.5799.qmail@sourceware.org> (raw) 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
reply other threads:[~2008-03-26 13:03 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20080326130354.5799.qmail@sourceware.org \ --to=pmuldoon@sourceware.org \ --cc=frysk-cvs@sourceware.org \ --cc=frysk@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).