summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-05-25x86: put back code that I accidentally deletedNathan Binkert
2010-05-23copyright: Change HP copyright on x86 code to be more friendlyNathan Binkert
2010-05-14SPARC: Implement the version of movcc that uses the fp condition codes.Gabe Black
2010-05-13Automated merge with ssh://m5sim.org//repo/m5Ali Saidi
2010-05-13BPRED: Fixed the treshold-bug in the tournament predictor.Maximilien Breughe
Suppose the saturating counters of a branch predictor contain n bits. When the counter is between 0 and (2^(n-1) - 1), boundaries included, the branch is predicted as not taken. When the counter is between 2^(n-1) and (2^n - 1), boundaries included, the branch is predicted as taken.
2010-05-12X86: Make the cvti2f microop sign extend its integer source correctly.Gabe Black
The code was using the wrong bit as the sign bit. Other similar bits of code seem to be correct.
2010-05-12X86: Actual change that fixes div. How did that happen?Gabe Black
2010-05-06macos: MacOS has deprecated getdirentries, so just disable the code.Nathan Binkert
Hopefully it isn't used much
2010-05-06compile: don't #include unnecessary stuffNathan Binkert
Time from base/time.hh has a name clash with Time from Ruby's TypeDefines.hh. Eventually Ruby's Time should go away, so instead of fixing this properly just try to avoid the clash.
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-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-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-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: 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-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-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: 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