gem5.git
15 years agoautomerge
Nathan Binkert [Fri, 10 Oct 2008 17:38:53 +0000 (10:38 -0700)]
automerge

15 years agooutput: Make panic/fatal/warn more flexible so we can add some new ones.
Nathan Binkert [Fri, 10 Oct 2008 17:18:28 +0000 (10:18 -0700)]
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.

15 years agogdb: add a debugging function that enters the python interpreter.
Nathan Binkert [Fri, 10 Oct 2008 17:15:01 +0000 (10:15 -0700)]
gdb: add a debugging function that enters the python interpreter.

15 years agojobfile: Add support for dictionaries as jobfile options.
Nathan Binkert [Fri, 10 Oct 2008 17:15:01 +0000 (10:15 -0700)]
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.

15 years agopython: Add a utility for nested attribute dicts.
Nathan Binkert [Fri, 10 Oct 2008 17:15:00 +0000 (10:15 -0700)]
python: Add a utility for nested attribute dicts.
Change attrdict so that attributes that begin with an underscore don't
go into the dict.

15 years agomisc: remove #include <cassert> from misc.hh since not everyone needs it.
Nathan Binkert [Fri, 10 Oct 2008 17:15:00 +0000 (10:15 -0700)]
misc: remove #include <cassert> from misc.hh since not everyone needs it.

15 years agoX86: Turn SMBios structures into simobjects.
Gabe Black [Fri, 10 Oct 2008 10:50:51 +0000 (03:50 -0700)]
X86: Turn SMBios structures into simobjects.

15 years agoX86: Add a couple comments to the bios SConscript
Gabe Black [Fri, 10 Oct 2008 10:50:42 +0000 (03:50 -0700)]
X86: Add a couple comments to the bios SConscript

15 years agoX86: Split makeLinuxX86System into makeLinuxX86System and makeX86System.
Gabe Black [Fri, 10 Oct 2008 10:50:30 +0000 (03:50 -0700)]
X86: Split makeLinuxX86System into makeLinuxX86System and makeX86System.

15 years agoX86: Move the smbios objects into a folder for BIOS objects.
Gabe Black [Fri, 10 Oct 2008 10:50:18 +0000 (03:50 -0700)]
X86: Move the smbios objects into a folder for BIOS objects.

15 years agoX86: Fix compilation with new eventq API.
Gabe Black [Fri, 10 Oct 2008 10:50:07 +0000 (03:50 -0700)]
X86: Fix compilation with new eventq API.

15 years agoSimObjects: Clean up handling of C++ namespaces.
Nathan Binkert [Fri, 10 Oct 2008 05:19:39 +0000 (22:19 -0700)]
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.

15 years agorange_map: Add a method to find which range a single value falls into.
Nathan Binkert [Fri, 10 Oct 2008 05:19:38 +0000 (22:19 -0700)]
range_map: Add a method to find which range a single value falls into.

15 years agostyle: conform to M5 style.
Nathan Binkert [Thu, 9 Oct 2008 16:25:41 +0000 (09:25 -0700)]
style: conform to M5 style.

15 years agomem: Add a method for setting the time on a packet.
Nathan Binkert [Thu, 9 Oct 2008 11:58:24 +0000 (04:58 -0700)]
mem: Add a method for setting the time on a packet.

15 years agoeventq: convert all usage of events to use the new API.
Nathan Binkert [Thu, 9 Oct 2008 11:58:24 +0000 (04:58 -0700)]
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.

15 years agoeventq: Major API change for the Event and EventQueue structures.
Nathan Binkert [Thu, 9 Oct 2008 11:58:23 +0000 (04:58 -0700)]
eventq: Major API change for the Event and EventQueue structures.

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.

15 years agopdb: Try to make pdb work better.
Nathan Binkert [Thu, 9 Oct 2008 11:58:23 +0000 (04:58 -0700)]
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.

15 years agoSINIC: Commit old code from ASPLOS 2006 studies.
Nathan Binkert [Thu, 9 Oct 2008 11:58:23 +0000 (04:58 -0700)]
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"

15 years agoeventq: Don't use inline friend function when a static function will do.
Nathan Binkert [Thu, 9 Oct 2008 11:58:23 +0000 (04:58 -0700)]
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.

15 years agoSCons: add code to provide a libm5 shared library.
Nathan Binkert [Thu, 9 Oct 2008 11:58:23 +0000 (04:58 -0700)]
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.

15 years agoeventq: I'm sick of the warning about MaxTick being unused.
Nathan Binkert [Thu, 9 Oct 2008 11:58:23 +0000 (04:58 -0700)]
eventq: I'm sick of the warning about MaxTick being unused.

15 years agostats: use properly signed types for looping and comparison
Nathan Binkert [Thu, 9 Oct 2008 11:58:23 +0000 (04:58 -0700)]
stats: use properly signed types for looping and comparison

15 years agostyle: Bring statistics code in line with the proper style.
Nathan Binkert [Thu, 9 Oct 2008 11:58:23 +0000 (04:58 -0700)]
style: Bring statistics code in line with the proper style.

15 years agoO3: Generaize the O3 IMPL class so it isn't split out by ISA.
Gabe Black [Thu, 9 Oct 2008 07:10:02 +0000 (00:10 -0700)]
O3: Generaize the O3 IMPL class so it isn't split out by ISA.

--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

15 years agoO3: Generaize the O3 dynamic instruction class so it isn't split out by ISA.
Gabe Black [Thu, 9 Oct 2008 07:09:26 +0000 (00:09 -0700)]
O3: Generaize the O3 dynamic instruction class so it isn't split out by ISA.

--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

15 years agoO3: Generalize the O3 CPU object so it isn't split out by ISA.
Gabe Black [Thu, 9 Oct 2008 07:08:50 +0000 (00:08 -0700)]
O3: Generalize the O3 CPU object so it isn't split out by ISA.

15 years agoMicrocode: Fix a silent typo error in the microcode assembler.
Gabe Black [Thu, 9 Oct 2008 07:07:38 +0000 (00:07 -0700)]
Microcode: Fix a silent typo error in the microcode assembler.

15 years agoMicrocode: Fix a very old bug with parsing external labels in microcode.
Gabe Black [Thu, 9 Oct 2008 07:07:21 +0000 (00:07 -0700)]
Microcode: Fix a very old bug with parsing external labels in microcode.

15 years agoCPU: Fix where setMicroPC was being called instead of setNextMicroPC.
Gabe Black [Thu, 9 Oct 2008 07:06:05 +0000 (00:06 -0700)]
CPU: Fix where setMicroPC was being called instead of setNextMicroPC.

15 years agoX86: Fix the debugging microops. The debug functions can't handle a string object...
Gabe Black [Thu, 9 Oct 2008 07:05:39 +0000 (00:05 -0700)]
X86: Fix the debugging microops. The debug functions can't handle a string object format.

15 years agoX86: Make far ret modify CS instead of some random selector.
Gabe Black [Thu, 9 Oct 2008 07:04:36 +0000 (00:04 -0700)]
X86: Make far ret modify CS instead of some random selector.

15 years agoAdded tag m5_2.0_beta6 for changeset d8b246a665c1
Gabe Black [Thu, 9 Oct 2008 06:20:16 +0000 (02:20 -0400)]
Added tag m5_2.0_beta6 for changeset d8b246a665c1

15 years agoScons: Update compare_versions() to ignore trailing charecters after an int. This... m5_2.0_beta6
Ali Saidi [Wed, 8 Oct 2008 22:34:19 +0000 (18:34 -0400)]
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)

15 years agoUpdate the README and RELEASE_NOTES files to prepare for beta 6.
Gabe Black [Tue, 7 Oct 2008 04:53:25 +0000 (00:53 -0400)]
Update the README and RELEASE_NOTES files to prepare for beta 6.

15 years agopython: cleanup options parsing stuff so that it properly deals with defaults.
Nathan Binkert [Mon, 6 Oct 2008 16:31:51 +0000 (09:31 -0700)]
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.

15 years agofix shadow set bugs in MIPS code that caused out of bounds access...
Korey Sewell [Mon, 6 Oct 2008 06:07:04 +0000 (02:07 -0400)]
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.

15 years agounittest: Add unit tests to the scons framework.
Nathan Binkert [Thu, 2 Oct 2008 18:27:01 +0000 (11:27 -0700)]
unittest: Add unit tests to the scons framework.
Also fix the unit tests so they actually compile correctly.

15 years agounittest: Cleanup unit tests. Follow style. Garbage Collect.
Nathan Binkert [Thu, 2 Oct 2008 18:26:59 +0000 (11:26 -0700)]
unittest: Cleanup unit tests.  Follow style.  Garbage Collect.

--HG--
rename : src/unittest/rangemaptest2.cc => src/unittest/rangemultimaptest.cc

15 years agostats: Fix small bug pointed out by unit testing.
Nathan Binkert [Thu, 2 Oct 2008 18:26:59 +0000 (11:26 -0700)]
stats: Fix small bug pointed out by unit testing.

15 years agoOutput: Verify output files are open after opening them.
Ali Saidi [Thu, 2 Oct 2008 16:46:57 +0000 (12:46 -0400)]
Output: Verify output files are open after opening them.

15 years agoCleanup m5term changes with Nate's comments.
Ali Saidi [Wed, 1 Oct 2008 20:37:49 +0000 (16:37 -0400)]
Cleanup m5term changes with Nate's comments.

15 years agoMake m5term use select() so OS X is happy.
Ali Saidi [Wed, 1 Oct 2008 20:27:52 +0000 (16:27 -0400)]
Make m5term use select() so OS X is happy.

15 years agoMake overriding port assignments in Python work,
Steve Reinhardt [Tue, 30 Sep 2008 06:30:14 +0000 (23:30 -0700)]
Make overriding port assignments in Python work,
and print better error messages when it doesn't.

15 years agoFix EVENTQ_DEBUG vs DEBUG_EVENTQ #define inconsistency.
Steve Reinhardt [Tue, 30 Sep 2008 06:30:14 +0000 (23:30 -0700)]
Fix EVENTQ_DEBUG vs DEBUG_EVENTQ #define inconsistency.

15 years agoalpha: Need to include cstring so that g++ 4.3 works.
Nathan Binkert [Mon, 29 Sep 2008 14:15:30 +0000 (07:15 -0700)]
alpha: Need to include cstring so that g++ 4.3 works.

15 years agotests: Update all tests for small outstanding changes.
Nathan Binkert [Sun, 28 Sep 2008 21:16:26 +0000 (14:16 -0700)]
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.

15 years agotests: rename the terminal files for solaris.
Nathan Binkert [Sun, 28 Sep 2008 21:16:24 +0000 (14:16 -0700)]
tests: rename the terminal files for solaris.
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

15 years agotests: perlbmk now works. Commit stats and assume the're right.
Nathan Binkert [Sun, 28 Sep 2008 21:15:50 +0000 (14:15 -0700)]
tests: perlbmk now works.  Commit stats and assume the're right.
Kevin fixed how O3 handles syscalls that change NextPC (longjump).

15 years agotests: Kevin fixed how writebacks are handled in SMT and that changed stats.
Nathan Binkert [Sun, 28 Sep 2008 21:15:37 +0000 (14:15 -0700)]
tests: Kevin fixed how writebacks are handled in SMT and that changed stats.

15 years agogcc: Version 4.3 adds some warnings that we're turning off.
Nathan Binkert [Sun, 28 Sep 2008 04:03:50 +0000 (21:03 -0700)]
gcc: Version 4.3 adds some warnings that we're turning off.
We just can't deal with right now.

15 years agogcc: Add extra parens to quell warnings.
Nathan Binkert [Sun, 28 Sep 2008 04:03:49 +0000 (21:03 -0700)]
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.

15 years agostyle: Make a style pass over the whole arch/alpha directory.
Nathan Binkert [Sun, 28 Sep 2008 04:03:48 +0000 (21:03 -0700)]
style: Make a style pass over the whole arch/alpha directory.

15 years agoalpha: Clean up namespace usage.
Nathan Binkert [Sun, 28 Sep 2008 04:03:47 +0000 (21:03 -0700)]
alpha: Clean up namespace usage.

15 years agoarch: TheISA shouldn't really ever be used in the arch directory.
Nathan Binkert [Sun, 28 Sep 2008 04:03:46 +0000 (21:03 -0700)]
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.

15 years agoalpha: Get rid fo the namespace called EV5.
Nathan Binkert [Sun, 28 Sep 2008 04:03:45 +0000 (21:03 -0700)]
alpha: Get rid fo the namespace called EV5.
We're never going to do an alpha platform other than the one we've got.

15 years agostyle
Nathan Binkert [Sat, 27 Sep 2008 14:25:04 +0000 (07:25 -0700)]
style

15 years agoadd a bit of style
Nathan Binkert [Sat, 27 Sep 2008 07:15:45 +0000 (00:15 -0700)]
add a bit of style

15 years agostyle: missed space after switch
Nathan Binkert [Fri, 26 Sep 2008 16:37:21 +0000 (09:37 -0700)]
style: missed space after switch

15 years agoWhen nesting if statements, use braces to avoid ambiguous else clauses.
Nathan Binkert [Fri, 26 Sep 2008 15:18:57 +0000 (08:18 -0700)]
When nesting if statements, use braces to avoid ambiguous else clauses.

15 years agoUse logical operator instead of bitwise operator for correctness.
Nathan Binkert [Fri, 26 Sep 2008 15:18:56 +0000 (08:18 -0700)]
Use logical operator instead of bitwise operator for correctness.

15 years agostyle: bring this file into M5 style, use the new pte translate function.
Nathan Binkert [Fri, 26 Sep 2008 15:18:55 +0000 (08:18 -0700)]
style: bring this file into M5 style, use the new pte translate function.

15 years agoscons: disable several gcc warnings for swig autogenerated wrapper code.
Nathan Binkert [Fri, 26 Sep 2008 15:18:54 +0000 (08:18 -0700)]
scons: disable several gcc warnings for swig autogenerated wrapper code.

15 years agostyle: These files didn't even come close to following the M5 style guide.
Nathan Binkert [Fri, 26 Sep 2008 15:18:53 +0000 (08:18 -0700)]
style: These files didn't even come close to following the M5 style guide.

15 years agoO3CPU: Fix thread writeback logic.
Kevin Lim [Fri, 26 Sep 2008 14:44:07 +0000 (07:44 -0700)]
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.

15 years agoO3CPU: Add a hack to ensure that nextPC is set correctly after syscalls.
Kevin Lim [Fri, 26 Sep 2008 14:44:06 +0000 (07:44 -0700)]
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.

15 years agosparc: Fix style, create a helper function for translation.
Nathan Binkert [Wed, 24 Sep 2008 03:38:02 +0000 (20:38 -0700)]
sparc: Fix style, create a helper function for translation.
The translate function simplifies code and removes some compiler
warnings in gcc 3.4

15 years agoscons: Separate swig environment so we can have different flags.
Nathan Binkert [Mon, 22 Sep 2008 15:25:58 +0000 (08:25 -0700)]
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.

15 years agogcc: Version 4.3 is pretty anal about shadowing types, placate it.
Nathan Binkert [Mon, 22 Sep 2008 15:25:57 +0000 (08:25 -0700)]
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.

15 years agostyle
Nathan Binkert [Mon, 22 Sep 2008 15:21:47 +0000 (08:21 -0700)]
style

15 years agoSCons: Update compare_versions() to ignore trailing charecters in versions.
Ali Saidi [Mon, 22 Sep 2008 03:56:01 +0000 (23:56 -0400)]
SCons: Update compare_versions() to ignore trailing charecters in versions.

15 years agoWe're searching for g++ incorrectly
Nathan Binkert [Fri, 19 Sep 2008 16:42:55 +0000 (09:42 -0700)]
We're searching for g++ incorrectly

15 years agoWe're using the static keyword improperly in some cases.
Nathan Binkert [Fri, 19 Sep 2008 16:42:54 +0000 (09:42 -0700)]
We're using the static keyword improperly in some cases.

15 years agoatomicio: provide atomic read and write functions.
Nathan Binkert [Fri, 19 Sep 2008 16:42:31 +0000 (09:42 -0700)]
atomicio: provide atomic read and write functions.

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.

15 years agoUse C++ limits where applicable for portability
Nathan Binkert [Fri, 19 Sep 2008 16:11:43 +0000 (09:11 -0700)]
Use C++ limits where applicable for portability

15 years agoUse the proper version of C++ headers
Nathan Binkert [Fri, 19 Sep 2008 16:11:43 +0000 (09:11 -0700)]
Use the proper version of C++ headers

15 years agoCheck the return value of I/O operations for failure
Nathan Binkert [Fri, 19 Sep 2008 16:11:42 +0000 (09:11 -0700)]
Check the return value of I/O operations for failure

15 years agoinifile: Whack preprocessor access.
Nathan Binkert [Fri, 19 Sep 2008 16:11:40 +0000 (09:11 -0700)]
inifile: Whack preprocessor access.
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.

15 years agostyle: Remove non-leading tabs everywhere they shouldn't be. Developers should config...
Ali Saidi [Wed, 10 Sep 2008 18:26:15 +0000 (14:26 -0400)]
style: Remove non-leading tabs everywhere they shouldn't be. Developers should configure their editors to not insert tabs

15 years agostyle: this file did not conform to style
Nathan Binkert [Tue, 9 Sep 2008 23:27:17 +0000 (16:27 -0700)]
style: this file did not conform to style

16 years agostyle: This file hugely violated the M5 style.
Nathan Binkert [Tue, 9 Sep 2008 01:03:52 +0000 (18:03 -0700)]
style: This file hugely violated the M5 style.
Remove a bunch of unused cruft from the interface while we're at it

16 years agoX86: Fix the microcode for sign/zero extending moves that use high byte registers.
Gabe Black [Wed, 3 Sep 2008 04:52:54 +0000 (00:52 -0400)]
X86: Fix the microcode for sign/zero extending moves that use high byte registers.

16 years agoDevice: Fix bug in DmaPort::recvRetry. The interface attempts to send the same packet...
Clint Smullen [Tue, 26 Aug 2008 06:37:26 +0000 (02:37 -0400)]
Device: Fix bug in DmaPort::recvRetry. The interface attempts to send the same packet again.
It doesn't cause a problem currently, however with a different Memory Object it could cause
problems

16 years agoIGbE: Patches I neglected to apply before pushing the previous igbe changeset
Ali Saidi [Sun, 24 Aug 2008 19:27:49 +0000 (15:27 -0400)]
IGbE: Patches I neglected to apply before pushing the previous igbe changeset

16 years agoCPU: Get rid of two more duplicated CPU params.
Gabe Black [Wed, 20 Aug 2008 04:59:09 +0000 (21:59 -0700)]
CPU: Get rid of two more duplicated CPU params.

16 years agoChanged BaseCPU::ProfileEvent's interval member to be of type Tick. This was done...
Richard Strong [Mon, 18 Aug 2008 17:50:58 +0000 (10:50 -0700)]
Changed BaseCPU::ProfileEvent's interval member to be of type Tick. This was done to be consistent with its
python type of a latency.  In addition, the multiple definitions of profile in the different cpu models caused
problems for intialization of the interval value. If a child class's profile value was defined, the parent
BaseCPU::ProfileEvent interval field would be initialized with a garbage value. The fix was to remove the
multiple redifitions of profile in the child CPU classes.

16 years agoAdd the ability to specify a think time before descriptor fetch/writeback starts...
Ali Saidi [Wed, 13 Aug 2008 21:41:58 +0000 (17:41 -0400)]
Add the ability to specify a think time before descriptor fetch/writeback starts/ends as well as after read/write dmas

16 years agoAdd the ability for a DMA to tack on an extra delay after the DMA is actually finished.
Ali Saidi [Wed, 13 Aug 2008 21:41:56 +0000 (17:41 -0400)]
Add the ability for a DMA to tack on an extra delay after the DMA is actually finished.

16 years agoMore subtle fixes to how interrupts are supposed to work in the device. Fix postedInt...
Ali Saidi [Wed, 13 Aug 2008 20:30:30 +0000 (16:30 -0400)]
More subtle fixes to how interrupts are supposed to work in the device. Fix postedInterrupts statistics.

16 years agoReturn an UnimpFault for an ITB translation of an uncachable address. We don't suppor...
Ali Saidi [Wed, 13 Aug 2008 20:29:59 +0000 (16:29 -0400)]
Return an UnimpFault for an ITB translation of an uncachable address. We don't support fetching from uncached addresses in Alpha and it means that a speculative fetch can clobber device registers.

16 years agostyle
Nathan Binkert [Mon, 11 Aug 2008 21:47:49 +0000 (14:47 -0700)]
style

16 years agoparams: Get rid of the remnants of the old style parameter configuration stuff.
Nathan Binkert [Mon, 11 Aug 2008 19:22:17 +0000 (12:22 -0700)]
params: Get rid of the remnants of the old style parameter configuration stuff.

16 years agoparams: Convert the CPU objects to use the auto generated param structs.
Nathan Binkert [Mon, 11 Aug 2008 19:22:16 +0000 (12:22 -0700)]
params: Convert the CPU objects to use the auto generated param structs.
A whole bunch of stuff has been converted to use the new params stuff, but
the CPU wasn't one of them.  While we're at it, make some things a bit
more stylish. Most of the work was done by Gabe, I just cleaned stuff up
a bit more at the end.

16 years agoMake time format in 'started' line same as 'compiled'.
Steve Reinhardt [Mon, 4 Aug 2008 05:46:46 +0000 (01:46 -0400)]
Make time format in 'started' line same as 'compiled'.
Also make -B output consistent with normal header, and
only include actual build options.

16 years agoGet rid of outputStream... wasn't really being used
Steve Reinhardt [Mon, 4 Aug 2008 05:45:12 +0000 (01:45 -0400)]
Get rid of outputStream... wasn't really being used
(except for warn()) and new -r/-e options make it
not worth fixing.

16 years agoMinor fix for test/SConscript... forgot to 'qref' before 'qdel', argh.
Steve Reinhardt [Mon, 4 Aug 2008 05:01:35 +0000 (01:01 -0400)]
Minor fix for test/SConscript... forgot to 'qref' before 'qdel', argh.

16 years agoMake test/SConscript use new redirection options.
Steve Reinhardt [Mon, 4 Aug 2008 04:48:11 +0000 (00:48 -0400)]
Make test/SConscript use new redirection options.

16 years agoAdd -r/-e options to redirect stdout/stderr.
Steve Reinhardt [Mon, 4 Aug 2008 04:40:31 +0000 (00:40 -0400)]
Add -r/-e options to redirect stdout/stderr.
Better than using shell since it automatically uses -d directory
for output files (creating it as needed).

16 years agosockets: Add a function to disable all listening sockets.
Nathan Binkert [Mon, 4 Aug 2008 01:19:55 +0000 (18:19 -0700)]
sockets: Add a function to disable all listening sockets.
When invoking several copies of m5 on the same machine at the same
time, there can be a race for TCP ports for the terminal connections
or remote gdb.  Expose a function to disable those ports, and have the
regression scripts disable them.  There are some SimObjects that have
no other function than to be used with ports (NativeTrace and
EtherTap), so they will panic if the ports are disabled.

16 years agolibm5: Create a libm5 static library for embedding m5.
Nathan Binkert [Mon, 4 Aug 2008 01:19:54 +0000 (18:19 -0700)]
libm5: Create a libm5 static library for embedding m5.

This should allow m5 to be more easily embedded into other simulators.
The m5 binary adds a simple main function which then calls into the m5
libarary to start the simulation. In order to make this work
correctly, it was necessary embed python code directly into the
library instead of the zipfile hack.  This is because you can't just
append the zipfile to the end of a library the way you can a binary.
As a result, Python files that are part of the m5 simulator are now
compile, marshalled, compressed, and then inserted into the library's
data section with a certain symbol name.  Additionally, a new Importer
was needed to allow python to get at the embedded python code.

Small additional changes include:
- Get rid of the PYTHONHOME stuff since I don't think anyone ever used
it, and it just confuses things.  Easy enough to add back if I'm wrong.
- Create a few new functions that are key to initializing and running
the simulator: initSignals, initM5Python, m5Main.

The original code for creating libm5 was inspired by a patch Michael
Adler, though the code here was done by me.