summaryrefslogtreecommitdiff
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/remote_gdb.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/base/remote_gdb.cc b/src/base/remote_gdb.cc
index 2b545d13c..0d3b73b1e 100644
--- a/src/base/remote_gdb.cc
+++ b/src/base/remote_gdb.cc
@@ -642,7 +642,9 @@ RemoteGDB::read(Addr vaddr, size_t size, char *data)
DPRINTF(GDBRead, "read: addr=%#x, size=%d", vaddr, size);
- context->getVirtPort(context)->readBlob(vaddr, (uint8_t*)data, size);
+ VirtualPort *vp = context->getVirtPort(context);
+ vp->readBlob(vaddr, (uint8_t*)data, size);
+ context->delVirtPort(vp);
#if TRACING_ON
if (DTRACE(GDBRead)) {
@@ -679,8 +681,9 @@ RemoteGDB::write(Addr vaddr, size_t size, const char *data)
} else
DPRINTFNR("\n");
}
-
- context->getVirtPort(context)->writeBlob(vaddr, (uint8_t*)data, size);
+ VirtualPort *vp = context->getVirtPort(context);
+ vp->writeBlob(vaddr, (uint8_t*)data, size);
+ context->delVirtPort(vp);
#ifdef IMB
alpha_pal_imb();