diff options
author | Gabe Black <gabeblack@google.com> | 2019-03-25 18:08:27 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-04-14 01:01:56 +0000 |
commit | f9e833b1aba5642df9411fdc5e1ee11456cc6d61 (patch) | |
tree | 6bc98d38ac5bc650804733965a139c3434225f6e /src/mem/simple_mem.cc | |
parent | 73e14fb3679e1063012b67a33c69473713a12304 (diff) | |
download | gem5-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.cc')
-rw-r--r-- | src/mem/simple_mem.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mem/simple_mem.cc b/src/mem/simple_mem.cc index 32fea1e89..297aa6135 100644 --- a/src/mem/simple_mem.cc +++ b/src/mem/simple_mem.cc @@ -80,6 +80,16 @@ SimpleMemory::recvAtomic(PacketPtr pkt) return getLatency(); } +Tick +SimpleMemory::recvAtomicBackdoor(PacketPtr pkt, MemBackdoorPtr &_backdoor) +{ + Tick latency = recvAtomic(pkt); + + if (backdoor.ptr()) + _backdoor = &backdoor; + return latency; +} + void SimpleMemory::recvFunctional(PacketPtr pkt) { @@ -271,6 +281,13 @@ SimpleMemory::MemoryPort::recvAtomic(PacketPtr pkt) return memory.recvAtomic(pkt); } +Tick +SimpleMemory::MemoryPort::recvAtomicBackdoor( + PacketPtr pkt, MemBackdoorPtr &_backdoor) +{ + return memory.recvAtomicBackdoor(pkt, _backdoor); +} + void SimpleMemory::MemoryPort::recvFunctional(PacketPtr pkt) { |