From: Abdul Mutaal Ahmad Date: Tue, 15 Sep 2015 13:14:07 +0000 (-0500) Subject: misc: Bugfix in TLM integration regarding CleanEvict Command X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1bb6a100ab92c52259fcf12feb1e5c02f46b3fdd;p=gem5.git 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 --- 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 @@ -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