aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorDawn Perchik <dawn@cygnus>1998-07-23 21:48:28 +0000
committerDawn Perchik <dawn@cygnus>1998-07-23 21:48:28 +0000
commit2474bfd7941b312d6aa79d00c395ef6e7c847405 (patch)
treead41bae81e20b41f2bfae34fd8c26a610b6d7bbe /gdb
parent650a22721ede761cff0a22715618d8c55d271084 (diff)
downloadgdb-2474bfd7941b312d6aa79d00c395ef6e7c847405.zip
gdb-2474bfd7941b312d6aa79d00c395ef6e7c847405.tar.gz
gdb-2474bfd7941b312d6aa79d00c395ef6e7c847405.tar.bz2
* remote-mips.c (remote_mips_insert_hw_breakpoint,
remote_mips_remove_hw_breakpoint): New functions for hardware breakpoints on LSI targets. * config/mips/tm-embed.h (target_remove_hw_breakpoint, target_insert_hw_breakpoint): Define to call remote_mips_insert_hw_breakpoint and remote_mips_remove_hw_breakpoint, respectively.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/remote-mips.c30
2 files changed, 40 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7e97c5a..c75c1a7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+Thu Jul 23 14:49:27 1998 Dawn Perchik <dawn@cygnus.com>
+
+ * remote-mips.c (remote_mips_insert_hw_breakpoint,
+ remote_mips_remove_hw_breakpoint): New functions for hardware
+ breakpoints on LSI targets.
+ * config/mips/tm-embed.h (target_remove_hw_breakpoint,
+ target_insert_hw_breakpoint): Define to call
+ remote_mips_insert_hw_breakpoint and remote_mips_remove_hw_breakpoint,
+ respectively.
+
start-sanitize-sky
Thu Jul 23 13:00:28 1998 Ian Carmichael <iancarm@cygnus.com>
diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c
index bdd50c5..75db2ee 100644
--- a/gdb/remote-mips.c
+++ b/gdb/remote-mips.c
@@ -2488,6 +2488,36 @@ calculate_mask (addr, len)
return mask;
}
+
+/* Insert a hardware breakpoint. This works only on LSI targets, which
+ implement ordinary breakpoints using hardware facilities. */
+
+int
+remote_mips_insert_hw_breakpoint (addr, contents_cache)
+ CORE_ADDR addr;
+ char *contents_cache;
+{
+ if (strcmp (target_shortname, "lsi") == 0)
+ return mips_insert_breakpoint (addr, contents_cache);
+ else
+ return -1;
+}
+
+
+/* Remove a hardware breakpoint. This works only on LSI targets, which
+ implement ordinary breakpoints using hardware facilities. */
+
+int
+remote_mips_remove_hw_breakpoint (addr, contents_cache)
+ CORE_ADDR addr;
+ char *contents_cache;
+{
+ if (strcmp (target_shortname, "lsi") == 0)
+ return mips_remove_breakpoint (addr, contents_cache);
+ else
+ return -1;
+}
+
/* Set a data watchpoint. ADDR and LEN should be obvious. TYPE is 0
for a write watchpoint, 1 for a read watchpoint, or 2 for a read/write
watchpoint. */