summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Nikoleris <nikos.nikoleris@arm.com>2016-11-22 11:38:57 +0000
committerNikos Nikoleris <nikos.nikoleris@arm.com>2018-03-02 16:18:29 +0000
commite5d98f6e638455c81a4fba63492e4bbaf1cd7db1 (patch)
tree78043df6bc1f62ce3d2e0b4f116140fdd1335a4d
parent1ecc7a8c776bacd04c109cc286e569d434497229 (diff)
downloadgem5-e5d98f6e638455c81a4fba63492e4bbaf1cd7db1.tar.xz
mem-cache: Populate the secure bit when the temp block is filled
The secure bit should be set when we fill a block with data from a secure location, as indicated by the packet that triggers the fill. This patch fixes a bug in which the cache wouldn't populate the secure bit when filling the temp block. Change-Id: I95c706146449804ff42b205b25dd79750f3e882a Reviewed-by: Curtis Dunham <curtis.dunham@arm.com> Reviewed-on: https://gem5-review.googlesource.com/8284 Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
-rw-r--r--src/mem/cache/cache.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mem/cache/cache.cc b/src/mem/cache/cache.cc
index 622f0f787..64438c1c8 100644
--- a/src/mem/cache/cache.cc
+++ b/src/mem/cache/cache.cc
@@ -1902,7 +1902,9 @@ Cache::handleFill(PacketPtr pkt, CacheBlk *blk, PacketList &writebacks,
blk = tempBlock;
tempBlock->set = tags->extractSet(addr);
tempBlock->tag = tags->extractTag(addr);
- // @todo: set security state as well...
+ if (is_secure) {
+ tempBlock->status |= BlkSecure;
+ }
DPRINTF(Cache, "using temp block for %#llx (%s)\n", addr,
is_secure ? "s" : "ns");
} else {