mem-cache: Add match functions to QueueEntry

Having the caller decide the matching logic is error-prone, and
frequently ends up with the secure bit being forgotten. This
change adds matching functions to the QueueEntry to avoid this
problem.

As a side effect the signature of findPending has been changed.

Change-Id: I6e494a821c1e6e841ab103ec69632c0e1b269a08
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17530
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
This commit is contained in:
Daniel R. Carvalho
2019-01-24 15:00:18 +01:00
committed by Daniel Carvalho
parent d4cee4dc66
commit 2d84dc46ba
7 changed files with 100 additions and 19 deletions

View File

@@ -179,6 +179,10 @@ class WriteQueueEntry : public QueueEntry, public Printable
* @return string with mshr fields
*/
std::string print() const;
bool matchBlockAddr(const Addr addr, const bool is_secure) const override;
bool matchBlockAddr(const PacketPtr pkt) const override;
bool conflictAddr(const QueueEntry* entry) const override;
};
#endif // __MEM_CACHE_WRITE_QUEUE_ENTRY_HH__