diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2014-12-02 06:07:38 -0500 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2014-12-02 06:07:38 -0500 |
commit | 0706a252031b3f160bac65fac00b22f8a5ebf4f9 (patch) | |
tree | 7f34dd2ef0a6d19fa5f5e1e43268d0be9a0963bb /src/mem/port_proxy.hh | |
parent | 9779ba2e37a753df407b976fc4b299d936ea62b8 (diff) | |
download | gem5-0706a252031b3f160bac65fac00b22f8a5ebf4f9.tar.xz |
mem: Use const pointers for port proxy write functions
This patch changes the various write functions in the port proxies
to use const pointers for all sources (similar to how memcpy works).
The one unfortunate aspect is the need for a const_cast in the packet,
to avoid having to juggle a const and a non-const data pointer. This
design decision can always be re-evaluated at a later stage.
Diffstat (limited to 'src/mem/port_proxy.hh')
-rw-r--r-- | src/mem/port_proxy.hh | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/mem/port_proxy.hh b/src/mem/port_proxy.hh index 1213daafa..e9ddeecbf 100644 --- a/src/mem/port_proxy.hh +++ b/src/mem/port_proxy.hh @@ -91,8 +91,6 @@ class PortProxy /** Granularity of any transactions issued through this proxy. */ const unsigned int _cacheLineSize; - void blobHelper(Addr addr, uint8_t *p, int size, MemCmd cmd) const; - public: PortProxy(MasterPort &port, unsigned int cacheLineSize) : _port(port), _cacheLineSize(cacheLineSize) { } @@ -101,14 +99,12 @@ class PortProxy /** * Read size bytes memory at address and store in p. */ - virtual void readBlob(Addr addr, uint8_t* p, int size) const - { blobHelper(addr, p, size, MemCmd::ReadReq); } + virtual void readBlob(Addr addr, uint8_t* p, int size) const; /** * Write size bytes from p to address. */ - virtual void writeBlob(Addr addr, uint8_t* p, int size) const - { blobHelper(addr, p, size, MemCmd::WriteReq); } + virtual void writeBlob(Addr addr, const uint8_t* p, int size) const; /** * Fill size bytes starting at addr with byte value val. |