diff options
author | Giacomo Gabrielli <Giacomo.Gabrielli@arm.com> | 2014-01-24 15:29:30 -0600 |
---|---|---|
committer | Giacomo Gabrielli <Giacomo.Gabrielli@arm.com> | 2014-01-24 15:29:30 -0600 |
commit | aefe9cc624902fe26535028f86ba3a45f555bcf0 (patch) | |
tree | 4d775f34b34eeafc0c596b95aa071cc52fb94283 /src/mem/packet.cc | |
parent | 7f835a59f1c342eb1c170973ad53c493cc38e978 (diff) | |
download | gem5-aefe9cc624902fe26535028f86ba3a45f555bcf0.tar.xz |
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.
Diffstat (limited to 'src/mem/packet.cc')
-rw-r--r-- | src/mem/packet.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mem/packet.cc b/src/mem/packet.cc index a4ee1e56a..faa9d9a53 100644 --- a/src/mem/packet.cc +++ b/src/mem/packet.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2012 ARM Limited + * Copyright (c) 2011-2013 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -172,14 +172,16 @@ MemCmd::commandInfo[] = }; bool -Packet::checkFunctional(Printable *obj, Addr addr, int size, uint8_t *data) +Packet::checkFunctional(Printable *obj, Addr addr, bool is_secure, int size, + uint8_t *data) { Addr func_start = getAddr(); Addr func_end = getAddr() + getSize() - 1; Addr val_start = addr; Addr val_end = val_start + size - 1; - if (func_start > val_end || val_start > func_end) { + if (is_secure != _isSecure || func_start > val_end || + val_start > func_end) { // no intersection return false; } |