From c92f31c6e57cb4a136b75a276ecccd97c39f79ed Mon Sep 17 00:00:00 2001 From: Mark Alexander Date: Tue, 21 May 1996 06:09:23 +0000 Subject: [PATCH] * 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. --- gdb/ChangeLog | 12 ++++++++++++ gdb/monitor.h | 4 ++++ gdb/remote-est.c | 3 ++- gdb/sh3-rom.c | 4 ++-- gdb/srec.h | 2 +- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 47b557b1026..2efe97970dd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +Mon May 20 22:52:00 1996 Mark Alexander + + * 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 * config/sparc/sparclite.mt: Add the sparc simulator. diff --git a/gdb/monitor.h b/gdb/monitor.h index e61dc96ba40..dc2f124e672 100644 --- a/gdb/monitor.h +++ b/gdb/monitor.h @@ -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, diff --git a/gdb/remote-est.c b/gdb/remote-est.c index cfa97310b06..25c25ac24cc 100644 --- a/gdb/remote-est.c +++ b/gdb/remote-est.c @@ -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 */ diff --git a/gdb/sh3-rom.c b/gdb/sh3-rom.c index 701bf28412a..6279c9a96df 100644 --- a/gdb/sh3-rom.c +++ b/gdb/sh3-rom.c @@ -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 */ diff --git a/gdb/srec.h b/gdb/srec.h index 1446bda3f17..eb69360571d 100644 --- a/gdb/srec.h +++ b/gdb/srec.h @@ -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 */ -- 2.30.2