summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-10-09eventq: convert all usage of events to use the new API.Nathan Binkert
For now, there is still a single global event queue, but this is necessary for making the steps towards a parallelized m5.
2008-10-09eventq: Major API change for the Event and EventQueue structures.Nathan Binkert
Since the early days of M5, an event needed to know which event queue it was on, and that data was required at the time of construction of the event object. In the future parallelized M5, this sort of requirement does not work well since the proper event queue will not always be known at the time of construction of an event. Now, events are created, and the EventQueue itself has the schedule function, e.g. eventq->schedule(event, when). To simplify the syntax, I created a class called EventManager which holds a pointer to an EventQueue and provides the schedule interface that is a proxy for the EventQueue. The intent is that objects that frequently schedule events can be derived from EventManager and then they have the schedule interface. SimObject and Port are examples of objects that will become EventManagers. The end result is that any SimObject can just call schedule(event, when) and it will just call that SimObject's eventq->schedule function. Of course, some objects may have more than one EventQueue, so this interface might not be perfect for those, but they should be relatively few.
2008-10-09pdb: Try to make pdb work better.Nathan Binkert
I've done a few things here. First, I invoke the script a little bit differently so that pdb doesn't get confused. Second, I've stored the actual filename in the module's __file__ so that pdb can find the source file on your machine.
2008-10-09SINIC: Commit old code from ASPLOS 2006 studies.Nathan Binkert
NOTE: This code was written by Nathan Binkert in 2006 and is properly copyright "The Regents of the University of Michigan"
2008-10-09eventq: Don't use inline friend function when a static function will do.Nathan Binkert
Another good reason to avoid this is that swig will try to wrap the friend, but it won't try to wrap a private static function.
2008-10-09SCons: add code to provide a libm5 shared library.Nathan Binkert
Targets look like libm5_debug.so. This target can be dynamically linked into another C++ program and provide just about all of the M5 features. Additionally, this library is a standalone module that can be imported into python with an "import libm5_debug" type command line.
2008-10-09eventq: I'm sick of the warning about MaxTick being unused.Nathan Binkert
2008-10-09stats: use properly signed types for looping and comparisonNathan Binkert
2008-10-09style: Bring statistics code in line with the proper style.Nathan Binkert
2008-10-09O3: Generaize the O3 IMPL class so it isn't split out by ISA.Gabe Black
--HG-- rename : src/cpu/o3/sparc/cpu_builder.cc => src/cpu/o3/cpu_builder.cc rename : src/cpu/o3/sparc/dyn_inst.cc => src/cpu/o3/dyn_inst.cc rename : src/cpu/o3/sparc/impl.hh => src/cpu/o3/impl.hh rename : src/cpu/o3/sparc/thread_context.cc => src/cpu/o3/thread_context.cc
2008-10-09O3: Generaize the O3 dynamic instruction class so it isn't split out by ISA.Gabe Black
--HG-- rename : src/cpu/o3/dyn_inst.hh => src/cpu/o3/dyn_inst_decl.hh rename : src/cpu/o3/alpha/dyn_inst_impl.hh => src/cpu/o3/dyn_inst_impl.hh
2008-10-09O3: Generalize the O3 CPU object so it isn't split out by ISA.Gabe Black
2008-10-09Microcode: Fix a silent typo error in the microcode assembler.Gabe Black
2008-10-09Microcode: Fix a very old bug with parsing external labels in microcode.Gabe Black
2008-10-09CPU: Fix where setMicroPC was being called instead of setNextMicroPC.Gabe Black
2008-10-09X86: Fix the debugging microops. The debug functions can't handle a string ↵Gabe Black
object format.
2008-10-09X86: Make far ret modify CS instead of some random selector.Gabe Black
2008-10-09Added tag m5_2.0_beta6 for changeset d8b246a665c1Gabe Black
2008-10-08Scons: Update compare_versions() to ignore trailing charecters after an int. ↵Ali Saidi
This is a fix for a mysql version number that includes a (E.g. 5.0.51a)
2008-10-07Update the README and RELEASE_NOTES files to prepare for beta 6.Gabe Black
2008-10-06python: cleanup options parsing stuff so that it properly deals with defaults.Nathan Binkert
While we're at it, make it possible to run main.py in a somewhat standalone mode again so that we can test things without compiling.
2008-10-06fix shadow set bugs in MIPS code that caused out of bounds access...Korey Sewell
panic rdpgpr/wrpgpr instructions until a better impl. of MIPS shadow sets is available.
2008-10-02unittest: Add unit tests to the scons framework.Nathan Binkert
Also fix the unit tests so they actually compile correctly.
2008-10-02unittest: Cleanup unit tests. Follow style. Garbage Collect.Nathan Binkert
--HG-- rename : src/unittest/rangemaptest2.cc => src/unittest/rangemultimaptest.cc
2008-10-02stats: Fix small bug pointed out by unit testing.Nathan Binkert
2008-10-02Output: Verify output files are open after opening them.Ali Saidi
2008-10-01Cleanup m5term changes with Nate's comments.Ali Saidi
2008-10-01Make m5term use select() so OS X is happy.Ali Saidi
2008-09-29Make overriding port assignments in Python work,Steve Reinhardt
and print better error messages when it doesn't.
2008-09-29Fix EVENTQ_DEBUG vs DEBUG_EVENTQ #define inconsistency.Steve Reinhardt
2008-09-29alpha: Need to include cstring so that g++ 4.3 works.Nathan Binkert
2008-09-28tests: Update all tests for small outstanding changes.Nathan Binkert
Little differences have accumulated over time and it's worth getting things back in sync for the stable release.
2008-09-28tests: rename the terminal files for solaris.Nathan Binkert
I forgot to do this when I renamed everything else. --HG-- rename : tests/long/80.solaris-boot/ref/sparc/solaris/t1000-simple-atomic/console.system.t1000.hconsole => tests/long/80.solaris-boot/ref/sparc/solaris/t1000-simple-atomic/system.t1000.hterm rename : tests/long/80.solaris-boot/ref/sparc/solaris/t1000-simple-atomic/console.system.t1000.pconsole => tests/long/80.solaris-boot/ref/sparc/solaris/t1000-simple-atomic/system.t1000.pterm
2008-09-28tests: perlbmk now works. Commit stats and assume the're right.Nathan Binkert
Kevin fixed how O3 handles syscalls that change NextPC (longjump).
2008-09-28tests: Kevin fixed how writebacks are handled in SMT and that changed stats.Nathan Binkert
2008-09-27gcc: Version 4.3 adds some warnings that we're turning off.Nathan Binkert
We just can't deal with right now.
2008-09-27gcc: Add extra parens to quell warnings.Nathan Binkert
Even though we're not incorrect about operator precedence, let's add some parens in some particularly confusing places to placate GCC 4.3 so that we don't have to turn the warning off. Agreed that this is a bit of a pain for those users who get the order of operations correct, but it is likely to prevent bugs in certain cases.
2008-09-27style: Make a style pass over the whole arch/alpha directory.Nathan Binkert
2008-09-27alpha: Clean up namespace usage.Nathan Binkert
2008-09-27arch: TheISA shouldn't really ever be used in the arch directory.Nathan Binkert
We should always refer to the specific ISA in that arch directory. This is especially necessary if we're ever going to make it to the point where we actually have heterogeneous systems.
2008-09-27alpha: Get rid fo the namespace called EV5.Nathan Binkert
We're never going to do an alpha platform other than the one we've got.
2008-09-27styleNathan Binkert
2008-09-27add a bit of styleNathan Binkert
2008-09-26style: missed space after switchNathan Binkert
2008-09-26When nesting if statements, use braces to avoid ambiguous else clauses.Nathan Binkert
2008-09-26Use logical operator instead of bitwise operator for correctness.Nathan Binkert
2008-09-26style: bring this file into M5 style, use the new pte translate function.Nathan Binkert
2008-09-26scons: disable several gcc warnings for swig autogenerated wrapper code.Nathan Binkert
2008-09-26style: These files didn't even come close to following the M5 style guide.Nathan Binkert
2008-09-26O3CPU: Fix thread writeback logic.Kevin Lim
Fix the logic in the LSQ that determines if there are any stores to write back. In the commit stage, check for thread specific writebacks instead of just any writeback.