summaryrefslogtreecommitdiff
path: root/src/mem
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2008-07-01 10:24:19 -0400
committerAli Saidi <saidi@eecs.umich.edu>2008-07-01 10:24:19 -0400
commitc5fbbf376a6be4bb3ad7ddc64841450541c16db6 (patch)
treeb7038e333bdc574d1338de4d136aeeb80ce27819 /src/mem
parent50e3e50e1ac592b357a47eecdc3c99a528172870 (diff)
downloadgem5-c5fbbf376a6be4bb3ad7ddc64841450541c16db6.tar.xz
Change everything to use the cached virtPort rather than created their own each time.
This appears to work, but I don't want to commit it until it gets tested a lot more. I haven't deleted the functionality in this patch that will come later, but one question is how to enforce encourage objects that call getVirtPort() to not cache the virtual port since if the CPU changes out from under them it will be worse than useless. Perhaps a null function like delVirtPort() is still useful in that case.
Diffstat (limited to 'src/mem')
-rw-r--r--src/mem/vport.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mem/vport.cc b/src/mem/vport.cc
index 6cc4d9ca9..a2f8b1ecc 100644
--- a/src/mem/vport.cc
+++ b/src/mem/vport.cc
@@ -75,7 +75,7 @@ void
CopyOut(ThreadContext *tc, void *dest, Addr src, size_t cplen)
{
uint8_t *dst = (uint8_t *)dest;
- VirtualPort *vp = tc->getVirtPort(tc);
+ VirtualPort *vp = tc->getVirtPort();
vp->readBlob(src, dst, cplen);
@@ -87,7 +87,7 @@ void
CopyIn(ThreadContext *tc, Addr dest, void *source, size_t cplen)
{
uint8_t *src = (uint8_t *)source;
- VirtualPort *vp = tc->getVirtPort(tc);
+ VirtualPort *vp = tc->getVirtPort();
vp->writeBlob(dest, src, cplen);
@@ -99,7 +99,7 @@ CopyStringOut(ThreadContext *tc, char *dst, Addr vaddr, size_t maxlen)
{
int len = 0;
char *start = dst;
- VirtualPort *vp = tc->getVirtPort(tc);
+ VirtualPort *vp = tc->getVirtPort();
do {
vp->readBlob(vaddr++, (uint8_t*)dst++, 1);
@@ -112,7 +112,7 @@ CopyStringOut(ThreadContext *tc, char *dst, Addr vaddr, size_t maxlen)
void
CopyStringIn(ThreadContext *tc, char *src, Addr vaddr)
{
- VirtualPort *vp = tc->getVirtPort(tc);
+ VirtualPort *vp = tc->getVirtPort();
for (ChunkGenerator gen(vaddr, strlen(src), TheISA::PageBytes); !gen.done();
gen.next())
{