Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Kei Sakamoto" <sakamoto.kei@renesas.com>
To: <gdb-patches@sources.redhat.com>
Subject: [RFA/m32r] Support hw watchpoint
Date: Fri, 19 Mar 2004 00:09:00 -0000	[thread overview]
Message-ID: <015401c40267$4b33f5c0$5169910a@E5A02646> (raw)
In-Reply-To: <404750EC.6090405@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 497 bytes --]

Hello,

The attached patch adds hardware watchpoint support to m32rsdi target,
which is a remote target of m32r architecture.
# Thank you for Andrew's suggestion.

This patch is small because I've already implemented watchpoint functions
in remote-m32r-sdi.c. I just didn't know how to define watchpoint's interface
in multi-arch.

OK to commit?

Kei Sakamoto
Renesas Technology Corp.

===

2004-03-05    Kei Sakamoto  <sakamoto.kei@renesas.com>

* remote-m32r-sdi.c: Support hardware watchpoint.

[-- Attachment #2: remote-m32r-sdi.c.patch --]
[-- Type: application/octet-stream, Size: 2038 bytes --]

Index: remote-m32r-sdi.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-m32r-sdi.c,v
retrieving revision 1.1
diff -u -r1.1 remote-m32r-sdi.c
--- remote-m32r-sdi.c	16 Oct 2003 02:36:39 -0000	1.1
+++ remote-m32r-sdi.c	5 Mar 2004 03:01:27 -0000
@@ -1434,13 +1434,14 @@
 }
 
 
-/* Tell whether this target can support a hardware breakpoint. 
-   This implements the TARGET_CAN_USE_HARDWARE_WATCHPOINT macro.  */
+/* Tell whether this target can support a hardware breakpoint.  CNT
+   is the number of hardware breakpoints already installed.  This
+   implements the TARGET_CAN_USE_HARDWARE_WATCHPOINT macro.  */
 
 int
-m32r_can_use_hardware_watchpoint (void)
+m32r_can_use_hw_watchpoint (int type, int cnt, int othertype)
 {
-  return max_access_breaks;
+  return sdi_desc != NULL && cnt < max_access_breaks;
 }
 
 /* Set a data watchpoint.  ADDR and LEN should be obvious.  TYPE is 0
@@ -1448,12 +1449,12 @@
    watchpoint. */
 
 int
-m32r_set_watchpoint (CORE_ADDR addr, int len, int type)
+m32r_insert_watchpoint (CORE_ADDR addr, int len, int type)
 {
   int i;
 
   if (remote_debug)
-    fprintf_unfiltered (gdb_stdlog, "m32r_set_watchpoint(%08lx,%d,%d)\n",
+    fprintf_unfiltered (gdb_stdlog, "m32r_insert_watchpoint(%08lx,%d,%d)\n",
 			addr, len, type);
 
   for (i = 0; i < MAX_ACCESS_BREAKS; i++)
@@ -1618,6 +1619,11 @@
   m32r_ops.to_files_info = m32r_files_info;
   m32r_ops.to_insert_breakpoint = m32r_insert_breakpoint;
   m32r_ops.to_remove_breakpoint = m32r_remove_breakpoint;
+  m32r_ops.to_can_use_hw_breakpoint = m32r_can_use_hw_watchpoint;
+  m32r_ops.to_insert_watchpoint = m32r_insert_watchpoint;
+  m32r_ops.to_remove_watchpoint = m32r_remove_watchpoint;
+  m32r_ops.to_stopped_by_watchpoint = m32r_stopped_by_watchpoint;
+  m32r_ops.to_stopped_data_address = m32r_stopped_data_address;
   m32r_ops.to_kill = m32r_kill;
   m32r_ops.to_load = m32r_load;
   m32r_ops.to_create_inferior = m32r_create_inferior;

WARNING: multiple messages have this Message-ID
From: "Kei Sakamoto" <sakamoto.kei@renesas.com>
To: <gdb-patches@sources.redhat.com>
Subject: [RFA/m32r] Support hw watchpoint
Date: Fri, 05 Mar 2004 04:04:00 -0000	[thread overview]
Message-ID: <015401c40267$4b33f5c0$5169910a@E5A02646> (raw)
Message-ID: <20040305040400.KCU90ferNRAwkwYDU2vo9WIsmN_RXkmhg_sv0m8vVfQ@z> (raw)
In-Reply-To: <404750EC.6090405@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 497 bytes --]

Hello,

The attached patch adds hardware watchpoint support to m32rsdi target,
which is a remote target of m32r architecture.
# Thank you for Andrew's suggestion.

This patch is small because I've already implemented watchpoint functions
in remote-m32r-sdi.c. I just didn't know how to define watchpoint's interface
in multi-arch.

OK to commit?

Kei Sakamoto
Renesas Technology Corp.

===

2004-03-05    Kei Sakamoto  <sakamoto.kei@renesas.com>

* remote-m32r-sdi.c: Support hardware watchpoint.

[-- Attachment #2: remote-m32r-sdi.c.patch --]
[-- Type: application/octet-stream, Size: 2038 bytes --]

Index: remote-m32r-sdi.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-m32r-sdi.c,v
retrieving revision 1.1
diff -u -r1.1 remote-m32r-sdi.c
--- remote-m32r-sdi.c	16 Oct 2003 02:36:39 -0000	1.1
+++ remote-m32r-sdi.c	5 Mar 2004 03:01:27 -0000
@@ -1434,13 +1434,14 @@
 }
 
 
-/* Tell whether this target can support a hardware breakpoint. 
-   This implements the TARGET_CAN_USE_HARDWARE_WATCHPOINT macro.  */
+/* Tell whether this target can support a hardware breakpoint.  CNT
+   is the number of hardware breakpoints already installed.  This
+   implements the TARGET_CAN_USE_HARDWARE_WATCHPOINT macro.  */
 
 int
-m32r_can_use_hardware_watchpoint (void)
+m32r_can_use_hw_watchpoint (int type, int cnt, int othertype)
 {
-  return max_access_breaks;
+  return sdi_desc != NULL && cnt < max_access_breaks;
 }
 
 /* Set a data watchpoint.  ADDR and LEN should be obvious.  TYPE is 0
@@ -1448,12 +1449,12 @@
    watchpoint. */
 
 int
-m32r_set_watchpoint (CORE_ADDR addr, int len, int type)
+m32r_insert_watchpoint (CORE_ADDR addr, int len, int type)
 {
   int i;
 
   if (remote_debug)
-    fprintf_unfiltered (gdb_stdlog, "m32r_set_watchpoint(%08lx,%d,%d)\n",
+    fprintf_unfiltered (gdb_stdlog, "m32r_insert_watchpoint(%08lx,%d,%d)\n",
 			addr, len, type);
 
   for (i = 0; i < MAX_ACCESS_BREAKS; i++)
@@ -1618,6 +1619,11 @@
   m32r_ops.to_files_info = m32r_files_info;
   m32r_ops.to_insert_breakpoint = m32r_insert_breakpoint;
   m32r_ops.to_remove_breakpoint = m32r_remove_breakpoint;
+  m32r_ops.to_can_use_hw_breakpoint = m32r_can_use_hw_watchpoint;
+  m32r_ops.to_insert_watchpoint = m32r_insert_watchpoint;
+  m32r_ops.to_remove_watchpoint = m32r_remove_watchpoint;
+  m32r_ops.to_stopped_by_watchpoint = m32r_stopped_by_watchpoint;
+  m32r_ops.to_stopped_data_address = m32r_stopped_data_address;
   m32r_ops.to_kill = m32r_kill;
   m32r_ops.to_load = m32r_load;
   m32r_ops.to_create_inferior = m32r_create_inferior;

  reply	other threads:[~2004-03-05  4:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-04  9:34 No set_gdbarch_* functions for hardware watchpoints Kei Sakamoto
2004-03-04 15:53 ` Andrew Cagney
2004-03-19  0:09   ` Kei Sakamoto [this message]
2004-03-05  4:04     ` [RFA/m32r] Support hw watchpoint Kei Sakamoto
2004-03-19  0:09     ` Daniel Jacobowitz
2004-03-09 15:43       ` Daniel Jacobowitz
2004-03-10  0:27       ` Kei Sakamoto
2004-03-19  0:09         ` Kei Sakamoto
2004-03-19  0:09   ` No set_gdbarch_* functions for hardware watchpoints Andrew Cagney
2004-03-19  0:09 ` Kei Sakamoto

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='015401c40267$4b33f5c0$5169910a@E5A02646' \
    --to=sakamoto.kei@renesas.com \
    --cc=gdb-patches@sources.redhat.com \
    /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: link
Be 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