summaryrefslogtreecommitdiff
path: root/util/tlm
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
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')
-rw-r--r--util/tlm/README2
-rw-r--r--util/tlm/sc_port.cc6
2 files changed, 5 insertions, 3 deletions
diff --git a/util/tlm/README b/util/tlm/README
index f3cb4fbfd..126705296 100644
--- a/util/tlm/README
+++ b/util/tlm/README
@@ -33,7 +33,7 @@ without python.
> cd ../..
> scons build/ARM/gem5.opt
> scons --with-cxx-config --without-python build/ARM/libgem5_opt.so
-> cd util/systemc_tlm
+> cd util/tlm
Set a proper LD_LIBRARY_PATH e.g. for bash:
> export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/path/to/gem5/build/ARM/"
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