diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mem/packet.hh | 2 | ||||
-rw-r--r-- | src/mem/request.hh | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/mem/packet.hh b/src/mem/packet.hh index 4aee81f9b..cf31fa53d 100644 --- a/src/mem/packet.hh +++ b/src/mem/packet.hh @@ -1305,7 +1305,7 @@ class Packet : public Printable bool isMaskedWrite() const { - return (cmd == MemCmd::WriteReq && !req->getByteEnable().empty()); + return (cmd == MemCmd::WriteReq && req->isMasked()); } /** diff --git a/src/mem/request.hh b/src/mem/request.hh index 90d1ee3dd..b3268e02e 100644 --- a/src/mem/request.hh +++ b/src/mem/request.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2013,2017-2018 ARM Limited + * Copyright (c) 2012-2013,2017-2019 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -650,6 +650,20 @@ class Request _byteEnable = be; } + /** + * Returns true if the memory request is masked, which means + * there is at least one byteEnable element which is false + * (byte is masked) + */ + bool + isMasked() const + { + return std::find( + _byteEnable.begin(), + _byteEnable.end(), + false) != _byteEnable.end(); + } + /** Accessor for time. */ Tick time() const |