afb279b1bb
output: Make panic/fatal/warn more flexible so we can add some new ones. The major thrust of this change is to limit the amount of code duplication surrounding the code for these functions. This code also adds two new message types called info and hack. Info is meant to be less harsh than warn so people don't get confused and start thinking that the simulator is broken. Hack is a way for people to add runtime messages indicating that the simulator just executed a code "hack" that should probably be fixed. The benefit of knowing about these code hacks is that it will let people know what sorts of inaccuracies or potential bugs might be entering their experiments. Finally, I've added some flags to turn on and off these message types so command line options can change them.
Nathan Binkert
2008-10-10 10:18:28 -07:00
b25e56b32a
gdb: add a debugging function that enters the python interpreter.
Nathan Binkert
2008-10-10 10:15:01 -07:00
70dbe61ffc
jobfile: Add support for dictionaries as jobfile options. If the same dictionary option is seen in several options, those dictionaries are composed. If you define the same dictionary key in multiple options, the system flags an error. Also, clean up the jobfile code so that it is more debuggable.
Nathan Binkert
2008-10-10 10:15:01 -07:00
84364f36d0
python: Add a utility for nested attribute dicts. Change attrdict so that attributes that begin with an underscore don't go into the dict.
Nathan Binkert
2008-10-10 10:15:00 -07:00
5586b1539b
misc: remove #include <cassert> from misc.hh since not everyone needs it.
Nathan Binkert
2008-10-10 10:15:00 -07:00
ec0fb05d64
X86: Turn SMBios structures into simobjects.
Gabe Black
2008-10-10 03:50:51 -07:00
9be6e08227
X86: Add a couple comments to the bios SConscript
Gabe Black
2008-10-10 03:50:42 -07:00
b4dab225fd
X86: Split makeLinuxX86System into makeLinuxX86System and makeX86System.
Gabe Black
2008-10-10 03:50:30 -07:00
d897aa939f
X86: Move the smbios objects into a folder for BIOS objects.
Gabe Black
2008-10-10 03:50:18 -07:00
57d663877e
X86: Fix compilation with new eventq API.
Gabe Black
2008-10-10 03:50:07 -07:00
94b08bed07
SimObjects: Clean up handling of C++ namespaces. Make them easier to express by only having the cxx_type parameter which has the full namespace name, and drop the cxx_namespace thing. Add support for multiple levels of namespace.
Nathan Binkert
2008-10-09 22:19:39 -07:00
4ecc5d53a3
range_map: Add a method to find which range a single value falls into.
Nathan Binkert
2008-10-09 22:19:38 -07:00
6ccf28c896
style: conform to M5 style.
Nathan Binkert
2008-10-09 09:25:41 -07:00
b556dc4119
mem: Add a method for setting the time on a packet.
Nathan Binkert
2008-10-09 04:58:24 -07:00
e06321091d
eventq: convert all usage of events to use the new API. For now, there is still a single global event queue, but this is necessary for making the steps towards a parallelized m5.
Nathan Binkert
2008-10-09 04:58:24 -07:00
8291d9db0a
eventq: Major API change for the Event and EventQueue structures.
Nathan Binkert
2008-10-09 04:58:23 -07:00
68c75c589b
pdb: Try to make pdb work better. 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.
Nathan Binkert
2008-10-09 04:58:23 -07:00
886c5f8fe5
SINIC: Commit old code from ASPLOS 2006 studies. NOTE: This code was written by Nathan Binkert in 2006 and is properly copyright "The Regents of the University of Michigan"
Nathan Binkert
2008-10-09 04:58:23 -07:00
eb89a23556
eventq: Don't use inline friend function when a static function will do. 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.
Nathan Binkert
2008-10-09 04:58:23 -07:00
a589eb4053
SCons: add code to provide a libm5 shared library. 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.
Nathan Binkert
2008-10-09 04:58:23 -07:00
0b83563a9c
eventq: I'm sick of the warning about MaxTick being unused.
Nathan Binkert
2008-10-09 04:58:23 -07:00
7cc2a88038
stats: use properly signed types for looping and comparison
Nathan Binkert
2008-10-09 04:58:23 -07:00
a52dce6d62
style: Bring statistics code in line with the proper style.
Nathan Binkert
2008-10-09 04:58:23 -07:00
b66eb3b8d1
O3: Generaize the O3 IMPL class so it isn't split out by ISA.
Gabe Black
2008-10-09 00:10:02 -07:00
f57c286d2c
O3: Generaize the O3 dynamic instruction class so it isn't split out by ISA.
Gabe Black
2008-10-09 00:09:26 -07:00
e09c403d32
O3: Generalize the O3 CPU object so it isn't split out by ISA.
Gabe Black
2008-10-09 00:08:50 -07:00
975c9e3af8
Microcode: Fix a silent typo error in the microcode assembler.
Gabe Black
2008-10-09 00:07:38 -07:00
523531a40e
Microcode: Fix a very old bug with parsing external labels in microcode.
Gabe Black
2008-10-09 00:07:21 -07:00
c5c6ad7ed6
CPU: Fix where setMicroPC was being called instead of setNextMicroPC.
Gabe Black
2008-10-09 00:06:05 -07:00
e1b306fa53
X86: Fix the debugging microops. The debug functions can't handle a string object format.
Gabe Black
2008-10-09 00:05:39 -07:00
569db520ad
X86: Make far ret modify CS instead of some random selector.
Gabe Black
2008-10-09 00:04:36 -07:00
b423c7a103
Added tag m5_2.0_beta6 for changeset d8b246a665c1
Gabe Black
2008-10-09 02:20:16 -04:00
9affd7adc6
Scons: Update compare_versions() to ignore trailing charecters after an int. This is a fix for a mysql version number that includes a (E.g. 5.0.51a)
Ali Saidi
2008-10-08 18:34:19 -04:00
fef5a4f49c
Update the README and RELEASE_NOTES files to prepare for beta 6.
Gabe Black
2008-10-07 00:53:25 -04:00
6b2bb53fd6
python: cleanup options parsing stuff so that it properly deals with defaults. 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.
Nathan Binkert
2008-10-06 09:31:51 -07:00
6c046a28dc
fix shadow set bugs in MIPS code that caused out of bounds access... panic rdpgpr/wrpgpr instructions until a better impl. of MIPS shadow sets is available.
Korey Sewell
2008-10-06 02:07:04 -04:00
b25755993b
unittest: Add unit tests to the scons framework. Also fix the unit tests so they actually compile correctly.
Nathan Binkert
2008-10-02 11:27:01 -07:00
67a2918abc
stats: Fix small bug pointed out by unit testing.
Nathan Binkert
2008-10-02 11:26:59 -07:00
0a1613abe1
Output: Verify output files are open after opening them.
Ali Saidi
2008-10-02 12:46:57 -04:00
0bd9bbae4c
Cleanup m5term changes with Nate's comments.
Ali Saidi
2008-10-01 16:37:49 -04:00
4ba87133bd
Make m5term use select() so OS X is happy.
Ali Saidi
2008-10-01 16:27:52 -04:00
7bf6a219db
Make overriding port assignments in Python work, and print better error messages when it doesn't.
Steve Reinhardt
2008-09-29 23:30:14 -07:00
45cba35fc1
Fix EVENTQ_DEBUG vs DEBUG_EVENTQ #define inconsistency.
Steve Reinhardt
2008-09-29 23:30:14 -07:00
1e9c428522
alpha: Need to include cstring so that g++ 4.3 works.
Nathan Binkert
2008-09-29 07:15:30 -07:00
d2fae026a8
tests: Update all tests for small outstanding changes. Little differences have accumulated over time and it's worth getting things back in sync for the stable release.
Nathan Binkert
2008-09-28 14:16:26 -07:00
602faeb47c
tests: rename the terminal files for solaris. I forgot to do this when I renamed everything else.
Nathan Binkert
2008-09-28 14:16:24 -07:00
f2f40bcb77
tests: perlbmk now works. Commit stats and assume the're right. Kevin fixed how O3 handles syscalls that change NextPC (longjump).
Nathan Binkert
2008-09-28 14:15:50 -07:00
bb3ab0f474
tests: Kevin fixed how writebacks are handled in SMT and that changed stats.
Nathan Binkert
2008-09-28 14:15:37 -07:00
d2f172ab8d
gcc: Version 4.3 adds some warnings that we're turning off. We just can't deal with right now.
Nathan Binkert
2008-09-27 21:03:50 -07:00
80d9be86e6
gcc: Add extra parens to quell warnings. 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.
Nathan Binkert
2008-09-27 21:03:49 -07:00
cf7ddd8e8a
style: Make a style pass over the whole arch/alpha directory.
Nathan Binkert
2008-09-27 21:03:48 -07:00
8ea5176b7f
arch: TheISA shouldn't really ever be used in the arch directory. 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.
Nathan Binkert
2008-09-27 21:03:46 -07:00
0b30c345f1
alpha: Get rid fo the namespace called EV5. We're never going to do an alpha platform other than the one we've got.
Nathan Binkert
2008-09-27 21:03:45 -07:00
83f3bff643
add a bit of style
Nathan Binkert
2008-09-27 00:15:45 -07:00
ca4baf3871
style: missed space after switch
Nathan Binkert
2008-09-26 09:37:21 -07:00
9838be2521
When nesting if statements, use braces to avoid ambiguous else clauses.
Nathan Binkert
2008-09-26 08:18:57 -07:00
abca171e24
Use logical operator instead of bitwise operator for correctness.
Nathan Binkert
2008-09-26 08:18:56 -07:00
6798aa14ed
style: bring this file into M5 style, use the new pte translate function.
Nathan Binkert
2008-09-26 08:18:55 -07:00
a053055e17
scons: disable several gcc warnings for swig autogenerated wrapper code.
Nathan Binkert
2008-09-26 08:18:54 -07:00
0309c877f3
style: These files didn't even come close to following the M5 style guide.
Nathan Binkert
2008-09-26 08:18:53 -07:00
b784903207
O3CPU: Fix thread writeback logic. 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.
Kevin Lim
2008-09-26 07:44:07 -07:00
712a8ee700
O3CPU: Add a hack to ensure that nextPC is set correctly after syscalls. 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.
Kevin Lim
2008-09-26 07:44:06 -07:00
70ec46de17
sparc: Fix style, create a helper function for translation. The translate function simplifies code and removes some compiler warnings in gcc 3.4
Nathan Binkert
2008-09-23 20:38:02 -07:00
38dd9687ce
scons: Separate swig environment so we can have different flags. Swig code isn't quite perfect, so let's not turn on all of the warnings.
Nathan Binkert
2008-09-22 08:25:58 -07:00
6efb930e19
gcc: Version 4.3 is pretty anal about shadowing types, placate it. 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.
Nathan Binkert
2008-09-22 08:25:57 -07:00