* dsrec.c (load_srec): Add WAITACK parameter, for machines
authorMark Alexander <marka@cygnus>
Tue, 21 May 1996 06:09:23 +0000 (06:09 +0000)
committerMark Alexander <marka@cygnus>
Tue, 21 May 1996 06:09:23 +0000 (06:09 +0000)
like EST visionICE that send back an ACK after each S-record.
* monitor.c (monitor_wait_srec_ack): New function.
(monitor_load): Pass monitor_wait_srec_ack to load_srec
if the monitor's MO_SREC_ACK flag is set.
* monitor.h: Define MO_SREC_ACK flag.
* remote-est.c (est_cmds): Add MO_SREC_ACK flag.
* sh3-rom.c (sh3_load): Accomodate change in load_srec prototype.
* srec.h: Add WAITACK parameter to load_srec prototype.

gdb/ChangeLog
gdb/monitor.h
gdb/remote-est.c
gdb/sh3-rom.c
gdb/srec.h

index 47b557b10267f479cca58f5c798c8708d6c1694d..2efe97970ddfb61ebdd129fa02068e195715bf4e 100644 (file)
@@ -1,3 +1,15 @@
+Mon May 20 22:52:00 1996  Mark Alexander  <marka@cygnus.com>
+
+       * dsrec.c (load_srec): Add WAITACK parameter, for machines
+       like EST visionICE that send back an ACK after each S-record.
+       * monitor.c (monitor_wait_srec_ack): New function.
+       (monitor_load): Pass monitor_wait_srec_ack to load_srec
+       if the monitor's MO_SREC_ACK flag is set.
+       * monitor.h: Define MO_SREC_ACK flag.
+       * remote-est.c (est_cmds): Add MO_SREC_ACK flag.
+       * sh3-rom.c (sh3_load): Accomodate change in load_srec prototype.
+       * srec.h: Add WAITACK parameter to load_srec prototype.
+
 Sun May 19 21:22:00 1996  Rob Savoye  <rob@chinadoll>
 
        * config/sparc/sparclite.mt: Add the sparc simulator.
index e61dc96ba40c0ac8d8a9a56bcaa58d96b7f91342..dc2f124e6720c1733fd5310110852188ce691269 100644 (file)
@@ -148,6 +148,10 @@ struct monitor_ops
 
 #define MO_SEND_BREAK_ON_STOP 0x80
 
+/* If set, target sends an ACK after each S-record */
+
+#define MO_SREC_ACK 0x100
+
 #define SREC_SIZE 160
 
 extern void monitor_open PARAMS ((char *args, struct monitor_ops *ops,
index cfa97310b06dc888358a7470cac9479d829d761b..25c25ac24cc9191317ed62eb8cbf7b6efbaffee1 100644 (file)
@@ -97,7 +97,8 @@ static char *est_inits[] = {"he\r", /* Resets the prompt, and clears repeated cm
 
 static struct monitor_ops est_cmds =
 {
-  MO_CLR_BREAK_USES_ADDR | MO_FILL_USES_ADDR | MO_NEED_REGDUMP_AFTER_CONT,
+  MO_CLR_BREAK_USES_ADDR | MO_FILL_USES_ADDR | MO_NEED_REGDUMP_AFTER_CONT |
+  MO_SREC_ACK,
   est_inits,                   /* Init strings */
   "go\r",                      /* continue command */
   "sidr\r",                    /* single step */
index 701bf28412a021ecb4e91a8d5eba5469a5873c1d..6279c9a96dfa1a5b6ba90b39db6c1a5ffc7a8cc3 100644 (file)
@@ -123,7 +123,7 @@ sh3_load (desc, file, hashmark)
   if (parallel_in_use) 
     {
       monitor_printf("pl;s\r");
-      load_srec (parallel, file, 80, SREC_ALL, hashmark);      
+      load_srec (parallel, file, 80, SREC_ALL, hashmark, NULL);
       monitor_expect_prompt (NULL, 0);
     }
   else 
@@ -133,7 +133,7 @@ sh3_load (desc, file, hashmark)
       SERIAL_WRITE (desc, "\006", 1); /* Send ACK */
       monitor_expect ("LO x\r", NULL, 0); /* Look for filename */
 
-      load_srec (desc, file, 80, SREC_ALL, hashmark);
+      load_srec (desc, file, 80, SREC_ALL, hashmark, NULL);
 
       monitor_expect ("\005", NULL, 0); /* Look for ENQ */
       SERIAL_WRITE (desc, "\006", 1); /* Send ACK */
index 1446bda3f174f2d36ec21140e139d0a03a84fad9..eb69360571d7b097522537af436ce9082e7e281d 100644 (file)
@@ -18,7 +18,7 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 void load_srec PARAMS ((serial_t desc, const char *file, int maxrecsize,
-                       int flags, int hashmark));
+                       int flags, int hashmark, int (*waitack)(void)));
 
 /* S-record capability flags */