Commit graph

91 commits

Author SHA1 Message Date
Steve Reinhardt
f47dcadfd8 Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : dd887635c7ce74324b3670744461ffdf92e1dedf
2003-12-15 21:07:04 -08:00
Steve Reinhardt
eb1cfea1aa 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
2003-12-15 20:56:47 -08:00
Steve Reinhardt
e537fb3fd6 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
2003-12-15 20:55:10 -08:00
Nathan Binkert
ce4aba3e54 Add support for getting the hostname
--HG--
extra : convert_revision : 498a950e574059eac2e3b1969880ecc04cf53f31
2003-12-15 18:24:02 -05:00
Nathan Binkert
ef659565ff 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
2003-12-15 18:23:48 -05:00
Nathan Binkert
3c6fc7c269 - 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
2003-12-11 19:22:03 -05:00
Steve Reinhardt
7e6dcd812c 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
2003-12-10 17:49:41 -08:00
Nathan Binkert
06aafccce7 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
2003-12-09 17:41:08 -05:00
Nathan Binkert
368de4109f 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
2003-12-09 13:05:43 -05:00
Lisa Hsu
b6c77fe6f8 remote_gdb.cc:
fix remote gdb

base/remote_gdb.cc:
    fix remote gdb

--HG--
extra : convert_revision : 886cad5037e2124e6087be03f2903f07aeed0679
2003-12-04 19:26:31 -05:00
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
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
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
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 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
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
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
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
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
Lisa Hsu
d7b25c8022 Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/bk/m5
--HG--
extra : convert_revision : 81a644bebf1b9fe11ac767c097c2d457c5698e73
2003-11-04 18:19:40 -05:00
Lisa Hsu
16d0b2f85a Hack to enable perl totaling of standard deviation statistics.
statistics.hh:
same
statistics.cc:
Hack to enable perl totaling.
make FancyDisplay print a total parameter to enable totaling standard deviations for bins after a run is over with perl.  currently a total hack.

base/statistics.cc:
    Hack to enable perl totaling.

    make FancyDisplay print a total parameter to enable totaling standard deviations for bins after a run is over with perl.  currently a total hack.
base/statistics.hh:
    same

--HG--
extra : convert_revision : c4087a138543e66acee4e395617ce7fd7e458a39
2003-11-04 18:19:03 -05:00
Nathan Binkert
293ee75117 Merge zizzer.eecs.umich.edu:/bk/m5
into zans.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : b4e94c075fdb58f6ac66aedf4f6a8f792988ed13
2003-11-04 17:43:57 -05:00
Nathan Binkert
247984bc22 A little bit of code here and there to get more access to
what the console output is.

base/circlebuf.hh:
base/circlebuf.cc:
    add stuff to spit to an ostream
    prepend _ in front of protected member variables
    formatting
dev/console.hh:
dev/console.cc:
    Add DPRINTF to spit out the lines of console data
dev/console.cc:
    little hack to append name() to the file so that we can
    easily get multiple output files.
dev/console.hh:
    TRACING_ON == 1 not defined(TRACING_ON)

--HG--
extra : convert_revision : bbe80715fb97ee4c4ed6b484955ef71289f09fc9
2003-11-04 17:43:41 -05:00
Lisa Hsu
94edf2de3f Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/bk/realclean
--HG--
extra : convert_revision : 32bbe481ee748785f0bcffb0a711017d51c987a0
2003-11-04 15:21:04 -05:00
Lisa Hsu
8834d91f21 statistics.cc:
on Database::reset(), reset all stats in every bin, not just current one.

base/statistics.cc:
    on Database::reset(), reset all stats in every bin, not just current one.

--HG--
extra : convert_revision : 0f3443b36ee00952810818a035c99267da8871d9
2003-11-04 15:20:58 -05:00
Lisa Hsu
553df008cf Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/bk/clean
--HG--
extra : convert_revision : 0074df284e85bc2ebe6ccc2dbe765fabda9ab041
2003-11-04 15:15:24 -05:00
Lisa Hsu
921b1ee87b Add the ability to track stats in user defined sets of function calls. code can be generated via the base/instrum_codegen.pl script to easily change the functions being tracked. the only thing the user needs to do is add code in tru64System to change how the callerMap is populated.
command line:

m5.* <config file> <args> --server.system:bin=true to track function calls in the server
m5.* <config file> <args> --client.system:bin=true to track function calls in the client

base/statistics.cc:
    make an adjustment to the way stats are printed for FS_MEASURE
base/statistics.hh:
    add a name() virtual function to GenBin.  add a debug printf for activate().
    add amake MainBin the default bin when FS_MEASURE.
cpu/exec_context.cc:
    initialize swCtx to null upon creation of an xc
cpu/exec_context.hh:
    add a SWContext pointer to every execution context.
cpu/simple_cpu/simple_cpu.cc:
    process calls and returns for FS_MEASURE
cpu/simple_cpu/simple_cpu.hh:
    add this so idleCycles will not be accessed before all stats are constructed
kern/tru64/tru64_events.cc:
    add a FnEvent that fires whenever a function we're tracking is called.  implement the process() virtual function for it.
kern/tru64/tru64_events.hh:
    add FnEvent
kern/tru64/tru64_system.cc:
    send bin parameter to System constructor.  add bin parameter to Tru64System object.  initialize all the FnEvent and MainBin members of Tru64system.  also, populate the calling map that indicates whether a function call is on the path we're tracking.
kern/tru64/tru64_system.hh:
    modify the Tru64System class to support FS_MEASURE
sim/system.cc:
    add a bin parameter to System class.  initialize a MainBin to hold the stats for nonPath.
sim/system.hh:
    add a map of to match bins to function names.  add a swCtx map to map pcb addresses to SWContext *s.  Add some supporting functions.

--HG--
extra : convert_revision : af3eadd798cb2d2aed9b54e1059dcedf244dd526
2003-11-04 15:15:12 -05:00
Steve Reinhardt
e4b52476bc Automerge
--HG--
extra : convert_revision : 2ca18ecbf04a1de72391073d0a5309fdbbdfefda
2003-11-03 20:35:05 -08:00
Steve Reinhardt
2ac054386d Print a warning rather than failing if we're unserializing and there's an
object in the config that was not in the checkpointed config.
This code compiles, but I haven't tested it... I'm committing it so Ron
can have it.  Should not effect anything that currently works.

base/inifile.cc:
base/inifile.hh:
    Add sectionExists() method so you can query whether a section exists
    without knowing any of the entry names that would be in it.
sim/serialize.cc:
sim/serialize.hh:
    Add Checkpoint::sectionExists() (pass through to IniFile).

--HG--
extra : convert_revision : 905db122afdfe55946ab8493ccac0b1e715bc7c6
2003-11-02 21:49:15 -08:00
Nathan Binkert
667cbb6690 Implement more m5 pseduo opcodes:
resetstats
dumpstats
dumpresetstats
m5checkpoint

Lots of cleanup of serialization and stats dumping/resetting to
work with these new instructions

arch/alpha/isa_desc:
    Implement more m5 pseduo opcodes:
    resetstats
    dumpstats
    dumpresetstats
    m5checkpoint

    All of these functions take two optional parameters, the first is a delay,
    and the second is a period.  The delay tells the simulator to wait the
    specified number of nanoseconds before triggering the event, the period
    tells the simulator to repeat the event with a specified frequency
base/statistics.cc:
base/statistics.hh:
    regReset RegResetCallback
dev/disk_image.cc:
    serializeFilename -> CheckpointFile()
sim/debug.cc:
    Move this debugging statement to sim_stats.cc
sim/eventq.cc:
    Don't AutoDelete an event if it is scheduled since the process()
    function could potentially schedule the event again.
sim/main.cc:
    DumpStatsEvent is now Statistics::SetupEvent(Dump, curTick)
sim/serialize.cc:
    Change the serialize event so that it's possible to cause the
    event to repeat.  Also make the priority such that the event
    happens just before the simulator would exit if both events
    were scheduled for the same cycle.

    get rid of the serializeFilename variable and provide a CheckpointFile()
    function.  This function takes a basename that is set in the
    configuration, and appends the current cycle to the name so that
    multiple checkpoints can be dumped from the same simulation.

    Also, don't exit the simulation when a checkpoint file is dumped.
sim/serialize.hh:
    serializeFilename -> CheckpointFile()
    SetupCheckpoint function to tell the simulator to prepare
    to checkpoint at a certain time with a certain period
sim/sim_events.cc:
    DumpStatsEvent stuff gets move to sim_stats.(cc|hh)
    The context stuff gets moved into the already existing
    stats context in stat_context.cc
sim/sim_events.hh:
    DumpStatsEvent stuff gets move to sim_stats.(cc|hh)
sim/universe.cc:
    Provide some simple functions for converting times into
    ticks.  These use floating point math to get as close as
    possible to the real values.  Multipliers are set up ahead
    of time

--HG--
extra : convert_revision : d06ef26a9237529a1e5060cb1ac2dcc04d4ec252
2003-11-02 18:02:58 -05:00
Lisa Hsu
249aaff329 statistics.hh:
add enum to Bin::VectorBin

base/statistics.hh:
    add enum to Bin::VectorBin

--HG--
extra : convert_revision : a05aef30ca85bf5c0d1f5155e1dff3fb34fd7777
2003-11-01 18:17:46 -05:00
Steve Reinhardt
dc8370852f Make error messages more informative on a non-full-system fault.
base/misc.cc:
    Add curTick to panic and warn messages.
    Reformat fatal message a bit for consistency.

--HG--
extra : convert_revision : 171da2fe6ca5e25982058ee1af67473292659103
2003-11-01 10:59:06 -08:00
Nathan Binkert
166def1f56 Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zans/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 3134761fa4c572a672558dfb6f9252aaef7b7062
2003-10-31 18:28:05 -05:00
Nathan Binkert
5341e1aa9e Make the to_number function work better.
base/str.cc:
    Make some fixes for the to_number function.
    Fix overflow calculation for maximum decimal value.
    (Note: minimum decimal value for signed numbers does not
    work correctly, e.g. it will overflow on -128 for a signed char
    though -127 will work)
    Fix overflow calculation for hex values being converted into
    signed types
    Fix up the debugging stuff a little to make sure the values are
    always printed as numbers.
test/strnumtest.cc:
    using namespace std for g++ 3

--HG--
extra : convert_revision : b00bb1296c85c3d64d8864283c9374e1563bfa31
2003-10-31 18:27:17 -05:00
Lisa Hsu
b5fc3af142 I forgot - also to typedef the default type of bin choice given to every visible stat type (NoBin or BinType). this way a little #define does it all for you.
statistics.hh:
add #includes needed for CeilPow2
statistics.cc:
rm unneeded #includes for CeilPow2

base/statistics.cc:
    rm unneeded #includes for CeilPow2
base/statistics.hh:
    add #includes needed for CeilPow2

--HG--
extra : convert_revision : 818028b276e97735a8b8d21d6514f41a80350514
2003-10-31 00:23:53 -05:00
Lisa Hsu
a5356bd75f statistics.hh:
oops - remove a debug printf

base/statistics.hh:
    oops - remove a debug printf

--HG--
extra : convert_revision : a6ecab93f79ce0a5cb6ff129750d8f6a2de8d38c
2003-10-30 19:20:18 -05:00
Lisa Hsu
2c451a0ad4 Make some general changes to stats package where things either could have been better or were just plain wrong.
statistics.hh:
fix a bug in binning that made bins a fixed size no matter what.  add GenBin class that is public but not templatized.
statistics.cc:
change map to statMap so others can use the map<> token without needing ::.  also, add a level of GenBin that is public base class for StatBin<>.

base/statistics.cc:
    change map to statMap so others can use the map<> token without needing ::.  also, add a level of GenBin that is public base class for StatBin<>.
base/statistics.hh:
    fix a bug in binning that made bins a fixed size no matter what.  add GenBin class that is public but not templatized.

--HG--
extra : convert_revision : 6976a891e414c9515cc5a613157f7cb86ef89008
2003-10-30 19:18:53 -05:00
Steve Raasch
9dac0d3c56 Add support for serialization
--HG--
extra : convert_revision : ff6c93ee2f4e6aeb5a824958c52f62d6c2a1cdfd
2003-10-30 15:15:27 -05:00
Steve Raasch
101aa8090a Add support for serialization
base/pollevent.hh:
    Add queued() member function to indicate if this event has been queued

--HG--
extra : convert_revision : bebb04dc8e10c1043e55e0036806bd1ca4fec167
2003-10-30 11:47:21 -05:00
Steve Reinhardt
2f8d858e13 Get rid of lots of obsolete mentions of stat_sdb_t.
base/predictor.hh:
base/sat_counter.hh:
sim/param.hh:
    Get rid of spurious references to stat_sdb_t.

--HG--
extra : convert_revision : 0018a940c69b6e31b85fd85354b9d5ce2fd0aa6f
2003-10-29 22:22:03 -08:00
Erik Hallnor
5c8423b5dd Clear up doxygen warnings and serialize ScsiCtrl. We probably shouldn't decfine functions using type defs ala "RegFile" instead of "AlphaISA::RegFile".
base/inifile.hh:
    Document findAppend

--HG--
extra : convert_revision : ab5047590b3ca2a9126b75351e4902d300b5b5ad
2003-10-29 16:25:08 -05:00
Nathan Binkert
13bcf233f1 Add an append= keyword that works in a somewhat similar way to
default=.  In the append= case, when looking up an entry, it also
looks in the section named by the append= for something to append
to the entry

--HG--
extra : convert_revision : b51915094ad3ca151d7f241c29e19b6b29d3a3c0
2003-10-26 22:42:45 -05:00
Nathan Binkert
ff7b6892bc Add the directory where the ini file was found into the #include
search path

--HG--
extra : convert_revision : 9a6bceb931613b718bf5a561b354ba9ccb847a78
2003-10-25 18:19:32 -04:00
Steve Reinhardt
f5da73b688 Initial support for CPU switching. New SamplingCPU object encompasses a set
of CPUs that get switched round-robin (though currently we're only shooting for
two CPUs and one switch event, and even that doesn't quite work yet).  Registration
of ExecContexts with System/Process object factored out so we can create two CPUs
but only register one of them at a time.  Also worked at making behavior and naming
in System and Process objects more consistent.

arch/alpha/ev5.cc:
    Rename ipr_init to initIPRs and get rid of unused mem arg.
arch/alpha/fake_syscall.cc:
    Process:numCpus is now a function (not a data member).
base/remote_gdb.hh:
    Support for ExecContext switching.
cpu/base_cpu.cc:
cpu/base_cpu.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/simple_cpu/simple_cpu.hh:
    Support for ExecContext switching.
    Renamed contexts array to execContexts to be consistent with Process.
    CPU ID now auto-assigned by system object.
cpu/simple_cpu/simple_cpu.cc:
    Support for ExecContext switching.
    Renamed contexts array to execContexts to be consistent with Process.
    CPU ID now auto-assigned by system object.
    Cleaned up MP full-system initialization a bit.
dev/alpha_console.cc:
    Renamed xcvec array to execContexts to be consistent with Process.
kern/tru64/tru64_system.cc:
kern/tru64/tru64_system.hh:
    Support for ExecContext switching.
    CPU ID now auto-assigned by system object.
sim/prog.cc:
sim/prog.hh:
    Support for ExecContext switching.
    Process:numCpus is now a function (not a data member).
sim/system.cc:
sim/system.hh:
    Support for ExecContext switching.
    Renamed xcvec array to execContexts to be consistent with Process.

--HG--
extra : convert_revision : 79649cffad5bf3e83de8df44236941907926d791
2003-10-23 19:07:52 -07:00
Steve Reinhardt
73b050a541 Minor stats fix.
base/statistics.cc:
    Small fix: don't exit early out of dist when nozero is set and a zero val is found.

--HG--
extra : convert_revision : 95ba3328c8a79f05f4c821d99071dba10f013ad6
2003-10-23 18:53:16 -07:00