mem: Add support for handling CMOs in the MSHRs
authorNikos Nikoleris <nikos.nikoleris@arm.com>
Thu, 22 Sep 2016 12:34:17 +0000 (13:34 +0100)
committerNikos Nikoleris <nikos.nikoleris@arm.com>
Tue, 5 Dec 2017 11:47:01 +0000 (11:47 +0000)
commit9a49827a44853679b737b8ee4255ce22d5fbfa6c
tree663ac71a5d234ffb2dc390401815c170a7e2b46e
parent149a501d8a52373d0b9108311d7e64d6376bb45b
mem: Add support for handling CMOs in the MSHRs

To add support for cache maintenance operations (CMOs) in the MSHRs,
this change adds the following functionality:
- If a CMO request hits in the MSHRs, we deferred as we can't
  coalesce it with any other requests.
- When we promote any deferred targets, we promote them in order and
  stop if we encounter a CMO request. If the CMO request is at the
  beginning of the deferred targets list it will be the only promoted
  target.

Change-Id: I10d1f7e16bd6d522d917279c5d408a3f0cee4286
Reviewed-by: Stephan Diestelhorst <stephan.diestelhorst@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/5050
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
src/mem/cache/mshr.cc