summaryrefslogtreecommitdiff
path: root/src/mem
AgeCommit message (Collapse)Author
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.
2009-08-04slicc: generate html by defaultDerek Hower
2009-08-03Automated merge with ssh://hg@m5sim.org/m5Derek Hower
2009-08-01Fix setting of INST_FETCH flag for O3 CPU.Steve Reinhardt
It's still broken in inorder. Also enhance DPRINTFs in cache and physical memory so we can see more easily whether it's getting set or not.
2009-08-01Clean up some inconsistencies with Request flags.Steve Reinhardt
2009-08-01Rename internal Request fields to start with '_'.Steve Reinhardt
The inconsistency was causing a subtle bug with some of the constructors where the params had the same name as the fields. This is also a first step to switching the accessors over to our new "standard", e.g., getVaddr() -> vaddr().
2009-07-29ruby: fixed clearStatsDerek Hower
2009-07-27ruby: removed unused/incorrect profiler stateDerek Hower
2009-07-22Fixed the licences plus minor fixes for compilationPolina Dudnik
2009-07-21ruby: fixed sequencer RMW data bugDerek Hower
2009-07-21ruby: libruby_init now takes parsed Ruby-lang config textDerek Hower
libruby_init now expects to get a file that contains the output of running a ruby-lang configuration, opposed to the ruby-lang configuration itself.
2009-07-20ruby: moved cache stats from Profiler to CacheMemoryDerek Hower
Caches are now responsible for their own statistic gathering. This requires a direct callback from the protocol on misses, and so all future protocols need to take this into account.
2009-07-19scons: removed RubyConfig from sconsDerek Hower
2009-07-18ruby: removed all refs to old RubyConfigDerek Hower
2009-07-18ruby: removed dead filesDerek Hower
2009-07-18ruby: removed dead filesDerek Hower
2009-07-18mergeDerek Hower
2009-07-18ruby: fixed dma sequencer bugDerek Hower
The DMASequencer was still using a parameter from the old RubyConfig, causing an offset error when the requested data wasn't block aligned. This changeset also includes a fix to MI_example for a similar bug.
2009-07-18ruby: better debug print for DataBlockDerek Hower
2009-07-18slicc: made coherence profilers per-controllerDerek Hower
2009-07-16mergePolina Dudnik
2009-07-15Tester updatePolina Dudnik
2009-07-13Changed the state machine to generate code such that multiple processors can ↵Polina Dudnik
make atomic requests at once
2009-07-131. Got rid of unused functions in DirectoryMemoryPolina Dudnik
2. Reintroduced RMW_Read and RMW_Write 3. Defined -2 in the Sequencer as well as made a note about mandatory queue Did not address the issues in the slicc because remaking the atomics altogether to allow multiple processors to issue atomic requests at once
2009-07-13mergeDerek Hower
2009-07-13regression: updated memtest-ruby statsDerek Hower
This also includes a change to the default Ruby random seed, which was previously set using the wall clock. It is now set to 1234 so that the stat files don't change for the regression tester.
2009-07-13Changes to add tracing and replaying command-line optionsPolina Dudnik
Trace is automatically ended upon a manual checkpoint
2009-07-13Locked requests should actually be converted to ST rather than ATOMIC, ↵Polina Dudnik
because ATOMIC is for RMW.
2009-07-13Added atomics implementation which would work for MI_examplePolina Dudnik
2009-07-13Minor fixes for compilingPolina Dudnik
2009-07-13Replaced RMW with Locked. RMW will be used for the coherence-aided atomics ↵Polina Dudnik
other than LLSC
2009-07-13Moved the lock check and clearing the lock into makeRequestPolina Dudnik
2009-07-13Forgot to replace one of the RubyRequest_RMWPolina Dudnik
2009-07-13Reintegrated Derek's functional implementation of atomics with a minor ↵Polina Dudnik
change: don't clear lock on failure
2009-07-08Registers: Add a registers.hh file as an ISA switched header.Gabe Black
This file is for register indices, Num* constants, and register types. copyRegs and copyMiscRegs were moved to utility.hh and utility.cc. --HG-- rename : src/arch/alpha/regfile.hh => src/arch/alpha/registers.hh rename : src/arch/arm/regfile.hh => src/arch/arm/registers.hh rename : src/arch/mips/regfile.hh => src/arch/mips/registers.hh rename : src/arch/sparc/regfile.hh => src/arch/sparc/registers.hh rename : src/arch/x86/regfile.hh => src/arch/x86/registers.hh
2009-07-08slicc: fixed MI_example bug. The directory wasn't deallocating the TBE, ↵Derek Hower
leading to a leak. Also increased the default max TBE size to 256 to allow memtest to pass the regression.
2009-07-08ruby: set the default values of the debug object so that nothing is printedDerek Hower
2009-07-08slicc: Fixed MI_example bug. The directory was not writing data to DRAM ↵Derek Hower
after a PUTX.
2009-07-07removed stray debug printDerek Hower
2009-07-06ruby: Fix RubyMemory to work with the newer ruby.Nathan Binkert
2009-07-06ruby: apply some fixes that were overwritten by the recent ruby import.Nathan Binkert
2009-07-06slicc: update parser.py for changes in slicc language.Nathan Binkert
2009-07-06scons: update SCons files for changes in ruby.Nathan Binkert
2009-07-06ruby: Import the latest ruby changes from gems.Nathan Binkert
This was done with an automated process, so there could be things that were done in this tree in the past that didn't make it. One known regression is that atomic memory operations do not seem to work properly anymore.
2009-07-06ruby: replace strings that were missed in original ruby import.Nathan Binkert
2009-06-10copyright: I missed some copyrights during ruby integrationNathan Binkert
2009-06-04types: clean up types, especially signed vs unsignedNathan Binkert
2009-05-29request: add accessor and constructor for setting time other than curTickNathan Binkert
2009-05-26types: add a type for thread IDs and try to use it everywhereNathan Binkert
2009-05-17includes: sort includes againNathan Binkert