summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-05-06X86: Update the stats for the new aux vectors in the ruby regression.Gabe Black
I forgot to turn on ruby when updating the stats before.
2010-05-03X86: Update stats for the updated auxilliary vectors.Gabe Black
2010-05-03X86: Update the base aux vector X86 processes install.Gabe Black
2010-05-02X86: Sometimes CPUID depends on ecx, so pass that in.Gabe Black
2010-05-02Statetrace: Fix compile problems with the AMD64 version of statetrace.Gabe Black
2010-05-02X86: Finally fix a division corner case.Gabe Black
When doing an unsigned 64 bit division with a divisor that has its most significant bit set, the division code would spill a bit off of the end of a uint64_t trying to shift the dividend into position. This change adds code that handles that case specially by purposefully letting it spill and then going ahead assuming there was a 65th one bit.
2010-04-18config: fix assertion for x86 in FSConfig.pyNathan Binkert
2010-04-18stats: make simTicks and simFreq accessible from stats.hhNathan Binkert
2010-04-18callback: Make helper functions that create callback objects for youNathan Binkert
clean up callback stuff a little bit while we're at it.
2010-04-18event: Allow EventWrapper to take an object referenceNathan Binkert
2010-04-15scons: don't maintain files in sorted orderNathan Binkert
This causes builds to happen in sorted order rather than in declaration order. This gets annoying when you make a global change and then you notice that the files that are being compiled are jumping around the directory hierarchy.
2010-04-15tick: rename Clock namespace to SimClockNathan Binkert
2010-04-15eventq: move EventQueue constructor to cc fileNathan Binkert
Also make copy constructor and assignment operator private.
2010-04-11inorder: update regressions for fwd-ing patchKorey Sewell
2010-04-10inorder: timing for inst forwardingKorey Sewell
when insts execute, they mark the time they finish to be used for subsequent isnts they may need forwarding of data. However, the regdepmap was using the wrong value to index into the destination operands of the instruction to be forwarded. Thus, in some cases, we are checking to see if the 3rd destination register for an instruction is executed at a certain time, when there is only 1 dest. register valid. Thus, we get a bad, uninitialized time value that will stall forwarding causing performance loss but still the correct execution.
2010-04-02eventq: allow an implicit cast from an EventManager to an EventQueue *Nathan Binkert
2010-04-02eventq: Clean up some flagsNathan Binkert
- Make the initialized flag always available, not just in debug mode. - Make the Initialized flag actually use several bits so it is very unlikely that something that's uninitialized accidentally looks initialized. - Add an initialized() function that tells you if the current event is indeed initialized. - Clear the flags on delete so it can't be accidentally thought of as initialized. - Fix getFlags assert statement. "How did this ever work?"
2010-04-02eventq: Make priorities just an integer instead of an enum.Nathan Binkert
Symbolic names should still be used, but this makes it easier to do things like: Event::Priority MyObject_Pri = Event::Default_Pri + 1 Remember that higher numbers are lower priority (should we fix this?)
2010-04-02refcnt: no default copy contructor or copy operatorNathan Binkert
We shouldn't allow these because the default versions will copy the reference count which is definitely not what we want.
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-29style: cleanup the Ruby TesterNathan Binkert
2010-03-27m5: merge inorder updatesKorey Sewell
2010-03-27inorder: update twolf/vortex regressionsKorey Sewell
2010-03-27inorder: write-hints bug fixKorey Sewell
make sure to only read 1 src reg. for write-hint and any other similar 'store' instruction. Reading the source reg when its not necessary can cause the simulator to read from uninitialized values
2010-03-25CPU: Added comments to address translation classes.Timothy M. Jones
2010-03-23ruby: continue style passNathan Binkert
2010-03-23regress: add some new optionsNathan Binkert
add -n/--no-exec which doesn't execute scons, but just prints the command line add -j0 which tries to calculate how many cpus you have add -D/--build-dir to specify a build directory other than ./build
2010-03-23cpu: get rid of uncached access "events"Steve Reinhardt
These recordEvent() calls could cause crashes since they access the req pointer after it's potentially been deleted during a failed translation call. (Similar problem to the traceData bug fixed in the previous cset.) Moving them above the translation call (as was done recentlyi in cset 8b2b8e5e7d35) avoids the crash but doesn't work, since at that point we don't know if the access is uncached or not. It's not clear why these calls are there, and no one seems to use them, so we'll just delete them. If they are needed, they should be moved to somewhere that's guaranteed to be after the translation completes but before the request is possibly deleted, e.g., in finishTranslation().
2010-03-23cpu: fix exec tracing memory corruption bugSteve Reinhardt
Accessing traceData (to call setAddress() and/or setData()) after initiating a timing translation was causing crashes, since a failed translation could delete the traceData object before returning. It turns out that there was never a need to access traceData after initiating the translation, as the traced data was always available earlier; this ordering was merely historical. Furthermore, traceData->setAddress() and traceData->setData() were being called both from the CPU model and the ISA definition, often redundantly. This patch standardizes all setAddress and setData calls for memory instructions to be in the CPU models and not in the ISA definition. It also moves those calls above the translation calls to eliminate the crashes.
2010-03-23m5merge(2): another merge of regression statsKorey Sewell
2010-03-23inorder: update hello world for alpha and mipsKorey Sewell
2010-03-23m5merge: ruby + inorderKorey Sewell
automerge of updated inorder regressions and ruby style pass
2010-03-23inorder: update twolf regressionKorey Sewell
2010-03-22inorder: update vortex regressionKorey Sewell
2010-03-22ruby: style passNathan Binkert
2010-03-22inorder: import name for addtl. bpred statsKorey Sewell
2010-03-22inorder: fix squash bug in branch predictorMaximilien Breughe
2010-03-22inorder: fix address list bugKorey Sewell
2010-03-22ruby: improved isReadWrite fix me commentBrad Beckmann
2010-03-21ruby: Regression updates for new ruby config locationsBrad 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-21added sparse memory support to hammerBrad Beckmann
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.