summaryrefslogtreecommitdiff
path: root/util/tlm/sc_port.cc
diff options
context:
space:
mode:
authorAbdul Mutaal Ahmad <abdul.mutaal@gmail.com>2015-09-15 08:14:07 -0500
committerAbdul Mutaal Ahmad <abdul.mutaal@gmail.com>2015-09-15 08:14:07 -0500
commit1bb6a100ab92c52259fcf12feb1e5c02f46b3fdd (patch)
treee84d85c5abaf4f6b6a45d2c8b71fa92afcd2ebda /util/tlm/sc_port.cc
parent543efd5ca687782028fad8873099ad38eeb64085 (diff)
downloadgem5-1bb6a100ab92c52259fcf12feb1e5c02f46b3fdd.tar.xz
misc: Bugfix in TLM integration regarding CleanEvict Command
The CleanEvict command was not considered in /util/tlm/sc_port.cc this could lead to a simulator crash. This issue is solved by ignoring this special command type. Committed by: Nilay Vaish <nilay@cs.wisc.edu>
Diffstat (limited to 'util/tlm/sc_port.cc')
-rw-r--r--util/tlm/sc_port.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/util/tlm/sc_port.cc b/util/tlm/sc_port.cc
index c949d3f37..3f2798021 100644
--- a/util/tlm/sc_port.cc
+++ b/util/tlm/sc_port.cc
@@ -30,6 +30,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Authors: Matthias Jung
+ * Abdul Mutaal Ahmad
*/
#include <cctype>
@@ -175,8 +176,9 @@ sc_transactor::recvTimingReq(PacketPtr packet)
* required */
sc_assert(!needToSendRequestRetry);
- /* FIXME screw coherency traffic */
- if (packet->memInhibitAsserted())
+ // simply drop inhibited packets and clean evictions
+ if (packet->memInhibitAsserted() ||
+ packet->cmd == MemCmd::CleanEvict)
return true;
/* Remember if a request comes in while we're blocked so that a retry