* config/mips/tm-embed.h (STOPPED_BY_WATCHPOINT): Delete macro.
(TARGET_CAN_USE_HARDWARE_WATCHPOINT): Delete macro.
(target_remove_watchpoint): Delete macro.
(target_insert_watchpoint): Delete macro.
(remote_mips_can_use_hardware_watchpoint): Delete declaration.
(remote_mips_stopped_by_watchpoint): Delete declaration.
(remote_mips_remove_watchpoint): Delete declaration.
(remote_mips_set_watchpoint): Delete declaration.
(TARGET_HAS_HARDWARE_WATCHPOINTS): Delete macro.
* remote-mips.c (_initialize_remote_mips): Set
"to_insert_watchpoint", "to_stopped_by_watchpoint",
"to_can_use_hardware_watchpoint", and "to_remove_watchpoint".
(mips_insert_watchpoint): Rename remote_mips_set_watchpoint.
(mips_remove_watchpoint): Rename remote_mips_remove_watchpoint.
(mips_stopped_by_watchpoint): Rename
remote_mips_stopped_by_watchpoint.
(mips_can_hardware_watchpoint): Rename
remote_mips_can_use_hardware_watchpoint, update function
signature.
+2003-08-29 Andrew Cagney <cagney@redhat.com>
+
+ * config/mips/tm-embed.h (STOPPED_BY_WATCHPOINT): Delete macro.
+ (TARGET_CAN_USE_HARDWARE_WATCHPOINT): Delete macro.
+ (target_remove_watchpoint): Delete macro.
+ (target_insert_watchpoint): Delete macro.
+ (remote_mips_can_use_hardware_watchpoint): Delete declaration.
+ (remote_mips_stopped_by_watchpoint): Delete declaration.
+ (remote_mips_remove_watchpoint): Delete declaration.
+ (remote_mips_set_watchpoint): Delete declaration.
+ (TARGET_HAS_HARDWARE_WATCHPOINTS): Delete macro.
+ * remote-mips.c (_initialize_remote_mips): Set
+ "to_insert_watchpoint", "to_stopped_by_watchpoint",
+ "to_can_use_hardware_watchpoint", and "to_remove_watchpoint".
+ (mips_insert_watchpoint): Rename remote_mips_set_watchpoint.
+ (mips_remove_watchpoint): Rename remote_mips_remove_watchpoint.
+ (mips_stopped_by_watchpoint): Rename
+ remote_mips_stopped_by_watchpoint.
+ (mips_can_hardware_watchpoint): Rename
+ remote_mips_can_use_hardware_watchpoint, update function
+ signature.
+
2003-08-29 Mark Kettenis <kettenis@gnu.org>
* x86-64-linux-tdep.c (user_to_gdb_regmap): Remove USER_CS and
#include "mips/tm-mips.h"
-/* Watchpoint support */
-
-#define TARGET_HAS_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 (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 (CORE_ADDR addr, int len, int type);
-
/* We need to remove watchpoints when stepping, else we hit them again! */
-#define HAVE_NONSTEPPABLE_WATCHPOINT 1
-
-int remote_mips_stopped_by_watchpoint (void);
-#define STOPPED_BY_WATCHPOINT(w) remote_mips_stopped_by_watchpoint ()
+/* FIXME: cagney/2003-08-29: The macros HAVE_STEPPABLE_WATCHPOINT,
+ HAVE_NONSTEPPABLE_WATCHPOINT, and HAVE_CONTINUABLE_WATCHPOINT need
+ to all be folded into the target vector. Since they are being used
+ as guards for STOPPED_BY_WATCHPOINT, why not have
+ STOPPED_BY_WATCHPOINT return the type of watchpoint that the code
+ is sitting on? */
-#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \
- remote_mips_can_use_hardware_watchpoint(cnt)
-int remote_mips_can_use_hardware_watchpoint (int cnt);
+#define HAVE_NONSTEPPABLE_WATCHPOINT 1
implements the TARGET_CAN_USE_HARDWARE_WATCHPOINT macro. */
int
-remote_mips_can_use_hardware_watchpoint (int cnt)
+mips_can_use_watchpoint (int type, int cnt, int othertype)
{
return cnt < MAX_LSI_BREAKPOINTS && strcmp (target_shortname, "lsi") == 0;
}
watchpoint. */
int
-remote_mips_set_watchpoint (CORE_ADDR addr, int len, int type)
+mips_insert_watchpoint (CORE_ADDR addr, int len, int type)
{
if (set_breakpoint (addr, len, type))
return -1;
}
int
-remote_mips_remove_watchpoint (CORE_ADDR addr, int len, int type)
+mips_remove_watchpoint (CORE_ADDR addr, int len, int type)
{
if (clear_breakpoint (addr, len, type))
return -1;
}
int
-remote_mips_stopped_by_watchpoint (void)
+mips_stopped_by_watchpoint (void)
{
return hit_watchpoint;
}
mips_ops.to_files_info = mips_files_info;
mips_ops.to_insert_breakpoint = mips_insert_breakpoint;
mips_ops.to_remove_breakpoint = mips_remove_breakpoint;
+ mips_ops.to_insert_watchpoint = mips_insert_watchpoint;
+ mips_ops.to_remove_watchpoint = mips_remove_watchpoint;
+ mips_ops.to_stopped_by_watchpoint = mips_stopped_by_watchpoint;
+ mips_ops.to_can_use_hw_breakpoint = mips_can_use_watchpoint;
mips_ops.to_kill = mips_kill;
mips_ops.to_load = mips_load;
mips_ops.to_create_inferior = mips_create_inferior;