summaryrefslogtreecommitdiff
path: root/src/mem/protocol
AgeCommit message (Collapse)Author
2010-08-20ruby: fix ruby llsc support to sync sc outcomesBrad Beckmann
Added support so that ruby can determine the outcome of store conditional operations and reflect that outcome to M5 physical memory and cpus.
2010-08-20ruby: Fixed L2 cache miss profilingBrad Beckmann
Fixed L2 cache miss profiling for the MOESI_CMP_token protocol
2010-08-20ruby: Added bcast msg profiling to hammer and tokenBrad Beckmann
2010-08-20ruby: Reincarnated the responding machine profilingBrad Beckmann
This patch adds back to ruby the capability to understand the response time for messages that hit in different levels of the cache heirarchy. Specifically add support for the MI_example, MOESI_hammer, and MOESI_CMP_token protocols.
2010-08-20MOESI_CMP_token: Fixed dma persistent lockdown bugsBrad Beckmann
2010-08-20MESI_CMP_directory: bug fix for old PUTX requestsBrad Beckmann
2010-04-02ruby: get "using namespace" out of headersNathan Binkert
In addition to obvious changes, this required a slight change to the slicc grammar to allow types with :: in them. Otherwise slicc barfs on std::string which we need for the headers that slicc generates.
2010-03-21ruby: Removed the unnecessary MachineType message fieldsBrad Beckmann
2010-03-21ruby: Reordered protocol buffersBrad Beckmann
Reordered vnet priorities to agree with PerfectSwitch for protocols MI_example, MOESI_CMP_token, and MOESI_hammer
2010-03-21ruby: Ruby support for sparse memoryBrad Beckmann
The patch includes direct support for the MI example protocol.
2010-03-21ruby: Minor dma latency initialization fixBrad Beckmann
2010-03-21ruby: Fixed small data msg bug in MOESI_hammer-dirBrad Beckmann
2010-03-21ruby: Fix MOESI_hammer cache profiler calls for L2 missesBrad Beckmann
2010-03-10slicc: have a central mechanism for creating a code_formatter.Nathan Binkert
This makes it easier to add global variables like protocol
2010-02-10ruby: Initialize sender in MI_example-dirBrad Beckmann
2010-02-01ruby: Set default protocol back to MI_exampleBrad Beckmann
2010-01-29m5: Regression Tester UpdateBrad Beckmann
This patch includes the necessary regression updates to test the new ruby configuration system. The patch includes support for multiple ruby protocols and adds the ruby random tester. The patch removes atomic mode test for ruby since ruby does not support atomic mode acceses. These tests can be added back in when ruby supports atomic mode for real. --HG-- rename : tests/quick/50.memtest/test.py => tests/quick/60.rubytest/test.py
2010-01-29ruby: removed last level cache supportBrad Beckmann
Removed the last level cache support and MOESI_hammer's dependency on it. Replaces the LLC support with the more generic MachineType count.
2010-01-29ruby: Added a Scons option to prevent HTML file creationBrad Beckmann
2010-01-29ruby: Removed static members in RubyPort including hitcallbackBrad Beckmann
Removed static members in RubyPort and removed the ruby request unique id.
2010-01-29ruby: MESI_CMP_directory updated to the new config systemBrad Beckmann
2010-01-29ruby: Sorted the file includes to maintain consistencyBrad Beckmann
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.