ruby: Disable migratory sharing for token and hammer
authorBrad Beckmann <Brad.Beckmann@amd.com>
Fri, 20 Aug 2010 18:46:13 +0000 (11:46 -0700)
committerBrad Beckmann <Brad.Beckmann@amd.com>
Fri, 20 Aug 2010 18:46:13 +0000 (11:46 -0700)
commit72044e3f5a5b9455e07180806793127be2014451
treefe2e7f7f129a31dccf84ee2d0bfc93d9c76b7f07
parentbcdd19df03ed047e4ce03dbf81bc40173cc3217b
ruby: Disable migratory sharing for token and hammer

This patch allows one to disable migratory sharing for those cache blocks that
are accessed by atomic requests.  While the implementations are different
between the token and hammer protocols, the motivation is the same.  For
Alpha, LLSC semantics expect that normal loads do not unlock cache blocks that
have been locked by LL accesses.  Therefore, locked blocks should not transfer
write permissions when responding to these load requests.  Instead, only they
only transfer read permissions so that the subsequent SC access can possibly
succeed.
configs/ruby/MOESI_CMP_token.py
configs/ruby/MOESI_hammer.py
src/mem/protocol/MOESI_CMP_token-L1cache.sm
src/mem/protocol/MOESI_hammer-cache.sm