aboutsummaryrefslogtreecommitdiff
path: root/gdb/monitor.c
diff options
context:
space:
mode:
authorJ.T. Conklin <jtc@acorntoolworks.com>2000-08-10 18:54:27 +0000
committerJ.T. Conklin <jtc@acorntoolworks.com>2000-08-10 18:54:27 +0000
commitf1d7622b957e12c8130c24fe4c46882f70b59b1c (patch)
tree00b4defbb759d34bc6ef4db5dc670b7fc5702473 /gdb/monitor.c
parente84d946b3ae38920c124cba665158104049c8665 (diff)
downloadfsf-binutils-gdb-f1d7622b957e12c8130c24fe4c46882f70b59b1c.zip
fsf-binutils-gdb-f1d7622b957e12c8130c24fe4c46882f70b59b1c.tar.gz
fsf-binutils-gdb-f1d7622b957e12c8130c24fe4c46882f70b59b1c.tar.bz2
* 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. -------------------------------------------------------------------
Diffstat (limited to 'gdb/monitor.c')
-rw-r--r--gdb/monitor.c13
1 files changed, 10 insertions, 3 deletions
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 ();
}