First pass at snooping stuff that compiles and doesn't break.
authorRon Dreslinski <rdreslin@umich.edu>
Fri, 6 Oct 2006 01:10:03 +0000 (21:10 -0400)
committerRon Dreslinski <rdreslin@umich.edu>
Fri, 6 Oct 2006 01:10:03 +0000 (21:10 -0400)
commit45f881a4ced25105267799432c0f526400f0ba9e
tree3d791c2408be2f1b9c1d349a5dc06ffdb4850b4a
parent868d112578467273a50de3bf926bf0d280eebcd3
First pass at snooping stuff that compiles and doesn't break.

Still need:
-Handle NACK's on the recieve side
-Distinguish top level caches
-Handle repsonses from caches failing the fast path
-Handle BusError and propogate it
-Fix the invalidate packet associated with snooping in the cache

src/mem/bus.cc:
    Make sure to snoop on functional accesses
src/mem/cache/base_cache.cc:
    Wait to make a request into a response until it is ready to be issued
src/mem/cache/base_cache.hh:
    Support range changes for snoops
    Set up snoop responses for cache->cache transfers
src/mem/cache/cache_impl.hh:
    Only access the cache if it wasn't satisfied by cache->cache transfer
    Handle snoop phases (detect block, then snoop)
    Fix functional access to work properly (still need to fix snoop path for functional accesses)

--HG--
extra : convert_revision : 4c25f11d7a996c1f56f4f7b55dde87a344e5fdf8
src/mem/bus.cc
src/mem/cache/base_cache.cc
src/mem/cache/base_cache.hh
src/mem/cache/cache_impl.hh
tests/configs/o3-timing-mp.py [new file with mode: 0644]
tests/configs/simple-atomic-mp.py [new file with mode: 0644]