Commit graph

469 commits

Author SHA1 Message Date
Steve Reinhardt 946b481831 Set LIBELF_LINUX to 0 to build on zax. Builds
but did not test... however the only thing this
affects in libelf is the header, so I don't expect
any functional problems.

base/loader/elf_object.cc:
    Set LIBELF_LINUX to 0 to build on zax.

--HG--
extra : convert_revision : d024b33deff6fc8ea6f1d465f76dc8d9d63254ab
2004-01-20 13:53:18 -05:00
Nathan Binkert c9f2aa8c18 Make each stat take up one full line. This allows us to use grep
to find and remove stats from the files so we can put less
burden on the python interpreter.

base/statistics.cc:
    Manually insert newlines into the python code so that we now have one
    stat per line.  (Make it so we can use grep -v to remove stats)
test/stattest.cc:
    update to reflect changes in how python is accessed

--HG--
extra : convert_revision : 554edcf9c795b33d00d3d15554447c8accebebfa
2004-01-15 16:33:58 -05:00
Nathan Binkert 81575e74e7 Make the python stats script more robust
--HG--
extra : convert_revision : a7680d5cdeac96345e8f521cfb96fccaa3e7a7f6
2004-01-15 14:29:34 -05:00
Nathan Binkert 454d10554a Make dump cycle relative
--HG--
extra : convert_revision : 3434f60fa08d1543358c1209be8a5cfbe43a53bf
2004-01-15 14:29:09 -05:00
Steve Reinhardt 8fd48f5eb0 Update simple-* configs to Erik's new hierarchy parameter thing.
--HG--
extra : convert_revision : de591f6ecfc9a0a20caefb4b82084d1b2ef3433b
2004-01-14 22:50:12 -08:00
Steve Reinhardt 9f2aae4e28 Fixes and cleanup to elf loader code.
base/loader/elf_object.cc:
    - Use program header instead of section headers for loading.
    The old code doesn't work for Alpha/Linux user binaries.

    - Deal properly with single-segment ELF executables (e.g. kernels)...
    haven't tested this but it looks like it matches the functionality
    of the patch the L4::Pistachio guys sent.

    - Factor load symbol code into one common function.

    - Some formatting to match style conventions.

    - Only include libelf stuff in .cc file, not .hh.
base/loader/elf_object.hh:
    - Use program header instead of section headers for loading.
    The old code doesn't work for Alpha/Linux user binaries.

    - Factor load symbol code into one common function.

    - Only include libelf stuff in .cc file, not .hh.

--HG--
extra : convert_revision : 782062d09d43083b01e65cd645c941f49c27640a
2004-01-14 22:30:16 -08:00
Erik Hallnor fe32fdece2 Merge codebases for CompressedMemBank and SimpleMemBank into one templatized class
--HG--
extra : convert_revision : 04feb72fc4edbbbe1b37b7f618c9fbcbc8a72358
2004-01-14 16:14:15 -05:00
Nathan Binkert 276dbac7ce Use the new init phase to initialized the switch event
so that we can make the first switch time relative.

--HG--
extra : convert_revision : c81beba2e1bd8629d6c7b386bb213980434030ec
2004-01-14 02:06:35 -05:00
Nathan Binkert 5d7224cc92 Setup initialization callbacks
--HG--
extra : convert_revision : ec56a839a0489c5494bfcd9ead0fc3866f1e8ac2
2004-01-14 02:00:20 -05:00
Erik Hallnor e650870c15 update for new hierarchy parameters
--HG--
extra : convert_revision : a65f77d6ab704609d9c2ae2c85d4f893fa198cf9
2004-01-13 15:23:54 -05:00
Erik Hallnor 003d2d724c Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : 52437e42f15899db46525ad91b2e43c2a96ace36
2004-01-13 02:10:48 -05:00
Erik Hallnor 413bfc68e6 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
2004-01-13 02:10:35 -05:00
Nathan Binkert 4cda5224f6 - quick support for using a regular expression to select
which stats to print
- print out the subname

--HG--
extra : convert_revision : 2960bd33654e55fe0f6279b09dce42b1216188c8
2004-01-12 18:39:39 -05:00
Nathan Binkert 308153665d Commit the correct version of the code
--HG--
extra : convert_revision : 74555b2676fe20d4a742a272b6c97e3a8a237d68
2004-01-12 15:45:51 -05:00
Nathan Binkert b1295a7317 make the python stuff executable
--HG--
extra : convert_revision : 04c9ff03880f55483466e56109536b74d9163ccd
2004-01-12 13:38:37 -05:00
Nathan Binkert 8384f25620 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
2004-01-12 13:31:59 -05:00
Nathan Binkert b4301c652c Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : bff2fb78e205f327ce8d04f3ae1b2352857ab824
2004-01-11 21:22:33 -05:00
Steve Reinhardt f8ed615bc6 Minor cleanup to bk ignore and makefile libelf rule.
--HG--
extra : convert_revision : 77dd858344a74dea15bb36bcb0de04f3af9260f3
2004-01-11 15:26:48 -08:00
Steve Reinhardt 510eef0fa0 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
2004-01-11 15:24:18 -08:00
Steve Reinhardt 7e07aa9300 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
2004-01-11 15:09:27 -08:00
Ali Saidi 54b6d8c5a8 the build directory is now correctly created
--HG--
extra : convert_revision : 4a7b91821e2de64e400417f8ac503af7e596571d
2004-01-08 22:42:21 -05:00
Ali Saidi 98613950a3 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
2004-01-08 16:35:47 -05:00
Ali Saidi e7033f718f should now build... fixed relative path problem
--HG--
extra : convert_revision : 78c9445993a84b68be1b0a477555246f1ea6ce0c
2004-01-08 14:13:31 -05:00
Nathan Binkert a3691fe09e Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : b7411b25ae9e3a546996aec59e1a67cbe728da85
2004-01-08 12:25:49 -05:00
Ali Saidi 14b4119aaf 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
2004-01-07 19:46:45 -05:00
Nathan Binkert 9dcfdce732 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
2003-12-28 12:48:13 -05:00
Erik Hallnor 85d75e6dfc Add a uni-directional bus bridge
--HG--
extra : convert_revision : 37d30638eb0d988fc1089c7945f535e2979ca8e4
2003-12-28 00:41:47 -05:00
Nathan Binkert 55d94ba2e8 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
2003-12-24 03:25:36 -05:00
Nathan Binkert 3f5ca9e5e8 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
2003-12-24 02:35:33 -05:00
Nathan Binkert 4bdf46c819 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
2003-12-24 02:25:26 -05:00
Nathan Binkert 2b2c8388a2 formatting for consistency
--HG--
extra : convert_revision : f859244880dcc2be9424edaac0c73adfd467221e
2003-12-24 02:22:43 -05:00
Nathan Binkert 263886bc83 more readable formatting
--HG--
extra : convert_revision : 99bd142099482dbd04645a0f44ac63d2467b883c
2003-12-24 02:17:20 -05:00
Nathan Binkert fad8b13add 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
2003-12-24 01:45:56 -05:00
Nathan Binkert 9908987f15 never print the cdf or pdf or the overflow bucket if we're simplescalr
--HG--
extra : convert_revision : 921ad80a5c671fee9eab3f389636dccc101d18f6
2003-12-24 00:22:02 -05:00
Nathan Binkert a95d8e95cb - 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
2003-12-23 23:53:43 -05:00
Nathan Binkert 8f912297ab - 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
2003-12-23 21:45:48 -05:00
Nathan Binkert 42621e497d Make it so you can override CC and CXX
--HG--
extra : convert_revision : 104febf47752f31b4e1b6c400fb040ed108bc331
2003-12-23 20:59:30 -05:00
Nathan Binkert ce0396c19e Make this compile with NDEBUG defined
--HG--
extra : convert_revision : 37105cc901d7d10cee31bded926683a81577cdd2
2003-12-23 14:54:12 -05:00
Nathan Binkert 318e0c93ed 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
2003-12-22 17:51:14 -05:00
Steve Reinhardt c3ba166e65 Fix binary path in configs/kernel/base.ini.
--HG--
extra : convert_revision : 13bd8234e8472bf693583f9b4090746cb57d55ae
2003-12-22 08:47:55 -08:00
Erik Hallnor ecd3ecb4f5 Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : 8f6f24d9c4ea5e3c12174fc0338cb441c45c8591
2003-12-21 22:47:33 -05:00
Erik Hallnor e249a54e4c Add fully functional snooping to the hierarchy.
--HG--
extra : convert_revision : 928b6b8cb510c4b6c6ca649424769c3602b8f81e
2003-12-21 22:43:48 -05:00
Steve Reinhardt 918c5d27ab 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
2003-12-20 23:59:13 -08:00
Steve Reinhardt 3fdeebac24 Default RTC behavior is to set to Jan 1 2010 (midnight GMT),
not current wall-clock time.

--HG--
extra : convert_revision : 6f61425ac065baa3ead13fb58e9dfa2ca7227ef1
2003-12-20 20:17:18 -08:00
Steve Reinhardt 126d810d13 Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : 315f207185b418f41509210a35188be996c0eb0a
2003-12-20 19:56:31 -08:00
Nathan Binkert 51286f22b1 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
2003-12-20 19:18:34 -05:00
Nathan Binkert 2a720ee99d update to reflect changes in the directory structure
--HG--
extra : convert_revision : 9368863275584a158313d6db52bfa6b744f7f040
2003-12-20 19:14:17 -05:00
Nathan Binkert 520442b01a 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
2003-12-20 16:25:48 -05:00
Erik Hallnor f182f7a2ee Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : d7bdfa7ae3d1af113b6c4e22102c776b8d832659
2003-12-19 18:33:54 -05:00
Nathan Binkert 598a240733 m5.purify target
--HG--
extra : convert_revision : 43e88cf2a583bffca08dacfe3c8511d8e9dd5833
2003-12-19 12:49:33 -05:00