aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/mips/tm-embed.h
diff options
context:
space:
mode:
authorMark Alexander <marka@cygnus>1997-06-17 02:11:42 +0000
committerMark Alexander <marka@cygnus>1997-06-17 02:11:42 +0000
commitf781fe93a6bf9062af5770cb94af5c52b29c584b (patch)
treebd7d46b71369d1e76667ffeb614bdc65f6584d8a /gdb/config/mips/tm-embed.h
parent77f3ac77b541865ccd33567adb0c3c988cb60625 (diff)
downloadgdb-f781fe93a6bf9062af5770cb94af5c52b29c584b.zip
gdb-f781fe93a6bf9062af5770cb94af5c52b29c584b.tar.gz
gdb-f781fe93a6bf9062af5770cb94af5c52b29c584b.tar.bz2
* infrun.c (wait_for_inferior): Mark registers as invalid when
stepping over an instruction that triggered a watchpoint. * remote-mips.c: Numerous changes to support hardware breakpoints and watchpoints on LSI MiniRISC and TinyRISC boards. * mips-tdep.c: Move MIPS16-related macros to config/mips/tm-mips.h. (mips_breakpoint_from_pc): Account for different breakpoint instructions used by PMON and IDT monitor. * config/mips/tm-embed.h: Enable hardware breakpoints on embedded MIPS targets. * config/mips/tm-mips.h: Define breakpoint instructions for PMON and IDT monitor. Move MIPS16-related macros here from mips-tdep.c.
Diffstat (limited to 'gdb/config/mips/tm-embed.h')
-rw-r--r--gdb/config/mips/tm-embed.h34
1 files changed, 22 insertions, 12 deletions
diff --git a/gdb/config/mips/tm-embed.h b/gdb/config/mips/tm-embed.h
index f3d2cc8..4f82d3f 100644
--- a/gdb/config/mips/tm-embed.h
+++ b/gdb/config/mips/tm-embed.h
@@ -23,30 +23,20 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#undef DEFAULT_MIPS_TYPE
#define DEFAULT_MIPS_TYPE "r3051"
-/* start-sanitize-gm */
-#ifdef GENERAL_MAGIC
-
-#include "tm-magic.h" /* Include generic stuff */
-
-/* For some reason GM can't hack this... */
-
-#undef GET_LONGJMP_TARGET
-
/* Watchpoint support */
#define TARGET_HAS_HARDWARE_WATCHPOINTS
-#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \
- (1 == 1) /* We allow all types of hardware watchpoints */
-
/* Use these macros for watchpoint insertion/deletion. */
/* type can be 0: write watch, 1: read watch, 2: access watch (read/write) */
#define target_insert_watchpoint(addr, len, type) \
remote_mips_set_watchpoint (addr, len, type)
+int remote_mips_set_watchpoint PARAMS ((CORE_ADDR addr, int len, int type));
#define target_remove_watchpoint(addr, len, type) \
remote_mips_remove_watchpoint (addr, len, type)
+int remote_mips_remove_watchpoint PARAMS ((CORE_ADDR addr, int len, int type));
/* We need to remove watchpoints when stepping, else we hit them again! */
@@ -54,7 +44,27 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define STOPPED_BY_WATCHPOINT(w) remote_mips_stopped_by_watchpoint ()
+/* start-sanitize-gm */
+#ifdef GENERAL_MAGIC
+
+#include "tm-magic.h" /* Include generic stuff */
+
+/* For some reason GM can't hack this... */
+
+#undef GET_LONGJMP_TARGET
+
+#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \
+ (1 == 1) /* We allow all types of hardware watchpoints */
+
#define FLUSH_CACHED_MEMORY() flush_cached_memory()
+#else
+/* end-sanitize-gm */
+
+#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \
+ remote_mips_can_use_hardware_watchpoint(cnt)
+int remote_mips_can_use_hardware_watchpoint PARAMS ((int cnt));
+
+/* start-sanitize-gm */
#endif /* GENERAL_MAGIC */
/* end-sanitize-gm */