gem5/src
Joel Hestness 39e10ced03 ruby: Fix block_on behavior
Ruby's controller block_on behavior aimed to block MessageBuffer requests into
SLICC controllers when a Locked_RMW was in flight. Unfortunately, this
functionality only partially works: When non-Locked_RMW memory accesses are
issued to the sequencer to an address with an in-flight Locked_RMW, the
sequencer may pass those accesses through to the controller. At the controller,
a number of incorrect activities can occur depending on the protocol. In
MOESI_hammer, for example, an intermediate IFETCH will cause an L1D to L2
transfer, which cannot be serviced, because the block_on functionality blocks
the trigger queue, resulting in a deadlock. Further, if an intermediate store
arrives (e.g. from a separate SMT thread), the sequencer allows the request
through to the controller, and the atomicity of the Locked_RMW may be broken.

To avoid these problems, disallow the Sequencer from passing any memory
accesses to the controller besides Locked_RMW_Write when a Locked_RMW is in-
flight.
2016-04-15 12:34:02 -05:00
..
arch arm,dev: remove PMU assertion hit on reset 2016-04-15 10:03:03 -05:00
base base: add symbol support for dynamic libraries 2016-03-17 10:34:27 -07:00
cpu mem: Remove threadId from memory request class 2016-04-07 09:30:20 -05:00
dev misc: Appease clang...again 2016-04-12 05:28:39 -04:00
doc Revert power patch sets with unexpected interactions 2016-04-06 19:43:31 +01:00
doxygen MEM: Put memory system document into doxygen 2012-09-25 11:49:41 -05:00
gpu-compute mem: Remove threadId from memory request class 2016-04-07 09:30:20 -05:00
kern syscall_emul: remove mmapFlagTable 2016-04-01 16:38:16 -07:00
mem ruby: Fix block_on behavior 2016-04-15 12:34:02 -05:00
proto cpu: Support virtual addr in elastic traces 2015-12-07 16:42:16 -06:00
python misc: Bail out of DVFS dot if we cannot resolve the domains 2016-04-06 17:55:17 +01:00
sim misc: Appease clang...again 2016-04-12 05:28:39 -04:00
unittest style: remove trailing whitespace 2016-02-06 17:21:18 -08:00
Doxyfile Doxygen: Update the version of the Doxyfile 2012-10-11 06:38:42 -04:00
SConscript scons: fix building in non-standard locations 2016-03-13 17:47:33 -07:00