From aefe9cc624902fe26535028f86ba3a45f555bcf0 Mon Sep 17 00:00:00 2001 From: Giacomo Gabrielli Date: Fri, 24 Jan 2014 15:29:30 -0600 Subject: mem: Add support for a security bit in the memory system This patch adds the basic building blocks required to support e.g. ARM TrustZone by discerning secure and non-secure memory accesses. --- src/mem/cache/mshr_queue.hh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/mem/cache/mshr_queue.hh') diff --git a/src/mem/cache/mshr_queue.hh b/src/mem/cache/mshr_queue.hh index 726aa6b8e..9177433af 100644 --- a/src/mem/cache/mshr_queue.hh +++ b/src/mem/cache/mshr_queue.hh @@ -113,25 +113,29 @@ class MSHRQueue : public Drainable /** * Find the first MSHR that matches the provided address. * @param addr The address to find. + * @param is_secure True if the target memory space is secure. * @return Pointer to the matching MSHR, null if not found. */ - MSHR *findMatch(Addr addr) const; + MSHR *findMatch(Addr addr, bool is_secure) const; /** * Find and return all the matching entries in the provided vector. * @param addr The address to find. + * @param is_secure True if the target memory space is secure. * @param matches The vector to return pointers to the matching entries. * @return True if any matches are found, false otherwise. * @todo Typedef the vector?? */ - bool findMatches(Addr addr, std::vector& matches) const; + bool findMatches(Addr addr, bool is_secure, + std::vector& matches) const; /** * Find any pending requests that overlap the given request. * @param pkt The request to find. + * @param is_secure True if the target memory space is secure. * @return A pointer to the earliest matching MSHR. */ - MSHR *findPending(Addr addr, int size) const; + MSHR *findPending(Addr addr, int size, bool is_secure) const; bool checkFunctional(PacketPtr pkt, Addr blk_addr); -- cgit v1.2.3