diff options
author | Abdul Mutaal Ahmad <abdul.mutaal@gmail.com> | 2015-09-15 08:14:07 -0500 |
---|---|---|
committer | Abdul Mutaal Ahmad <abdul.mutaal@gmail.com> | 2015-09-15 08:14:07 -0500 |
commit | 1bb6a100ab92c52259fcf12feb1e5c02f46b3fdd (patch) | |
tree | e84d85c5abaf4f6b6a45d2c8b71fa92afcd2ebda /util/tlm/sc_port.cc | |
parent | 543efd5ca687782028fad8873099ad38eeb64085 (diff) | |
download | gem5-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.cc | 6 |
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 |