Commit graph

377 commits

Author SHA1 Message Date
Steve Reinhardt 745f0044cd Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : d66ebc598fdcfc9477ea5a1e455b21d7b9e56936
2003-12-01 19:34:51 -08:00
Steve Reinhardt 7976794aad 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
2003-12-01 19:34:38 -08:00
Erik Hallnor 5b24b5a5c5 Change the way writebacks are handled to make probing easier. Minor fixes to get coherence-test to work again.
--HG--
extra : convert_revision : 86915c6651e72ca4cbf85111599e451237f74a71
2003-11-25 18:11:48 -05:00
Erik Hallnor 6f1fa02f51 Extract documentation for all classes.
--HG--
extra : convert_revision : 17428b19a2230199a8ac79b7d8f727d58d3428ac
2003-11-24 15:46:39 -05:00
Lisa Hsu c02fc7e99f 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
2003-11-23 12:57:16 -05:00
Nathan Binkert 55a7490a11 Go Blue!!!!
base/statistics.hh:
    Simple formatting fixes

--HG--
extra : convert_revision : 608fe1c37f58426d65cb5ec172764a6b610be6c8
2003-11-22 15:12:56 -05:00
Nathan Binkert 713e2b12e4 Merge zizzer.eecs.umich.edu:/bk/m5
into zans.eecs.umich.edu:/z/binkertn/research/m5/stats

--HG--
extra : convert_revision : cc1611895ad790cdaff75f752f10c048a5bff323
2003-11-22 15:09:30 -05:00
Nathan Binkert d1e12b57ce 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
2003-11-22 15:07:53 -05:00
Erik Hallnor d760ca18ab Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : 184533b3ec794bdff49cd1a6b8f2814f7af4237c
2003-11-20 23:03:42 -05:00
Lisa Hsu e5eb961274 full_cpu.cc:
change name of numTicks to "numTicks" instead of "number of ticks" (which screws up scripts).

--HG--
extra : convert_revision : 9f68c5586743ea4c284609b405d5d9f23bd7cd49
2003-11-20 08:06:33 -05:00
Erik Hallnor 3e57b99ad6 Pass all the related information (the memreq) to the findBlock call. Working towards not caring about block addresses anymore.
--HG--
extra : convert_revision : 5700b8e843cd97c9bf1793d81615e65f1cf1e1aa
2003-11-19 16:41:41 -05:00
Erik Hallnor 24061d5bff Pass MemReqPtr by reference.
--HG--
extra : convert_revision : 141d50bb0bb010cee38231ec7b7289fa834b37d5
2003-11-19 16:40:05 -05:00
Erik Hallnor 65ea19b6f5 Move some MSHR typedefs into the class, transition from MSHRblah to MSHR::blah.
--HG--
extra : convert_revision : 4deb260e4374ca05f965cfc27169e838971d5e0f
2003-11-19 15:26:14 -05:00
Nathan Binkert 92348c503c make the name consistent with what it does.
--HG--
extra : convert_revision : 34ad9362bfe8a80a4c4ed332f7254f99da51c015
2003-11-15 12:32:36 -05:00
Nathan Binkert 123d0294b5 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
2003-11-14 01:19:16 -05:00
Nathan Binkert 0bd909277d 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
2003-11-12 15:23:31 -05:00
Nathan Binkert 74aaf2401c in the case where we don't have any bins, we don't want to panic
--HG--
extra : convert_revision : e9056ca020d0f3db388b31a074b03e4d521f8705
2003-11-12 14:59:58 -05:00
Steve Reinhardt 94f98b43b3 Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : bb9bba89ad0b25b0a4748bf46b714e2259321ad9
2003-11-12 10:36:12 -08:00
Steve Reinhardt 166bb3fff4 Change setup scheme to split base configurations from configuration options.
Completely backward compatible except for setup file locations.
See comment in setup script for more details.

--HG--
extra : convert_revision : 4e4a28bcbe36e0c6fd688dd133274bb80ae442f5
2003-11-12 10:35:48 -08:00
Erik Hallnor 790d1da2fa Merge ehallnor@zizzer:/bk/m5
into zizzer.eecs.umich.edu:/y/ehallnor/work/m5

--HG--
extra : convert_revision : 7835ada99c5ff47a9013d2827311a24e1447ac16
2003-11-12 11:59:04 -05:00
Erik Hallnor d41cf8bd24 Create a compressed cache if there is a compressed bus or data should be stored compressed
--HG--
extra : convert_revision : eade8951bed25a222e5e1ee370d431ec5c0a200d
2003-11-12 11:58:56 -05:00
Steve Reinhardt bfed4de8f4 Add config for simple purely functional simulation (no caches).
--HG--
extra : convert_revision : e2466d051e67d76e841416deeb95974c8f9516fe
2003-11-12 08:41:09 -08:00
Steve Reinhardt 0a7f82da7d Rewrite getdirentries to replace SS-derived version.
--HG--
extra : convert_revision : 72eced315bbb331d3068279e60f1f0a390eb687a
2003-11-12 08:40:32 -08:00
Steve Reinhardt 7651e19cd1 Minor enhancements to rundiff script.
util/rundiff:
    Make sure Algorithm::Diff is loaded only if you need it
    (so it's ok if you don't have it installed).
    Add command-line options for things you might want to change:
    - diff algorithm
    - # of context lines
    - # of lines of lookahead

--HG--
extra : convert_revision : b3ba02e1816eee286f47eb28ab578fa4734bac3a
2003-11-09 20:36:54 -08:00
Steve Reinhardt ebaecd1b6c Setup to build with gcc 3.3.2.
--HG--
extra : convert_revision : 27e73ded6c1a2089427391bfdf1afa1f020ba14f
2003-11-09 10:39:44 -08:00
Steve Reinhardt ba0672a2e2 ISCA hack is for FULL_SYSTEM only.
--HG--
extra : convert_revision : a90fec583e6147bda8023da7f405aeecdb469128
2003-11-09 10:03:33 -08:00
Steve Raasch e8a682c3c4 Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/y/sraasch/new_head

--HG--
extra : convert_revision : 05dbe5ff1097b16430b647e599e56c556683c026
2003-11-07 17:49:50 -05:00
Steve Raasch 4ff3843027 updates for the new stats format
--HG--
extra : convert_revision : 7da435e2369a0ab4647f033e9ce16125ac7b9302
2003-11-07 17:45:59 -05:00
Steve Raasch 541598bc6f It's important that there be white-space between each element
of a printed statistics line.

base/statistics.cc:
    Add spaces between printed elements

--HG--
extra : convert_revision : edcc9460fa178c39f7e3c15b3bad866ef9b263e4
2003-11-07 08:35:55 -05:00
Nathan Binkert 7f7dcf4e1f add a couple of hacks to get thigns going for ISCA
arch/alpha/pseudo_inst.hh:
    Give temporary access of these functions to full cpu junk
    (this is a hack!)

--HG--
extra : convert_revision : 35499d6bf03b1c21dc918ccc09a6d21719262120
2003-11-07 05:06:22 -05:00
Lisa Hsu 22679d3da8 Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/bk/m5
--HG--
extra : convert_revision : 60b307d827220ba76b607d3f18d4fa00ab3fb1d5
2003-11-07 01:39:17 -05:00
Nathan Binkert 40820042f1 save and restore the current bin during reset since we
should continue in whatever bin we were in.

--HG--
extra : convert_revision : 30a891ccb03afa0c1dd0c98942ab3ea5ba800660
2003-11-07 01:24:49 -05:00
Lisa Hsu c5da35e8d5 add a numTicks stat to detailed cpu.
--HG--
extra : convert_revision : 91ba6216d4d309670b2366729b8bcf1ddc4d2198
2003-11-07 01:03:26 -05:00
Lisa Hsu a03221b6ca track the idle_thread() function in the kernel, so that we can know if we are idle during a run.
kern/tru64/tru64_system.cc:
    autogen for new tracked function

    add to fn name map
kern/tru64/tru64_system.hh:
    autogen

--HG--
extra : convert_revision : 322d54df3070824a039085dc3742660c82cf750d
2003-11-07 00:14:38 -05:00
Lisa Hsu 3a99657c8f change the path that i track from two separate paths to one.
kern/tru64/tru64_system.cc:
    the automatic generated code...
    also, change the way i populate the map.  now, instead of tcp_ouput being
    the head of its own path, put it under tcp_sosend, which is under sosend.
kern/tru64/tru64_system.hh:
    automatically generatd changes

--HG--
extra : convert_revision : 005bac336a3088e32b3b5fcc5e72afd80f7f1934
2003-11-06 23:18:47 -05:00
Nathan Binkert 7ec4f7d211 Quick hack to make the simulator exit after the last period.
--HG--
extra : convert_revision : 54c9ae025539aaadf5b2cc79a6ba3e3602938356
2003-11-06 20:34:45 -05:00
Ron Dreslinski 7c01c2e210 "remove SWContext * from map when it is context switched in"
--HG--
extra : convert_revision : 5c58046c36edce07ae8ffc14f1e889e614bfc271
2003-11-06 20:08:45 -05:00
Ron Dreslinski 5138fa008d Make sure to serialize the bool that signifies a pending interrupt
--HG--
extra : convert_revision : c614b3432077ccf8b138549be827edce7e50cd43
2003-11-06 18:47:33 -05:00
Erik Hallnor 850a6a8eff Merge ehallnor@zizzer:/bk/m5
into zizzer.eecs.umich.edu:/y/ehallnor/work/m5

--HG--
extra : convert_revision : de8422f1e91f1defabe3a021236c813504bd3cab
2003-11-06 18:40:08 -05:00
Erik Hallnor aead4c315b Various fixes to memory code.
cpu/memtest/memtest.cc:
    Disable probes until the work in all cases
util/rundiff:
    Comment out Algorithm::Diff since its not needed.

--HG--
extra : convert_revision : 40e76ae8926650986a170a0ba6ef331519aceb19
2003-11-06 18:39:26 -05:00
Steve Raasch 9915bd17c2 Nat's fix for compile bug
base/statistics.hh:
    Too many "const"'s

--HG--
extra : convert_revision : b38303f2e6b415e6bcc520da80e89d99b6976d23
2003-11-06 12:57:06 -05:00
Nathan Binkert 07d56ae7be better binning of Average stats
base/statistics.hh:
    Try to make binning of Average statistics work a little better.
    This solution is far from perfect though since we really need
    to call set(p.current, p) when the binning takes place.

    To fix the binning, we need to have the current value non-binned,
    to do that, we make make the current value part of the Params struct.
    This means that we can't pass around const Params structs

    Maybe we need a binswap callback :/

--HG--
extra : convert_revision : c2892387dbabe011bdcd6f0d99005c1c50653720
2003-11-06 02:28:27 -05:00
Nathan Binkert 655e9ef3de Little fixes to make more of the stats reset correctly.
base/statistics.cc:
    formatting
cpu/simple_cpu/simple_cpu.cc:
cpu/simple_cpu/simple_cpu.hh:
    Make numInsts reset by adding a resetStats function
sim/sim_object.cc:
    Register the reset callback in a slightly cleaner way to avoid
    potential static member constructor ordering issues

--HG--
extra : convert_revision : 408073b4b0397fbf9dfd9c548a313f1c8c3fc031
2003-11-06 00:41:14 -05:00
Lisa Hsu 22658f2098 Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/bk/m5
--HG--
extra : convert_revision : 99fc513b9154a180711dc2229dcba488d45fe71d
2003-11-05 23:38:57 -05:00
Lisa Hsu 9020491833 add things to track read and soo_read for specweb.
kern/tru64/tru64_events.cc:
    don't need this - it was commented out anyway.
kern/tru64/tru64_system.cc:
    generated code from instrum_codegen.pl  also, populateMap with the correct orderings.
kern/tru64/tru64_system.hh:
    generated code from instrum_codegen.pl

--HG--
extra : convert_revision : 237366a4bae31a07dfc245d090a704afd2bd4833
2003-11-05 23:38:51 -05:00
Nathan Binkert f2881c752e Ok, actually call resetStats on all stats
minor gratuitous cleanup in printAllExtraOutput.
(only create one end iterator)

Fix average stats reset

base/statistics.hh:
    Shouldn't reset average stats this way.  The current stat value
    should stay the same.
sim/sim_object.cc:
    Ok, actually call resetStats on all stats
    minor gratuitous cleanup in printAllExtraOutput.
    (only create one end iterator)

--HG--
extra : convert_revision : 13090ebe490a93757b8eb7d7c6a9697983095e41
2003-11-05 21:17:13 -05:00
Nathan Binkert b064b8a6fd Add a virtual function resetStats() that any SimObject can inherit
from that will get called any time stats are reset.

sim/sim_object.cc:
sim/sim_object.hh:
    add a virtual function resetStats that any simObject can reset
    when a statistics reset is initiated

--HG--
extra : convert_revision : fdad673142f6ff811f84c246d80e5d41e3c9d4d1
2003-11-05 18:21:18 -05:00
Nathan Binkert 9471a4d20f Fix stats reset
make SIGUSR2 dump and reset stats
Make resetting time work

base/statistics.cc:
    Fix statistics reset so that it works again, and correctly
    reset bins as well.  (The old code wouldn't reset if you didn't
    have any bins, and then would actually only reset the first
    bin)
cpu/simple_cpu/simple_cpu.cc:
cpu/simple_cpu/simple_cpu.hh:
    convert idleCycles/idleFraction into a single Average stat
    to make reset work more simply
sim/main.cc:
    handle SIGUSR2 to dump and reset stats
    (SIGUSR1 only dumps them)
sim/sim_time.cc:
sim/sim_time.hh:
    Add support for resetting the time

--HG--
extra : convert_revision : ea43e03c50c0a4bb826dc0842a8c4fa1a9289e0a
2003-11-05 17:57:41 -05:00
Steve Raasch 74fd8b1ad1 fix equations
add averaging mechansim for binning

--HG--
extra : convert_revision : 2b84ba97b0a016008937a134461af4d46198843f
2003-11-05 15:37:21 -05:00
Steve Raasch 3dc30283cf Fix for minor oops found by insure
--HG--
extra : convert_revision : 3b0d4242bcbb188ac649bd96ca876e1475c60214
2003-11-05 12:51:54 -05:00