summaryrefslogtreecommitdiff
path: root/src/mem/se_translating_port_proxy.cc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-05-01 20:12:05 -0700
committerGabe Black <gabeblack@google.com>2019-05-29 04:23:37 +0000
commitd7c4cad240fd4f378d7362da5e9e44b9f0dd80d3 (patch)
treeca7d39cefd3df3ce87cbc6588a391faab03957f9 /src/mem/se_translating_port_proxy.cc
parent6a69fc18e743006db013797531d9ebcdb352a88d (diff)
downloadgem5-d7c4cad240fd4f378d7362da5e9e44b9f0dd80d3.tar.xz
mem, arm: Replace the pointer type in PortProxy with void *.
The void * type is for pointers which point to an unknown type. We should use that when handling anonymous buffers in the PortProxy functions, instead of uint8_t * which points to bytes. Importantly, C/C++ doesn't require you to do any casting to turn an arbitrary pointer type into a void *. This will get rid of lots of tedious, verbose casting throughout the code base. Change-Id: Id1adecc283c866d8e24524efd64f37b079088bd9 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18571 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/mem/se_translating_port_proxy.cc')
-rw-r--r--src/mem/se_translating_port_proxy.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mem/se_translating_port_proxy.cc b/src/mem/se_translating_port_proxy.cc
index de5335a05..c5f38f1cd 100644
--- a/src/mem/se_translating_port_proxy.cc
+++ b/src/mem/se_translating_port_proxy.cc
@@ -62,9 +62,10 @@ SETranslatingPortProxy::SETranslatingPortProxy(MasterPort& port, Process *p,
{ }
bool
-SETranslatingPortProxy::tryReadBlob(Addr addr, uint8_t *p, int size) const
+SETranslatingPortProxy::tryReadBlob(Addr addr, void *p, int size) const
{
int prevSize = 0;
+ auto *bytes = static_cast<uint8_t *>(p);
for (ChunkGenerator gen(addr, size, PageBytes); !gen.done(); gen.next()) {
Addr paddr;
@@ -72,7 +73,7 @@ SETranslatingPortProxy::tryReadBlob(Addr addr, uint8_t *p, int size) const
if (!pTable->translate(gen.addr(),paddr))
return false;
- PortProxy::readBlobPhys(paddr, 0, p + prevSize, gen.size());
+ PortProxy::readBlobPhys(paddr, 0, bytes + prevSize, gen.size());
prevSize += gen.size();
}
@@ -81,10 +82,10 @@ SETranslatingPortProxy::tryReadBlob(Addr addr, uint8_t *p, int size) const
bool
-SETranslatingPortProxy::tryWriteBlob(Addr addr, const uint8_t *p,
- int size) const
+SETranslatingPortProxy::tryWriteBlob(Addr addr, const void *p, int size) const
{
int prevSize = 0;
+ auto *bytes = static_cast<const uint8_t *>(p);
for (ChunkGenerator gen(addr, size, PageBytes); !gen.done(); gen.next()) {
Addr paddr;
@@ -104,7 +105,7 @@ SETranslatingPortProxy::tryWriteBlob(Addr addr, const uint8_t *p,
pTable->translate(gen.addr(), paddr);
}
- PortProxy::writeBlobPhys(paddr, 0, p + prevSize, gen.size());
+ PortProxy::writeBlobPhys(paddr, 0, bytes + prevSize, gen.size());
prevSize += gen.size();
}