summaryrefslogtreecommitdiff
path: root/src/mem/protocol
AgeCommit message (Collapse)Author
2010-01-29ruby: Renamed the MESI directory sm fileBrad Beckmann
Renamed the MESI directory file to be consistent with all other protocols. --HG-- rename : src/mem/protocol/MESI_CMP_directory-mem.sm => src/mem/protocol/MESI_CMP_directory-dir.sm
2010-01-29ruby: Removed the GPL header in MESI_CMP_directory-msgBrad Beckmann
I'm not sure how this got past our initial ruby code import, but this obviously needed to be removed.
2010-01-29ruby: MOESI_CMP_directory updated to the new config systemBrad Beckmann
2010-01-29ruby: Added atomic support to MOESI_CMP_tokenBrad Beckmann
2010-01-29ruby: fixed memory fetch bug for persistent requestsBrad Beckmann
2010-01-29ruby: MOESI_CMP_token updates to use the new config systemBrad Beckmann
2010-01-29ruby: MI_example updates to use the new config systemBrad Beckmann
2010-01-29ruby: Added atomic support to MOESI_hammerBrad Beckmann
2010-01-29ruby: fixed MOESI_hammer data writebacks to the directoryBrad Beckmann
2010-01-29ruby: reorganized ruby python configurationBrad Beckmann
Reorganized ruby python configuration so that protocol and ruby memory system configuration code can be shared by multiple front-end configuration files (i.e. memory tester, full system, and hopefully the regression tester). This code works for memory tester, but have not tested fs mode.
2010-01-29ruby: Converted MOESI_hammer dma cntrl to new config systemBrad Beckmann
2010-01-29ruby: Ruby changes required to use the python config systemBrad Beckmann
This patch includes the necessary changes to connect ruby objects using the python configuration system. Mainly it consists of removing unnecessary ruby object pointers and connecting the necessary object pointers using the generated param objects. This patch includes the slicc changes necessary to connect generated ruby objects together using the python configuraiton system.
2010-01-29scons: ignore blank lines in .slicc filesSteve Reinhardt
2010-01-29ruby: Make SLICC-generated objects SimObjects.Steve Reinhardt
Also add SLICC support for state-machine parameter defaults (passed through to Python as SimObject Param defaults).
2010-01-29ruby: fix out_port declarationBrad Beckmann
2010-01-19ruby: new atomics implementationDerek Hower
This patch changes the way that Ruby handles atomic RMW instructions. This implementation, unlike the prior one, is protocol independent. It works by locking an address from the sequencer immediately after the read portion of an RMW completes. When that address is locked, the coherence controller will only satisfy requests coming from one port (e.g., the mandatory queue) and will ignore all others. After the write portion completed, the line is unlocked. This should also work with multi-line atomics, as long as the blocks are always acquired in the same order.
2010-01-19mergeDerek Hower
2009-12-04ruby: cleaned up ruby-lang configurationDerek Hower
2009-11-18Resurrection of the CMP token protocol to GEM5Brad Beckmann
2009-11-18ruby: MOESI hammer support for DMA reads and writesBrad Beckmann
2009-11-18ruby: Added a memory controller feature to MOESI hammerBrad Beckmann
2009-11-18ruby: Hammer ruby configuration supportBrad Beckmann
2009-11-18ruby: Changes necessary to get the hammer protocol to work in GEM5Brad Beckmann
2009-11-18ruby: added the original hammer protocols from old rubyBrad Beckmann
2009-11-18ruby: returns the number of LLC needed for broadcastBrad Beckmann
Added feature to CacheMemory to return the number of last level caches. This count is need for broadcast protocols such as MOESI_hammer.
2009-11-18ruby: Removed unused action z_stallBrad Beckmann
2009-11-18ruby: fixed dma mi example to work with multiple dma portsBrad Beckmann
2009-11-05slicc: tweak file enumeration for sconsSteve Reinhardt
Right now .cc and .hh files are handled separately, but then they're just munged together at the end by scons, so it doesn't buy us anything. Might as well munge from the start since we'll eventually be adding generated Python files to the list too.
2009-11-05slicc: whack some of Nate's leftover debug codeSteve Reinhardt
2009-09-25protocol: cleaned up MESI...got rid of unneccessary virtual networksDerek Hower
2009-09-22slicc: Pure python implementation of slicc.Nathan Binkert
This is simply a translation of the C++ slicc into python with very minimal reorganization of the code. The output can be verified as nearly identical by doing a "diff -wBur". Slicc can easily be run manually by using util/slicc
2009-09-22scons: add slicc and ply to sys.path and PYTHONPATH so everyone has accessNathan Binkert
2009-09-15ruby: added broadcast mechanismDerek Hower
2009-09-11mergeDerek Hower
2009-09-11Added new MESI filesPolina Dudnik
2009-09-11mergeDerek Hower
2009-09-11Somayeh's MESI protocol with Polina's bug fixesPolina Dudnik
2009-09-11MI data corruption bug fixPolina Dudnik
2009-09-11MOESI data corruption bug fixPolina Dudnik
2009-09-10protocol: made MI_example work with unordered networksDerek Hower
2009-08-31[mq]: MOESI_patchPolina Dudnik
2009-08-28imported patch mi_patchPolina Dudnik
2009-08-11merged Tushar's bug fix with public repository changesBrad Beckmann
2009-08-09protocol: added recycle actions to MOESI DMA eventsDerek Hower
2009-08-07bug fix for data_msg_size in network/Network.ccTushar Krishna
2009-08-06fixed MOESI_CMP_directory bugDerek Hower
2009-08-06protocol: fixed MOESI_CMP_directory bugDerek Hower
2009-08-05protocol: made MI_example dma mapping genericDerek Hower
2009-08-04ruby: made mapAddressToRange based off a bit countDerek Hower
2009-08-04slicc: added MOESI_CMP_directory, DMA SequencerMsg, parameterized controllersDerek Hower
This changeset contains a lot of different changes that are too mingled to separate. They are: 1. Added MOESI_CMP_directory I made the changes necessary to bring back MOESI_CMP_directory, including adding a DMA controller. I got rid of MOESI_CMP_directory_m and made MOESI_CMP_directory use a memory controller. Added a new configuration for two level protocols in general, and MOESI_CMP_directory in particular. 2. DMA Sequencer uses a generic SequencerMsg I will eventually make the cache Sequencer use this type as well. It doesn't contain an offset field, just a physical address and a length. MI_example has been updated to deal with this. 3. Parameterized Controllers SLICC controllers can now take custom parameters to use for mapping, latencies, etc. Currently, only int parameters are supported.