Files
gem5/src/cpu
Alec Roelke c8c406bc30 cpu: fix problem with forwarding and locked load
If a (regular) store is followed closely enough by a locked load that
overlaps, the LSQ will forward the store's data to the locked load and
never tell the cache about the locked load.  As a result, the cache will
not lock the address and all future store-conditional requests on that
address will fail.  This patch fixes that by preventing forwarding if
the memory request is a locked load and adding another case to the LSQ
forwarding logic that delays the locked load request if a store in the
LSQ contains all or part of the data that is requested.

[Merge second and last if blocks because their bodies are the same.]

Change-Id: I895cc2b9570035267bdf6ae3fdc8a09049969841
Reviewed-on: https://gem5-review.googlesource.com/2400
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Tony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
2017-05-15 19:30:14 +00:00
..
2011-04-15 10:44:06 -07:00
2015-09-30 15:21:55 -05:00
2015-09-30 15:21:55 -05:00
2015-07-28 01:58:04 -05:00
2015-07-28 01:58:04 -05:00
2011-04-15 10:44:14 -07:00
2015-07-28 01:58:04 -05:00
2015-07-28 01:58:04 -05:00
2016-02-06 17:21:18 -08:00
2014-07-23 16:09:04 -05:00