gem5.git
20 years agoMerge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
Erik Hallnor [Tue, 13 Jan 2004 07:10:48 +0000 (02:10 -0500)]
Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5

--HG--
extra : convert_revision : 52437e42f15899db46525ad91b2e43c2a96ace36

20 years agoChange to a new centralized way to specify the memory hierarchy parameters (do_data...
Erik Hallnor [Tue, 13 Jan 2004 07:10:35 +0000 (02:10 -0500)]
Change to a new centralized way to specify the memory hierarchy parameters (do_data and do_events). If you use the defaults (false and true respectively) you don't have to change your INI files.

arch/alpha/isa_traits.hh:
    Add a constant for the maximum address value called MaxAddr.

--HG--
extra : convert_revision : 1371e8b713cc6ed134093e9c208db35dc9741ac7

20 years ago- quick support for using a regular expression to select
Nathan Binkert [Mon, 12 Jan 2004 23:39:39 +0000 (18:39 -0500)]
- quick support for using a regular expression to select
which stats to print
- print out the subname

--HG--
extra : convert_revision : 2960bd33654e55fe0f6279b09dce42b1216188c8

20 years agoCommit the correct version of the code
Nathan Binkert [Mon, 12 Jan 2004 20:45:51 +0000 (15:45 -0500)]
Commit the correct version of the code

--HG--
extra : convert_revision : 74555b2676fe20d4a742a272b6c97e3a8a237d68

20 years agomake the python stuff executable
Nathan Binkert [Mon, 12 Jan 2004 18:38:37 +0000 (13:38 -0500)]
make the python stuff executable

--HG--
extra : convert_revision : 04c9ff03880f55483466e56109536b74d9163ccd

20 years agoCheck in python script that reads the python stats output.
Nathan Binkert [Mon, 12 Jan 2004 18:31:59 +0000 (13:31 -0500)]
Check in python script that reads the python stats output.
Still needs a lot of work, but it's at least as good as the
normal output, and has some features that normal ouput is missing
such as bin totalling with correct formulas and totalling of
2d vectors and such.  It will also filter out specific stats
for printing.  (basically grep, but no mistakes.)

--HG--
extra : convert_revision : 05d0f0489483a32145cf6508122cfbc7ea57e204

20 years agoMerge zizzer.eecs.umich.edu:/bk/m5
Nathan Binkert [Mon, 12 Jan 2004 02:22:33 +0000 (21:22 -0500)]
Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : bff2fb78e205f327ce8d04f3ae1b2352857ab824

20 years agoMinor cleanup to bk ignore and makefile libelf rule.
Steve Reinhardt [Sun, 11 Jan 2004 23:26:48 +0000 (15:26 -0800)]
Minor cleanup to bk ignore and makefile libelf rule.

--HG--
extra : convert_revision : 77dd858344a74dea15bb36bcb0de04f3af9260f3

20 years agoModify handling of serialize:dir parameter to make it more useful.
Steve Reinhardt [Sun, 11 Jan 2004 23:24:18 +0000 (15:24 -0800)]
Modify handling of serialize:dir parameter to make it more useful.

Move global checkpoint-related functions and vars into Checkpoint class (as statics).

arch/alpha/pseudo_inst.cc:
dev/disk_image.cc:
    Move global checkpoint-related functions and vars
    into Checkpoint class (as statics).
sim/serialize.cc:
    Move global checkpoint-related functions and vars
    into Checkpoint class (as statics).

    Checkpoint constructor now takes checkpoint directory name instead
    of file name.

    Make serialize:dir parameter actually set checkpoint directory name
    instead of directory in which checkpoint directory is created.  If
    the value contains a '%', the curTick value is sprintf'd into the
    format to create the directory name.  The default is backwards compatible
    with the old fixed name ("m5.%012d").
sim/serialize.hh:
    Move global checkpoint-related functions and vars
    into Checkpoint class (as statics).

    Checkpoint constructor now takes checkpoint directory name instead
    of file name.

--HG--
extra : convert_revision : d0aa87b62911f405a4f5811271b9e6351fdd9fe4

20 years agoFix cprintf bug, plus minor cleanup & better error messages.
Steve Reinhardt [Sun, 11 Jan 2004 23:09:27 +0000 (15:09 -0800)]
Fix cprintf bug, plus minor cleanup & better error messages.

base/cprintf.cc:
    Fix bug where a call with a format string with no specifiers
    but one or more arguments would crash.  Old code tried to print
    extra args using last available format, but in this case there
    was no format, hence the problem.  Now we just print "<extra arg>"
    for each extra arg.

    Also reorganized code a bit to make scope of fmt variable
    match the scope in which you can be confident it's meaningful.
base/cprintf.hh:
    Print specific error message instead of calling format_invalid().
base/cprintf_formats.hh:
    Clear Format object in constructor.
    Use specific error messages instead of format_invalid() function.

--HG--
extra : convert_revision : 87d5e902174e3eb2583131d056742af166540db0

20 years agothe build directory is now correctly created
Ali Saidi [Fri, 9 Jan 2004 03:42:21 +0000 (22:42 -0500)]
the build directory is now correctly created

--HG--
extra : convert_revision : 4a7b91821e2de64e400417f8ac503af7e596571d

20 years agoFixed another small libelf problem, everything should work now, on any
Ali Saidi [Thu, 8 Jan 2004 21:35:47 +0000 (16:35 -0500)]
Fixed another small libelf problem, everything should work now, on any
machine.

base/loader/elf_object.hh:
    put #defines for libelf that normally arn't defined so that -Wundef
    doesn't cause problems.

--HG--
extra : convert_revision : fa2de6aa94c7ddbaa59990db4473402b0df7d93a

20 years agoshould now build... fixed relative path problem
Ali Saidi [Thu, 8 Jan 2004 19:13:31 +0000 (14:13 -0500)]
should now build... fixed relative path problem

--HG--
extra : convert_revision : 78c9445993a84b68be1b0a477555246f1ea6ce0c

20 years agoMerge zizzer.eecs.umich.edu:/bk/m5
Nathan Binkert [Thu, 8 Jan 2004 17:25:49 +0000 (12:25 -0500)]
Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : b7411b25ae9e3a546996aec59e1a67cbe728da85

20 years agoChanged elf_object.* to use libelf for reading elf files. The makefile
Ali Saidi [Thu, 8 Jan 2004 00:46:45 +0000 (19:46 -0500)]
Changed elf_object.* to use libelf for reading elf files. The makefile
and setup filed had to be modified to build libelf. The ext repository
MUST exist in the directory below m5!

base/loader/elf_object.cc:
base/loader/elf_object.hh:
    now uses libelf to read elf binaries

--HG--
extra : convert_revision : b70511f5379edf35d639f3bb64b786cb0bd180af

21 years agoImprove python output support
Nathan Binkert [Sun, 28 Dec 2003 17:48:13 +0000 (12:48 -0500)]
Improve python output support
fix some bugs

base/statistics.cc:
    -  Move the python dump stream stuff into the statistics package
    because it needs more control over the file when there
    are multiple dumps
    -  add a subname to the output
    -  make all of the stats a list instead of variable arguments to
    get around the 255 argument limit
    -  the description needs to be triple quoted
    -  avoid errors for formulas that don't have any root element
    set up.
base/statistics.hh:
    -  get rid of mode_python and just separate python dumping from
    regular stats dumping
    -  fix a huge bug that made a Formula use a VectorData instead
    of a FormulaData

--HG--
extra : convert_revision : 7303cff3ccdcc3d306ab17375219fc7fecac7e5e

21 years agoAdd a uni-directional bus bridge
Erik Hallnor [Sun, 28 Dec 2003 05:41:47 +0000 (00:41 -0500)]
Add a uni-directional bus bridge

--HG--
extra : convert_revision : 37d30638eb0d988fc1089c7945f535e2979ca8e4

21 years agoAdd python output support to the statistics package!
Nathan Binkert [Wed, 24 Dec 2003 08:25:36 +0000 (03:25 -0500)]
Add python output support to the statistics package!

base/statistics.cc:
base/statistics.hh:
    -  add python output support to the statistics package
    -  each statistic type has a python() member function that takes
    a Python object to which the stat will output it's python
    representation
    -  add getStatData hack so that the StatData pointer can be looked
    up by the proxies with their opaque pointer to the stat they're
    proxying for.  This is necessary because the proxy really proxies
    for the bin and not the stat.  Be nice to figure out how to get
    rid of it.  The hack is used so that the str() function of a
    proxy can properly name itself.
    -  To print formula stats, every stat has a str() function that
    converts that stat to a string that python can execute to get
    a value.
test/Makefile:
    add python stuff
test/stattest.cc:
    add more tests and test python support

--HG--
extra : convert_revision : 513814ab0a125606897f2c57dccdf22879032ef9

21 years agoinitial basic hooks into the stats package to output python code
Nathan Binkert [Wed, 24 Dec 2003 07:35:33 +0000 (02:35 -0500)]
initial basic hooks into the stats package to output python code
python dumping takes a name for the output data

base/statistics.cc:
base/statistics.hh:
    initial basic hooks into the stats package to output python code

--HG--
extra : convert_revision : 37f52dc03df50aa90346dc9ca341f961e7e855e8

21 years agoRandom cleanup
Nathan Binkert [Wed, 24 Dec 2003 07:25:26 +0000 (02:25 -0500)]
Random cleanup

base/statistics.hh:
    -  use a typedef to get at bin_t
    -  clean up template declaration
    -  public access to typedefs

--HG--
extra : convert_revision : 0650c5a1cba51c7af04790498af0d354884be0ee

21 years agoformatting for consistency
Nathan Binkert [Wed, 24 Dec 2003 07:22:43 +0000 (02:22 -0500)]
formatting for consistency

--HG--
extra : convert_revision : f859244880dcc2be9424edaac0c73adfd467221e

21 years agomore readable formatting
Nathan Binkert [Wed, 24 Dec 2003 07:17:20 +0000 (02:17 -0500)]
more readable formatting

--HG--
extra : convert_revision : 99bd142099482dbd04645a0f44ac63d2467b883c

21 years agoRandom cleanup to make things work a bit better
Nathan Binkert [Wed, 24 Dec 2003 06:45:56 +0000 (01:45 -0500)]
Random cleanup to make things work a bit better

base/statistics.cc:
    -  give an internal name to statistics that aren't printable
    -  speed up reset a tad
    -  Make sure that the original value of the current bin is restored properly
    -  check for the case where there are no subnames so we don't have an error
    -  check to make sure that the formula's root is set before accessing it
base/statistics.hh:
    -  clean up includes a bit
    -  deal with the case where there are no subnames
    -  get rid of remnants of FS_MEASURE stuff

--HG--
extra : convert_revision : 1e4338fc2b225647df47641b04c13b7046b2e114

21 years agonever print the cdf or pdf or the overflow bucket if we're simplescalr
Nathan Binkert [Wed, 24 Dec 2003 05:22:02 +0000 (00:22 -0500)]
never print the cdf or pdf or the overflow bucket if we're simplescalr

--HG--
extra : convert_revision : 921ad80a5c671fee9eab3f389636dccc101d18f6

21 years ago- change the FormatFlags into more general StatFlags
Nathan Binkert [Wed, 24 Dec 2003 04:53:43 +0000 (23:53 -0500)]
-  change the FormatFlags into more general StatFlags
-  make init and print StatFlags
-  default_mode -> DefaultMode
-  the display mode is no longer needed as part of the stat
pass it into the display functions so the mode can be determined
from dump to dump
-  get rid of old simplescalar bug and make the distribution min_val
work correctly
-  get rid of the DisplayMode parameter to distribution updates since
it is no longer needed

--HG--
extra : convert_revision : 386f69f4d12fb91faf60690aaab08542e009e555

21 years ago- Allow the stats package user to determine in which mode to dump
Nathan Binkert [Wed, 24 Dec 2003 02:45:48 +0000 (21:45 -0500)]
-  Allow the stats package user to determine in which mode to dump
-  Factor out the formatted output into a display function
-  Make the stats package support tracing
-  Clean up output of binned data

base/statistics.cc:
    -  Factor out the formatted output into a display function and
    pass in the mode
    -  Make the stats package support tracing
    -  Clean up output of binned data
    -  Get rid of the list of binned stats and the map of bins
    since it is no longer needed for output
base/statistics.hh:
    -  Allow the stats package user to determine in which mode to dump

--HG--
extra : convert_revision : a1d5fc728f4dc22a851d58ea89d44018a94a64c7

21 years agoMake it so you can override CC and CXX
Nathan Binkert [Wed, 24 Dec 2003 01:59:30 +0000 (20:59 -0500)]
Make it so you can override CC and CXX

--HG--
extra : convert_revision : 104febf47752f31b4e1b6c400fb040ed108bc331

21 years agoMake this compile with NDEBUG defined
Nathan Binkert [Tue, 23 Dec 2003 19:54:12 +0000 (14:54 -0500)]
Make this compile with NDEBUG defined

--HG--
extra : convert_revision : 37105cc901d7d10cee31bded926683a81577cdd2

21 years agoadd support for simple character input via the system console
Nathan Binkert [Mon, 22 Dec 2003 22:51:14 +0000 (17:51 -0500)]
add support for simple character input via the system console

dev/alpha_access.h:
    -  use our standard types instead of this extra typedef
    -  advance the ALPHA_ACCESS version since the interface
    has changed.  *this means you need a new console binary*
    -  shuffle a couple things around to pack the data structure
    a bit better
    -  add a placeholder for character input
dev/alpha_console.cc:
    Clean up the read code path a bit and add support for character
    input via the console

    Clean up the write path and use a switch instead of a bunch of
    if statements

--HG--
extra : convert_revision : a1a5bc8fed9ec9c4c46548fdf79604661668b81a

21 years agoFix binary path in configs/kernel/base.ini.
Steve Reinhardt [Mon, 22 Dec 2003 16:47:55 +0000 (08:47 -0800)]
Fix binary path in configs/kernel/base.ini.

--HG--
extra : convert_revision : 13bd8234e8472bf693583f9b4090746cb57d55ae

21 years agoMerge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
Erik Hallnor [Mon, 22 Dec 2003 03:47:33 +0000 (22:47 -0500)]
Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5

--HG--
extra : convert_revision : 8f6f24d9c4ea5e3c12174fc0338cb441c45c8591

21 years agoAdd fully functional snooping to the hierarchy.
Erik Hallnor [Mon, 22 Dec 2003 03:43:48 +0000 (22:43 -0500)]
Add fully functional snooping to the hierarchy.

--HG--
extra : convert_revision : 928b6b8cb510c4b6c6ca649424769c3602b8f81e

21 years agoFix last patch to RTC initialization.
Steve Reinhardt [Sun, 21 Dec 2003 07:59:13 +0000 (23:59 -0800)]
Fix last patch to RTC initialization.
It's still the case that the default is to use a fixed time,
which was the main point of the last changeset.

--HG--
extra : convert_revision : be74d808112fd4d0324475de7739e58b51a23c81

21 years agoDefault RTC behavior is to set to Jan 1 2010 (midnight GMT),
Steve Reinhardt [Sun, 21 Dec 2003 04:17:18 +0000 (20:17 -0800)]
Default RTC behavior is to set to Jan 1 2010 (midnight GMT),
not current wall-clock time.

--HG--
extra : convert_revision : 6f61425ac065baa3ead13fb58e9dfa2ca7227ef1

21 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Sun, 21 Dec 2003 03:56:31 +0000 (19:56 -0800)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : 315f207185b418f41509210a35188be996c0eb0a

21 years agowe don't actually want to refer to the stable symlink because
Nathan Binkert [Sun, 21 Dec 2003 00:18:34 +0000 (19:18 -0500)]
we don't actually want to refer to the stable symlink because
we want to keep revision control of which system
we're referring to

*NOTE* this means that this file must manually be changed if
we move to a new system!

--HG--
extra : convert_revision : cf42b07a7e4bcab86ecc96a06ac0a9c8da8895a3

21 years agoupdate to reflect changes in the directory structure
Nathan Binkert [Sun, 21 Dec 2003 00:14:17 +0000 (19:14 -0500)]
update to reflect changes in the directory structure

--HG--
extra : convert_revision : 9368863275584a158313d6db52bfa6b744f7f040

21 years agoFix a bunch of memory leak type bugs, and add some better
Nathan Binkert [Sat, 20 Dec 2003 21:25:48 +0000 (16:25 -0500)]
Fix a bunch of memory leak type bugs, and add some better
checking in places to make sure stuff is behaving properly.

base/statistics.cc:
    separate the per stat check from the general stats check.
    We always want the general stuff to happen
base/statistics.hh:
    -  separate the per stat check from the general stats check.
    we always want the general stuff to happen
    -  make every stat check that its bin is at least initialized
    -  set the vector2d x and y coordinates in init to prevent an
    uninitialized memory access
test/Makefile:
    don't need sim_time.o to test stats
test/stattest.cc:
    don't make x and y the same on the 2d test so that we make
    sure that the two dimensions are correct

--HG--
extra : convert_revision : 81320325056ac1c09f6842474fb6ee3bcc030a8e

21 years agoMerge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
Erik Hallnor [Fri, 19 Dec 2003 23:33:54 +0000 (18:33 -0500)]
Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5

--HG--
extra : convert_revision : d7bdfa7ae3d1af113b6c4e22102c776b8d832659

21 years agom5.purify target
Nathan Binkert [Fri, 19 Dec 2003 17:49:33 +0000 (12:49 -0500)]
m5.purify target

--HG--
extra : convert_revision : 43e88cf2a583bffca08dacfe3c8511d8e9dd5833

21 years agoMerge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
Erik Hallnor [Fri, 19 Dec 2003 17:10:06 +0000 (12:10 -0500)]
Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5

--HG--
extra : convert_revision : a98c2e7e1d61e807e5824dff35b2ff4ee44e4ee8

21 years agoFix non-determinism on misspeculated uncached store conditionals.
Steve Reinhardt [Fri, 19 Dec 2003 16:10:53 +0000 (08:10 -0800)]
Fix non-determinism on misspeculated uncached store conditionals.

--HG--
extra : convert_revision : d0e986d540a1425a91d070ee9d29652a30c60b01

21 years agoMinor cleanup of trace/output stuff (leftover from EINTR bug fix).
Steve Reinhardt [Fri, 19 Dec 2003 16:04:40 +0000 (08:04 -0800)]
Minor cleanup of trace/output stuff (leftover from EINTR bug fix).

base/cprintf.cc:
    Get rid of unnecessary stream state check.
    Bug is fixed now, and I'm not sure this did much anyway.
cpu/exetrace.cc:
    Get rid of unnecessary flush() call.

--HG--
extra : convert_revision : 107dcdc578b2b0ad1652ee52ea0a33b0f3cd4e39

21 years agoMake stuff build on openbsd
Nathan Binkert [Fri, 19 Dec 2003 05:02:20 +0000 (00:02 -0500)]
Make stuff build on openbsd

arch/alpha/alpha_tru64_process.cc:
    So, I don't know why linux uses an off_t here.
    I'm also not sure why linux defines an off_t to be a long
    Let's just use long here since it works for linux, and that's
    what bsd does
base/inifile.cc:
    correct #include for OpenBSD
dev/disk_image.cc:
    the correct type for this is streampos

--HG--
extra : convert_revision : f3ac3a3b8515d66e07ffb9780d8a9e387297b6a0

21 years agoOkay, FULL_SYSTEM uses cpu_num
Erik Hallnor [Thu, 18 Dec 2003 04:43:19 +0000 (23:43 -0500)]
Okay, FULL_SYSTEM uses cpu_num

--HG--
extra : convert_revision : e5e5dc4e90cb1c2d41541c8f8840bdd78ab69682

21 years agoMerge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
Erik Hallnor [Thu, 18 Dec 2003 03:55:55 +0000 (22:55 -0500)]
Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5

--HG--
extra : convert_revision : 733941876ff0967b1e64c7aef11b81beed3fa9e8

21 years agoInitial probe checkin. Still need to write the snoopProbe functions for coherence...
Erik Hallnor [Thu, 18 Dec 2003 03:55:45 +0000 (22:55 -0500)]
Initial probe checkin. Still need to write the snoopProbe functions for coherence to work properly.

--HG--
extra : convert_revision : 1f4de96fe0339d7707cea42e96e463fbe11812e4

21 years agoRe-add code to handle following multitple chains that got removed when chain stuff...
Steve Raasch [Wed, 17 Dec 2003 20:31:51 +0000 (15:31 -0500)]
Re-add code to handle following multitple chains that got removed when chain stuff moved into dispatch

--HG--
extra : convert_revision : 263ecd450cda5205d368e0041614312e68901666

21 years agoAdd parameters to Segmented IQ
Steve Raasch [Wed, 17 Dec 2003 20:30:15 +0000 (15:30 -0500)]
Add parameters to Segmented IQ

--HG--
extra : convert_revision : 1993882ffafb918b735efb070a82313cfa14f1cc

21 years agoBe careful what you put inside an assert() !!!
Steve Raasch [Wed, 17 Dec 2003 20:27:23 +0000 (15:27 -0500)]
Be careful what you put inside an assert() !!!

--HG--
extra : convert_revision : 2d7ee1fd37ba0317d6e7cc6b27dcb942f001cc6e

21 years agoMiscellaneous minor fixes/improvements.
Steve Reinhardt [Wed, 17 Dec 2003 17:43:03 +0000 (09:43 -0800)]
Miscellaneous minor fixes/improvements.
Most notable is that the rundiff trace-output lossage is fixed!

base/pollevent.cc:
    Use SA_RESTART to keep blocked write() calls from failing
    with EINTR when signals happen.
base/trace.hh:
    Make TRACING_ON depend on NDEBUG not being set (instead of
    DEBUG being set) so m5.opt/m5.fast do what we want.
util/rundiff:
    Print header lines showing file/cmd names.

--HG--
extra : convert_revision : 4966814ad65aedb6d62a5a62a6ad3e3f326d61b8

21 years agoFix previously committed call_pal fix... the main problem was in the
Steve Reinhardt [Tue, 16 Dec 2003 19:46:52 +0000 (11:46 -0800)]
Fix previously committed call_pal fix... the main problem was in the
makefile, such that decoder.cc was not getting rebuilt.
Also add -fno-strict-aliasing to fix all the bizarre problems
I've been having with g++ 3.3.x.

arch/alpha/isa_desc:
    Fix compilation problems.  AlphaISA is a class now, not a namespace.

--HG--
extra : convert_revision : 1583cebc1258c57cbd286c1955d11648150fa1f4

21 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Tue, 16 Dec 2003 05:07:04 +0000 (21:07 -0800)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : dd887635c7ce74324b3670744461ffdf92e1dedf

21 years agoFixes for full-system call_pal instruction.
Steve Reinhardt [Tue, 16 Dec 2003 05:06:09 +0000 (21:06 -0800)]
Fixes for full-system call_pal instruction.

arch/alpha/alpha_memory.cc:
    Rename md_mode_type to mode_type.
arch/alpha/ev5.cc:
    simPalCheck() only gets called on correct path now, so
    there's no need to test misspeculating().
arch/alpha/isa_desc:
    Get privileged call_pall detection right this time (I hope).
    ExecContext::simPalCheck() and Annotate::Callpal() are now
    called only on non-speculative executions... this should fix
    the bogus pal-call stats we've been seeing (since these are
    incremented in simPalCheck()).
    Also check for invalid call_pall function codes.

--HG--
extra : convert_revision : 465d6724884007d3fa066d14cd5e6db0cd3954e1

21 years agoMinor enhancements to rundiff.
Steve Reinhardt [Tue, 16 Dec 2003 04:58:18 +0000 (20:58 -0800)]
Minor enhancements to rundiff.

util/rundiff:
    Dump buffered lines on loss of sync so we see where things went wrong.
    Also return proper exit code from checkmatch() function.

--HG--
extra : convert_revision : cd88064ee784a50b675bf3fededbb3901c3c266c

21 years agoAnother fix for gcc 3.3.x.
Steve Reinhardt [Tue, 16 Dec 2003 04:56:47 +0000 (20:56 -0800)]
Another fix for gcc 3.3.x.

base/statistics.hh:
    Make a couple of typedefs public rather than protected.
    g++ 3.3 complains otherwise.

--HG--
extra : convert_revision : 6a8e4edb0c39474c0e0c7bc474ad0f22b9fb8505

21 years agoAdd #define parameter and corresponding build option to
Steve Reinhardt [Tue, 16 Dec 2003 04:55:10 +0000 (20:55 -0800)]
Add #define parameter and corresponding build option to
disable FastAlloc.  Gcc 3.3.x appears to have a bug that
breaks FastAlloc when compiled with optimization.

base/fast_alloc.cc:
base/fast_alloc.hh:
    #define NO_FAST_ALLOC makes FastAlloc a no-op.

--HG--
extra : convert_revision : bf4bb8e963331c6782f2cfd475a811aa520e31b5

21 years agoAdd support for getting the hostname
Nathan Binkert [Mon, 15 Dec 2003 23:24:02 +0000 (18:24 -0500)]
Add support for getting the hostname

--HG--
extra : convert_revision : 498a950e574059eac2e3b1969880ecc04cf53f31

21 years agoClean up time handling code
Nathan Binkert [Mon, 15 Dec 2003 23:23:48 +0000 (18:23 -0500)]
Clean up time handling code

base/str.hh:
    this should really be inline
base/time.cc:
base/time.hh:
    clean up how the time class works.  Export only one, and let
    people calculate their own elapsed times, etc.
sim/main.cc:
    sim/sim_time.X -> base/time.X

--HG--
rename : sim/sim_time.cc => base/time.cc
rename : sim/sim_time.hh => base/time.hh
extra : convert_revision : f3888fe3a1fdd1022084c282b58407c631a6d9a0

21 years ago- Add a new target m5.fast (or just fast for short)
Nathan Binkert [Fri, 12 Dec 2003 00:22:03 +0000 (19:22 -0500)]
-  Add a new target m5.fast (or just fast for short)
-  make stuff compile with NDEBUG
-  remove the TRACE setup option since it isn't useful anymore

base/statistics.cc:
    Compile with -DNDEBUG

--HG--
extra : convert_revision : a75b3881be1513abb5915b6463c6cdc1f23a62e1

21 years agoMake memtest compile again.
Steve Reinhardt [Thu, 11 Dec 2003 16:46:21 +0000 (08:46 -0800)]
Make memtest compile again.

cpu/memtest/memtest.hh:
    Oops... make memtest compile with new event priorities too.

--HG--
extra : convert_revision : 8143f2e078bb785991d351803fc3a6a50aa31ae5

21 years agoMinor util/find-files fix.
Steve Reinhardt [Thu, 11 Dec 2003 16:30:35 +0000 (08:30 -0800)]
Minor util/find-files fix.

--HG--
extra : convert_revision : d71031993b996cd1a3c2e8749ba7ee7440176287

21 years ago- Switch events to use a priority enum instead of integers.
Steve Reinhardt [Thu, 11 Dec 2003 16:29:52 +0000 (08:29 -0800)]
- Switch events to use a priority enum instead of integers.
This lets us centralize priorities so we can see what's going on.
- Shift serialize & cpu-switch events to happen before CPU ticks (to be
consistent with starting new CPU on same cycle instead of next cycle).
- Get rid of unnecessary bus stats reset callback.

cpu/simple_cpu/simple_cpu.cc:
sim/debug.cc:
sim/eventq.hh:
sim/serialize.cc:
sim/sim_events.cc:
sim/sim_events.hh:
    Switch events to use a priority enum instead of integers.
    This lets us centralize priorities so we can see what's going on.

--HG--
extra : convert_revision : 510d79b43c0a1c97a10eb65916f7335b1de8b956

21 years agoStats & serialization tweaks & cleanup. Unserializing from
Steve Reinhardt [Thu, 11 Dec 2003 08:16:46 +0000 (00:16 -0800)]
Stats & serialization tweaks & cleanup.  Unserializing from
a checkpoint now gives identical results to running from scratch
and doing at switchover at the same cycle!
- CPUs start at cycle 0 again, not cycle 1.
- curTick is now serialized & unserialized.
- Stats get reset in main (before event loop).  Since this is done
after curTick is unserialized, simTicks gets set correctly for
running from a checkpoint.
- Simplify serialization to happen in a single pass.
- s/Serializeable/Serializable/

arch/alpha/isa_traits.hh:
dev/etherlink.hh:
sim/eventq.cc:
sim/eventq.hh:
    s/Serializeable/Serializable/
kern/tru64/tru64_system.cc:
sim/process.cc:
    Make initial CPU activation on cycle 0 again (not 1).
sim/main.cc:
    Reset stats before getting started.
    Make error message on falling out of event loop
    more meaningful.
sim/serialize.cc:
sim/serialize.hh:
    Get rid of now-useless initial pass; serialization is
    done in a single pass now.
    Serialize & unserialize curTick.
    Wrap curTick and mainEventQueue in a "globals" Serializable object.
    s/Serializeable/Serializable/
sim/sim_object.cc:
    Add static function to serialize all SimObjects.
sim/sim_object.hh:
    Add static function to serialize all SimObjects.
    s/Serializeable/Serializable/

--HG--
extra : convert_revision : 9dcc411d0009b54b8eb61c3a509680b81b9f6f68

21 years agoRename RegResetCallback to registerResetCallback().
Steve Reinhardt [Thu, 11 Dec 2003 01:49:41 +0000 (17:49 -0800)]
Rename RegResetCallback to registerResetCallback().
Add reset callback for bus (to fix idle cycles computation).

base/statistics.cc:
base/statistics.hh:
sim/sim_object.cc:
    Rename RegResetCallback to registerResetCallback().

--HG--
extra : convert_revision : c886c98143d4851f709ef95de3120b4494f8e4d2

21 years agoFactor ExecContext::setStatus(), BaseCPU::execCtxStatusChange(),
Steve Reinhardt [Thu, 11 Dec 2003 01:47:28 +0000 (17:47 -0800)]
Factor ExecContext::setStatus(), BaseCPU::execCtxStatusChange(),
and SimpleCPU::setStatus() into separate functions.  For example,
setStatus(Active) is now activate().

--HG--
extra : convert_revision : 4392e07caf6c918db0b535f613175109681686fe

21 years agoMinor fixes. Somehow do-tests.pl suddenly started failing
Steve Reinhardt [Wed, 10 Dec 2003 04:25:52 +0000 (20:25 -0800)]
Minor fixes.  Somehow do-tests.pl suddenly started failing
on test5 because of a wrong exit code; fixed that.

sim/main.cc:
    No need to ignore SIGPIPE, as far as I know.
sim/sim_events.cc:
    A CountedExitEvent is a normal termination, so
    should have an exit code of 0.

--HG--
extra : convert_revision : 8b5072aca54f3ca08b2815b73ac01c00e4da49b6

21 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Wed, 10 Dec 2003 00:43:54 +0000 (16:43 -0800)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : c8d6f2e6f590b7d1940b889bbec09e0e46f48c86

21 years agoMake the simulator compile on an Itanium.
Nathan Binkert [Tue, 9 Dec 2003 22:41:08 +0000 (17:41 -0500)]
Make the simulator compile on an Itanium.

base/hashmap.hh:
    Not all machines need these extra hash functions
    also make Counter int64_t since that's really what is needed

--HG--
extra : convert_revision : b5b5d65db157d01d76adbf4de4882b1516c9f2e7

21 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Tue, 9 Dec 2003 22:21:46 +0000 (14:21 -0800)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : c74b502bf44ac300e44c9aa7d6d6e3c55a511893

21 years agoMinor tweaks to make a switchover at tick N match
Steve Reinhardt [Tue, 9 Dec 2003 22:21:38 +0000 (14:21 -0800)]
Minor tweaks to make a switchover at tick N match
restarting from a checkpoint at tick N.

cpu/simple_cpu/simple_cpu.cc:
    On a CPU switchover, schedule the new CPU's first tick event
    for curTick+1 instead of curTick.

--HG--
extra : convert_revision : f0757d6f028214d36c1cff992db688fd6e8a6fdc

21 years agoGenerate a fault when a privileged PAL call is
Steve Reinhardt [Tue, 9 Dec 2003 22:19:35 +0000 (14:19 -0800)]
Generate a fault when a privileged PAL call is
executed in non-privileged (non-PAL) mode.

--HG--
extra : convert_revision : c8823a1eec27d801a1ed6110ade07354c4dd2a32

21 years agoSweeping change in the stats package....again...
Nathan Binkert [Tue, 9 Dec 2003 18:05:43 +0000 (13:05 -0500)]
Sweeping change in the stats package....again...

base/statistics.cc:
    -  Merge the m5 display and simplescalar compatible display functions.
    -  Use functors for the stats printing instead of functions.  This
    gets rid of the very long argument lists and improves clarity.
    -  Fix a bug in binning that caused an invalid allocation to occur.
base/statistics.hh:
    -  Instead of using a compile time variable to choose whether
    to print in ss compat mode, we use a runtime variable.
    This is how we'll choose python output.
    -  There are no more virtual functions in the statistics themselves.
    All virtual functions have been moved into a secondary helper class.
    Every stat has an associated helper class that knows how to access
    certain variables in that stat.
    There is a hash_map from the stat to it's helper class data.  This was
    done because the helper data is only used during setup, stats reset,
    and printing.  All of which happen rarely, and you want to avoid
    any performance hit that you can.
    -  To provide the name(), desc(), etc functions to classes so that the
    user can set various parameters to the stats class, a single class
    containing all of those functions was created.  An odd trick was
    done to actually make this class derive from the stat class because
    a base class with no data actually does end up taking up space.
    -  The detail namespace was removed for now.  I'll put it back when the
    package is not in so much flux.
    -  Standard deviation, and mean were added to all distribution stats.
    -  There are several bugfixes and changes that aren't mentioned
test/Makefile:
    Don't test sim_stats foo.
test/stattest.cc:
    Don't test sim_stats foo.
    Fix bin usage so that it corresponds to the current usage.

--HG--
extra : convert_revision : ce8d9a8d485a84d55799f253d851e83650684170

21 years agoRemove mostly-broken binning stuff from "get"
Steve Raasch [Mon, 8 Dec 2003 22:34:14 +0000 (17:34 -0500)]
Remove mostly-broken binning stuff from "get"
Add parser debugging command-line option

--HG--
extra : convert_revision : 2f8a450f11ed10c3d1a5e8e58232aa8f3e5994c2

21 years agoMerge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
Steve Raasch [Mon, 8 Dec 2003 22:13:18 +0000 (17:13 -0500)]
Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/y/sraasch/m5

--HG--
extra : convert_revision : 4e50e20af73d181de7365c9b77de78d70fcede8d

21 years agoFetch-loss now uses the stats package
Steve Raasch [Mon, 8 Dec 2003 22:12:45 +0000 (17:12 -0500)]
Fetch-loss now uses the stats package

--HG--
extra : convert_revision : c930a849e866177ceb67ec5db9444e8cfb4e0694

21 years agoInstead of keeping track of the fraction of time that we're
Nathan Binkert [Mon, 8 Dec 2003 19:01:48 +0000 (14:01 -0500)]
Instead of keeping track of the fraction of time that we're
idle, keep track of the fraction of time we're not idle.  This
works better because the default processor state is idle, and
the default stat value is 0.
Keep the stat as idleFraction which is a formula that is equal
to 1 - notIdleFraction

--HG--
extra : convert_revision : 331c2e46f45ae0abda46988567ac2c4f7c42ccad

21 years agomove setStatus into the .cc file
Nathan Binkert [Mon, 8 Dec 2003 18:15:18 +0000 (13:15 -0500)]
move setStatus into the .cc file

--HG--
extra : convert_revision : 9ccf885274d72ea3151a0db76b580dd51763edab

21 years agoVarious cleanup. Mostly forcing initialization of some fields...
Steve Reinhardt [Sat, 6 Dec 2003 17:57:59 +0000 (09:57 -0800)]
Various cleanup.  Mostly forcing initialization of some fields...
I noticed that checkpoints dumped from m5.debug and m5.opt had
differences, which is no longer the case (other than addresses
encoded in names).

cpu/full_cpu/smt.hh:
    Get rid of unused SMT_MAX_CPUS.
sim/debug.cc:
    Use AutoDelete for DebugBreakEvent.
sim/serialize.cc:
sim/serialize.hh:
    Move constructor & destructor to header so they can be inlined.

--HG--
extra : convert_revision : bc68c2c9b053b1de0d655ed555734419fafd0b83

21 years agoremote_gdb.cc:
Lisa Hsu [Fri, 5 Dec 2003 00:26:31 +0000 (19:26 -0500)]
remote_gdb.cc:
fix remote gdb

base/remote_gdb.cc:
    fix remote gdb

--HG--
extra : convert_revision : 886cad5037e2124e6087be03f2903f07aeed0679

21 years agoMinor fixes to the Segmented and Seznec IQ models
Steve Raasch [Wed, 3 Dec 2003 17:48:57 +0000 (12:48 -0500)]
Minor fixes to the Segmented and Seznec IQ models

--HG--
extra : convert_revision : c8f9dc0465da1b119d6cf7d4eb599f0a16a25c92

21 years agoFormatting & doxygen docs for new syscall emulation code.
Steve Reinhardt [Tue, 2 Dec 2003 06:39:27 +0000 (22:39 -0800)]
Formatting & doxygen docs for new syscall emulation code.

arch/alpha/alpha_linux_process.cc:
arch/alpha/alpha_linux_process.hh:
arch/alpha/alpha_tru64_process.cc:
arch/alpha/alpha_tru64_process.hh:
sim/syscall_emul.cc:
sim/syscall_emul.hh:
    Formatting & doxygen.

--HG--
extra : convert_revision : 4f07dd37e254120800dd0d5c0eb47acc9c00cb3f

21 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Tue, 2 Dec 2003 03:34:51 +0000 (19:34 -0800)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : d66ebc598fdcfc9477ea5a1e455b21d7b9e56936

21 years agoRestructuring of LiveProcess etc. to support multiple emulated OS syscall
Steve Reinhardt [Tue, 2 Dec 2003 03:34:38 +0000 (19:34 -0800)]
Restructuring of LiveProcess etc. to support multiple emulated OS syscall
interfaces, and specific support for Alpha Linux.  Split syscall emulation
functions into several groups, based on whether they depend on the specific
OS and/or architecture (and all combinations of above), including the use of
template functions to support syscalls with slightly different constants
or interface structs.

arch/alpha/alpha_tru64_process.cc:
    Incorporate full Tru64 object definition here, including structure and constant definitions.
    This way we can wrap all of the functions inside the object, and not worry about namespace
    conflicts because no one outside this file will ever see it.
base/loader/aout_object.cc:
base/loader/aout_object.hh:
base/loader/ecoff_object.cc:
base/loader/ecoff_object.hh:
base/loader/elf_object.cc:
base/loader/elf_object.hh:
base/loader/object_file.cc:
base/loader/object_file.hh:
    Add enums to ObjectFile to indicate the object's architecture and operating system.
cpu/exec_context.cc:
    prog.hh is now process.hh
cpu/exec_context.hh:
    prog.hh is now process.hh
    move architecture-specific syscall arg accessors into ExecContext
cpu/simple_cpu/simple_cpu.cc:
    No need to include prog.hh (which has been renamed)
sim/process.cc:
sim/process.hh:
    LiveProcess is now effectively an abstract base class.
    New LiveProcess::create() function takes an object file and dynamically picks the
    appropriate subclass of LiveProcess to handle the syscall interface that file expects
    (currently Tru64 or Linux).

--HG--
rename : arch/alpha/fake_syscall.cc => arch/alpha/alpha_tru64_process.cc
rename : sim/prog.cc => sim/process.cc
rename : sim/prog.hh => sim/process.hh
extra : convert_revision : 4a03ca7d94a34177cb672931f8aae83a6bad179a

21 years agoChange the way writebacks are handled to make probing easier. Minor fixes to get...
Erik Hallnor [Tue, 25 Nov 2003 23:11:48 +0000 (18:11 -0500)]
Change the way writebacks are handled to make probing easier. Minor fixes to get coherence-test to work again.

--HG--
extra : convert_revision : 86915c6651e72ca4cbf85111599e451237f74a71

21 years agoExtract documentation for all classes.
Erik Hallnor [Mon, 24 Nov 2003 20:46:39 +0000 (15:46 -0500)]
Extract documentation for all classes.

--HG--
extra : convert_revision : 17428b19a2230199a8ac79b7d8f727d58d3428ac

21 years agoget rid of the errors from simple-test1 and test1-6
Lisa Hsu [Sun, 23 Nov 2003 17:57:16 +0000 (12:57 -0500)]
get rid of the errors from simple-test1 and test1-6

base/statistics.cc:
    fix how some stats are printed to get rid of some of those pesky regression errors.  this does not fix all of them, just the unimportant ones.

--HG--
extra : convert_revision : 247675fd5bbb47e29c8c077a8d2b2996be1b7072

21 years agoGo Blue!!!!
Nathan Binkert [Sat, 22 Nov 2003 20:12:56 +0000 (15:12 -0500)]
Go Blue!!!!

base/statistics.hh:
    Simple formatting fixes

--HG--
extra : convert_revision : 608fe1c37f58426d65cb5ec172764a6b610be6c8

21 years agoMerge zizzer.eecs.umich.edu:/bk/m5
Nathan Binkert [Sat, 22 Nov 2003 20:09:30 +0000 (15:09 -0500)]
Merge zizzer.eecs.umich.edu:/bk/m5
into zans.eecs.umich.edu:/z/binkertn/research/m5/stats

--HG--
extra : convert_revision : cc1611895ad790cdaff75f752f10c048a5bff323

21 years agoWe only need to choose that we do want binning, or we don't.
Nathan Binkert [Sat, 22 Nov 2003 20:07:53 +0000 (15:07 -0500)]
We only need to choose that we do want binning, or we don't.
no need for multiple bin classes.  If multiple bins are needed, we
can always do it with ini type config instead.

kern/tru64/tru64_events.hh:
sim/system.cc:
sim/system.hh:
    No more GenBin always use MainBin

--HG--
extra : convert_revision : 8c466f302324c33b59d47d0da04583b2517fc72c

21 years agoMerge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
Erik Hallnor [Fri, 21 Nov 2003 04:03:42 +0000 (23:03 -0500)]
Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5

--HG--
extra : convert_revision : 184533b3ec794bdff49cd1a6b8f2814f7af4237c

21 years agofull_cpu.cc:
Lisa Hsu [Thu, 20 Nov 2003 13:06:33 +0000 (08:06 -0500)]
full_cpu.cc:
change name of numTicks to "numTicks" instead of "number of ticks" (which screws up scripts).

--HG--
extra : convert_revision : 9f68c5586743ea4c284609b405d5d9f23bd7cd49

21 years agoPass all the related information (the memreq) to the findBlock call. Working towards...
Erik Hallnor [Wed, 19 Nov 2003 21:41:41 +0000 (16:41 -0500)]
Pass all the related information (the memreq) to the findBlock call. Working towards not caring about block addresses anymore.

--HG--
extra : convert_revision : 5700b8e843cd97c9bf1793d81615e65f1cf1e1aa

21 years agoPass MemReqPtr by reference.
Erik Hallnor [Wed, 19 Nov 2003 21:40:05 +0000 (16:40 -0500)]
Pass MemReqPtr by reference.

--HG--
extra : convert_revision : 141d50bb0bb010cee38231ec7b7289fa834b37d5

21 years agoMove some MSHR typedefs into the class, transition from MSHRblah to MSHR::blah.
Erik Hallnor [Wed, 19 Nov 2003 20:26:14 +0000 (15:26 -0500)]
Move some MSHR typedefs into the class, transition from MSHRblah to MSHR::blah.

--HG--
extra : convert_revision : 4deb260e4374ca05f965cfc27169e838971d5e0f

21 years agomake the name consistent with what it does.
Nathan Binkert [Sat, 15 Nov 2003 17:32:36 +0000 (12:32 -0500)]
make the name consistent with what it does.

--HG--
extra : convert_revision : 34ad9362bfe8a80a4c4ed332f7254f99da51c015

21 years agoMake it so that we create a directory for each checkpoint so that
Nathan Binkert [Fri, 14 Nov 2003 06:19:16 +0000 (01:19 -0500)]
Make it so that we create a directory for each checkpoint so that
there aren't so many files littering your directory

dev/disk_image.cc:
    Checkpoints now in a directory
sim/serialize.hh:
    Make it so that we create a directory for each checkpoint so that
    there aren't so many files littering your directory.
    Remove unused variable

--HG--
extra : convert_revision : 261824eee62f7b68f6ae6e3dbd49ad5128ced148

21 years agostatistics.cc:
Nathan Binkert [Wed, 12 Nov 2003 20:23:31 +0000 (15:23 -0500)]
statistics.cc:
Only reactivate the original bin if it actually exists.

base/statistics.cc:
    Only reactivate the original bin if it actually exists.

--HG--
extra : convert_revision : e71ba0680d79ca439487a31d8f365429bff8c375

21 years agoin the case where we don't have any bins, we don't want to panic
Nathan Binkert [Wed, 12 Nov 2003 19:59:58 +0000 (14:59 -0500)]
in the case where we don't have any bins, we don't want to panic

--HG--
extra : convert_revision : e9056ca020d0f3db388b31a074b03e4d521f8705

21 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Wed, 12 Nov 2003 18:36:12 +0000 (10:36 -0800)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : bb9bba89ad0b25b0a4748bf46b714e2259321ad9