summaryrefslogtreecommitdiff
path: root/src/mem/simple_mem.hh
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-03-25 18:08:27 -0700
committerGabe Black <gabeblack@google.com>2019-04-14 01:01:56 +0000
commitf9e833b1aba5642df9411fdc5e1ee11456cc6d61 (patch)
tree6bc98d38ac5bc650804733965a139c3434225f6e /src/mem/simple_mem.hh
parent73e14fb3679e1063012b67a33c69473713a12304 (diff)
downloadgem5-f9e833b1aba5642df9411fdc5e1ee11456cc6d61.tar.xz
mem: Teach SimpleMem to return a MemBackdoor when appropriate.
If the back door SimpleMem inherits from AbstractMem has a pointer and is hence valid, SimpleMem will return that pointer when asked. Change-Id: I734daba48e4ae5b4ad8ac9a108e7b12b5e82803f Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17669 Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/mem/simple_mem.hh')
-rw-r--r--src/mem/simple_mem.hh25
1 files changed, 7 insertions, 18 deletions
diff --git a/src/mem/simple_mem.hh b/src/mem/simple_mem.hh
index c8c3db516..dda4aedb9 100644
--- a/src/mem/simple_mem.hh
+++ b/src/mem/simple_mem.hh
@@ -84,27 +84,20 @@ class SimpleMemory : public AbstractMemory
class MemoryPort : public SlavePort
{
-
private:
-
SimpleMemory& memory;
public:
-
MemoryPort(const std::string& _name, SimpleMemory& _memory);
protected:
-
- Tick recvAtomic(PacketPtr pkt);
-
- void recvFunctional(PacketPtr pkt);
-
- bool recvTimingReq(PacketPtr pkt);
-
- void recvRespRetry();
-
+ Tick recvAtomic(PacketPtr pkt) override;
+ Tick recvAtomicBackdoor(
+ PacketPtr pkt, MemBackdoorPtr &_backdoor) override;
+ void recvFunctional(PacketPtr pkt) override;
+ bool recvTimingReq(PacketPtr pkt) override;
+ void recvRespRetry() override;
AddrRangeList getAddrRanges() const;
-
};
MemoryPort port;
@@ -192,15 +185,11 @@ class SimpleMemory : public AbstractMemory
void init() override;
protected:
-
Tick recvAtomic(PacketPtr pkt);
-
+ Tick recvAtomicBackdoor(PacketPtr pkt, MemBackdoorPtr &_backdoor);
void recvFunctional(PacketPtr pkt);
-
bool recvTimingReq(PacketPtr pkt);
-
void recvRespRetry();
-
};
#endif //__MEM_SIMPLE_MEMORY_HH__