From f1d7622b957e12c8130c24fe4c46882f70b59b1c Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Thu, 10 Aug 2000 18:54:27 +0000 Subject: * monitor.c (monitor_open): If a dcache has already been created, invalidate it rather than creating another. * ocd.c (ocd_open): Likewise. * remote-nindy.c (nindy_open): Likewise. * remote-sds.c (sds_open): Likewise. * remote-utils.c (gr_open): Likewise. * remote.c (remote_open_1, remote_cisco_open): Likewise. * dcache.c (dcache_alloc): Changed to take address of line as an argument, and to invalidate cache line before returning. (dcache_peek_byte): Updated. (dcache_poke_byte): Updated. ------------------------------------------------------------------- --- gdb/monitor.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gdb/monitor.c') diff --git a/gdb/monitor.c b/gdb/monitor.c index e3fa1c8..b57365e 100644 --- a/gdb/monitor.c +++ b/gdb/monitor.c @@ -838,10 +838,17 @@ monitor_open (char *args, struct monitor_ops *mon_ops, int from_tty) monitor_printf (current_monitor->line_term); - if (current_monitor->flags & MO_HAS_BLOCKWRITES) - remote_dcache = dcache_init (monitor_read_memory, monitor_write_memory_block); + if (!remote_dcache) + { + if (current_monitor->flags & MO_HAS_BLOCKWRITES) + remote_dcache = dcache_init (monitor_read_memory, + monitor_write_memory_block); + else + remote_dcache = dcache_init (monitor_read_memory, monitor_write_memory); + } else - remote_dcache = dcache_init (monitor_read_memory, monitor_write_memory); + dcache_flush (remote_dcache); + start_remote (); } -- cgit v1.1