summaryrefslogtreecommitdiff
path: root/src/mem
AgeCommit message (Collapse)Author
2010-08-17bus: clean up default responder code.Steve Reinhardt
Clean up some minor things left over from the default responder change in rev 9af6fb59752f. Mostly renaming the 'responder_set' param to 'use_default_range' to actually reflect what it does... old name wasn't that descriptive in the first place, but now it really doesn't make sense at all. Also got rid of the bogus obsolete assignment to 'bus.responder' which used to be a parameter but now is interpreted as an implicit child assignment, and which was giving me problems in the config restructuring to come. (A good argument for not allowing implicit child assignments, IMO, but that's water under the bridge, I'm afraid.) Also moved the Bus constructor to the .cc file since that's where it should have been all along.
2010-07-22Port: Only indicate that a SimpleTimingPort is drained if its send event isTimothy M. Jones
not scheduled, as well as the transmit list being empty.
2010-07-08cache: fix bug in SC upgrade handlingSteve Reinhardt
This bug was introduced with the recent rework of SC failure handling in cset f97b62be544f.
2010-07-08garnet: Added topology print function to Garnet printStatsBrad Beckmann
2010-07-08NetworkMessage copy constructor fixTushar Krishna
2010-06-22style: updated garnet to match M5 coding styleTushar Krishna
2010-06-22cache: fix longstanding prefetcher bugSteve Reinhardt
Thanks to Joe Gross for pointing this out (again?). Apologies to anyone who pointed it out earlier and we didn't listen.
2010-06-16cache: fail store conditionals when upgrade loses raceSteve Reinhardt
Requires new "SCUpgradeReq" message that marks upgrades for store conditionals, so downstream caches can fail these when they run into invalidations. See http://www.m5sim.org/flyspray/task/197
2010-06-16cache: fix dirty bit settingSteve Reinhardt
Only set the dirty bit when we actually write to a block (not if we thought we might but didn't, as in a failed SC or CAS). This requires makeing sure the dirty bit stays set when we get an exclusive (writable) copy in a cache-to-cache transfer from another owner, which n turn requires copying the mem-inhibit flag from timing-mode requests to their associated responses.
2010-06-15stats: only consider a formula initialized if there is a formulaNathan Binkert
2010-06-10ruby: get rid of PrioHeap and use STLNathan Binkert
One big difference is that PrioHeap puts the smallest element at the top of the heap, whereas stl puts the largest element on top, so I changed all comparisons so they did the right thing. Some usage of PrioHeap was simply changed to a std::vector, using sort at the right time, other usage had me just use the various heap functions in the stl.
2010-06-10ruby: get rid of the Map classNathan Binkert
2010-06-10ruby: get rid of Vector and use STLNathan Binkert
add a couple of helper functions to base for deleteing all pointers in a container and outputting containers to a stream
2010-06-10ruby: get rid of RefCnt and Allocator stuff use base/refcnt.hhNathan Binkert
This was somewhat tricky because the RefCnt API was somewhat odd. The biggest confusion was that the the RefCnt object's constructor that took a TYPE& cloned the object. I created an explicit virtual clone() function for things that took advantage of this version of the constructor. I was conservative and used clone() when I was in doubt of whether or not it was necessary. I still think that there are probably too many instances of clone(), but hopefully not too many. I converted several instances of const MsgPtr & to a simple MsgPtr. If the function wants to avoid the overhead of creating another reference, then it should just use a regular pointer instead of a ref counting ptr. There were a couple of instances where refcounted objects were created on the stack. This seems pretty dangerous since if you ever accidentally make a reference to that object with a ref counting pointer, bad things are bound to happen.
2010-06-07scons: make RUBY a regular (non-global) sticky varSteve Reinhardt
and force it to True for builds that imply Ruby protocols (else unexpected things happen when testing these builds with RUBY=False).
2010-06-01style: clean up ruby's Set classNathan Binkert
Further cleanup should probably be done to make this class be non-Ruby specific and put it in src/base. There are probably several cases where this class is used, std::bitset could be used instead.
2010-04-15tick: rename Clock namespace to SimClockNathan Binkert
2010-04-02ruby: get rid of gems_common/util.hh and .cc and use stuff in src/baseNathan Binkert
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-31style: another ruby style passNathan Binkert
2010-03-23ruby: continue style passNathan Binkert
2010-03-22ruby: style passNathan Binkert
2010-03-22ruby: improved isReadWrite fix me commentBrad Beckmann
2010-03-21ruby: Removed the unnecessary MachineType message fieldsBrad Beckmann
2010-03-21ruby: Reorganized Ruby topology and protocol filesBrad Beckmann
--HG-- rename : configs/ruby/MESI_CMP_directory.py => configs/ruby/protocols/MESI_CMP_directory.py rename : configs/ruby/MI_example.py => configs/ruby/protocols/MI_example.py rename : configs/ruby/MOESI_CMP_directory.py => configs/ruby/protocols/MOESI_CMP_directory.py rename : configs/ruby/MOESI_CMP_token.py => configs/ruby/protocols/MOESI_CMP_token.py rename : configs/ruby/MOESI_hammer.py => configs/ruby/protocols/MOESI_hammer.py rename : configs/ruby/networks/MeshDirCorners.py => src/mem/ruby/network/topologies/MeshDirCorners.py
2010-03-21ruby: Disable adaptive routing by for faster simulation perf.Brad Beckmann
2010-03-21ruby: Changed the default set size to 1Brad Beckmann
Previously, the set size was set to 4. This was mostly do to the fact that a crazy graduate student use to create networks with 256 l2 cache banks. Now it is far more likely that users will create systems with less than 64 of any particular controller type. Therefore Ruby should be optimized for a set size of 1.
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: Adds configurable bit selection for numa mappingBrad Beckmann
2010-03-21ruby: Added flag to disable mem_vec allocationBrad Beckmann
The RubySystem flag no_mem_vec will disable Ruby from allocating it's memory data array.
2010-03-21ruby: Ruby support for sparse memoryBrad Beckmann
The patch includes direct support for the MI example protocol.
2010-03-21ruby: Finally removed bash code cira. 2001ish!Brad Beckmann
2010-03-21ruby: Ruby support for LLSCBrad Beckmann
2010-03-21ruby: Minor dma latency initialization fixBrad Beckmann
2010-03-21ruby: Fix multiple wakeups in Ruby EventqueueTushar Krishna
Fix bug in Ruby Event queue to avoid multiple wakeups of same consumer in same cycle
2010-03-21ruby: Removed the obsolete file specified network filesBrad Beckmann
2010-03-21ruby: Added copyright to many Ruby *.py filesBrad Beckmann
2010-03-21ruby: Fixed small data msg bug in MOESI_hammer-dirBrad Beckmann
2010-03-21ruby: Removed the no longer used rubymem filesBrad Beckmann
2010-03-21ruby: Fix MOESI_hammer cache profiler calls for L2 missesBrad Beckmann
2010-03-21ruby: Removed deprecated stats from the main profilerBrad Beckmann
2010-03-16orion: Make declarations match definitionNathan Binkert
2010-03-14ruby: Fix copyrights on filesNathan Binkert
Mostly files missed during import or screwed up during import
2010-03-12slicc: Change the code generation so that the generated code is easier to readNathan Binkert
2010-03-12packet: add a method to set the sizeNathan Binkert
2010-03-12bugfix: since pow() causes a bug don't use itNathan Binkert
It's a power of two anyway, so why use it in the first place.
2010-03-10ruby: get rid of std-includes.hhNathan Binkert
Do not use "using namespace std;" in headers Include header files as needed
2010-03-10ruby: remove calc_host.diff since we don't use itNathan Binkert
2010-03-10ruby: get rid of the ioutil stuff since it isn't used anymoreNathan Binkert
2010-03-10slicc: have a central mechanism for creating a code_formatter.Nathan Binkert
This makes it easier to add global variables like protocol