summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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-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-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.
2008-09-26O3CPU: Add a hack to ensure that nextPC is set correctly after syscalls.Kevin Lim
Just check CPU's nextPC before and after syscall and if it changes, update this instruction's nextPC because the syscall must have changed the nextPC.
2008-09-23sparc: Fix style, create a helper function for translation.Nathan Binkert
The translate function simplifies code and removes some compiler warnings in gcc 3.4
2008-09-22scons: Separate swig environment so we can have different flags.Nathan Binkert
Swig code isn't quite perfect, so let's not turn on all of the warnings.
2008-09-22gcc: Version 4.3 is pretty anal about shadowing types, placate it.Nathan Binkert
In the future, it would be nice to put the O3CPU into its own namespace so that we don't end up hardcoding pointers to the global namespace.
2008-09-22styleNathan Binkert
2008-09-19We're using the static keyword improperly in some cases.Nathan Binkert
2008-09-19atomicio: provide atomic read and write functions.Nathan Binkert
These functions keep trying to read and write until all data has been transferred, or an error occurrs. In the case where an end of file hasn't been reached, but all of the bytes have not been read/written, try again. On EINTR, try again.
2008-09-19Use C++ limits where applicable for portabilityNathan Binkert
2008-09-19Use the proper version of C++ headersNathan Binkert
2008-09-19Check the return value of I/O operations for failureNathan Binkert
2008-09-19inifile: Whack preprocessor access.Nathan Binkert
We haven't used the preprocessor feature of the inifile stuff in a very long time, so let's get rid of it since it would otherwise take effort to maintain.