Commit graph

340 commits

Author SHA1 Message Date
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
Steve Raasch 7297f76bcf Fix initialization bug. No apparent change in external behavior.
--HG--
extra : convert_revision : b884f2fcba51b36520dd55110d225f83e6f5280a
2003-11-05 11:29:23 -05:00
Nathan Binkert f2b6ecdfeb This is M5!
dev/console.cc:
    Simplescalar -> m5

--HG--
extra : convert_revision : c559258c68b5cae6862718240958171e1258ee2b
2003-11-04 23:45:06 -05:00
Ron Dreslinski f6b71f1e98 Properly serialize the clock event
--HG--
extra : convert_revision : f61234d150cf1cf6ed87d79e71c75f2fa2108b74
2003-11-04 19:19: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
Andrew Schultz ab799a6830 Added setup-spec and setup-specweb scripts to modify spec, specweb, and
specwebssl run parameters

--HG--
extra : convert_revision : 169b97eba6c1c5694de22957119f532958950dec
2003-11-04 16:20:35 -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
Nathan Binkert a7635fa6ef fix type! argh
dev/etherlink.cc:
    int -> Tick

--HG--
extra : convert_revision : 33c45ea306e6532b91d84018702b220b25de463e
2003-11-04 12:48:21 -05:00
Steve Reinhardt e4b52476bc Automerge
--HG--
extra : convert_revision : 2ca18ecbf04a1de72391073d0a5309fdbbdfefda
2003-11-03 20:35:05 -08:00
Steve Reinhardt 02795babaf Fix bugs in and expand syscall emulation code.
arch/alpha/fake_syscall.cc:
    Fix a couple of bugs:
    - error return codes weren't making it through due to inadvertent cast to unsigned
    - sigreturn broken in not one but two ways
    - make all file descriptors look like plain files (not ttys)
    Added implementations of setuid, getgid, fcntl, and getdirentries from Dave Oehmke

--HG--
extra : convert_revision : 53d3f13e1b05e3bde9e68ada3774ca39fa4c0d4c
2003-11-03 20:31:15 -08:00
Steve Reinhardt 40b9a3878a Minor changes to instruction trace output.
arch/alpha/isa_desc:
    A few disassembly changes to make it easier to compare with old machine.def traces:
    - Make lds prefetches print f31 instead of r31 as dest.
    - Don't print mode suffixes on FP if SS_COMPATIBLE_DISASSEMBLY
cpu/exetrace.cc:
    Left-justify instruction in field, and increase width by 1.

--HG--
extra : convert_revision : 9ffd56728f1bb772aa3ccda5f027b93d4c3a4135
2003-11-03 20:26:51 -08:00
Andrew Schultz 29474bdf02 Fix unserialize issues with etherdev (used to leave junk as callbacks which
would segfault)

--HG--
extra : convert_revision : 3b99b507c2df576622b9304215010bbfecedf8f1
2003-11-03 18:40:09 -05:00
Nathan Binkert 959f0b228b Merge zizzer.eecs.umich.edu:/bk/m5
into zans.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 2029fb26a8c971a791161c9e24dfdc1135f3aaf8
2003-11-03 16:47:53 -05:00
Nathan Binkert c55e6b495e Make it so the quiesce instruction is conditionally enabled
arch/alpha/isa_desc:
    move the quiesce instruction out of here so I can conditionally
    enable it.
arch/alpha/pseudo_inst.cc:
    conditionally enable quiesce
arch/alpha/pseudo_inst.hh:
    add quiesce

--HG--
extra : convert_revision : e1c474c4bf8761ff58073785d82b2bec9f632885
2003-11-03 16:47:08 -05:00
Ron Dreslinski ea233ee2aa Fix sampling cpu switchover of suspended contexts, and make some changes
to sampling config files to allow for different periods of the server and client
systems.

--HG--
extra : convert_revision : ac4b6679266884d9bc3c20abb2a817f69873cc39
2003-11-03 16:43:59 -05:00
Andrew Schultz ad8c0da4a4 Fix etherdev so it serializes txPacket and rxPacket and fixes up the DmaRequest
correctly and remove previous serialization of DmaPhys

--HG--
extra : convert_revision : 65e919ceb573a7554c07947951a74ae321f0f4c0
2003-11-03 16:29:32 -05:00
Andrew Schultz c23eb836d5 Added serialization for DmaPhys structs and serialize DmaRequest::phys
--HG--
extra : convert_revision : 04f36fc5e6636c08ccb04d244a44017c7d0969ac
2003-11-03 14:33:02 -05:00
Ron Dreslinski 2d265afed2 Fix unserialize so that it still gos through the entire tree,
but warns if it doesn't find a section.  Used to stop if a section
didn't exist, but it's children might still exist.

--HG--
extra : convert_revision : d3f511b69bec26a80cb004d83c385df3de13f004
2003-11-03 12:17:55 -05:00
Ron Dreslinski 7eb9683cc1 Fix segfault from unserialization, add system_sample as a configuration
--HG--
extra : convert_revision : 41604400cb4b334dcffded44b77fa63658d8b096
2003-11-03 11:03:13 -05: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
Ron Dreslinski 34c8821970 Merge zizzer:/m5/Bitkeeper/m5
into zamp.eecs.umich.edu:/amd/brio/y/rdreslin/m5bk/unclean

--HG--
extra : convert_revision : e142f9ad3528027accf9e03366357c006a9a1857
2003-11-02 23:20:50 -05:00
Nathan Binkert 491fb95919 ok, let's get this right
arch/alpha/pseudo_inst.cc:
    yes is not a real value, use true

--HG--
extra : convert_revision : 30b998ae6f13641d70c9158777a12b00df8742fe
2003-11-02 22:12:20 -05:00
Nathan Binkert c307c22257 Fix a bug in the pseudo instruction context
arch/alpha/pseudo_inst.cc:
    Don't forget the descriptions

--HG--
extra : convert_revision : f208ea24d5b34283e962916cb4c7dff976406285
2003-11-02 21:58:23 -05:00
Ron Dreslinski 34c1ae0e5d Merge zizzer:/m5/Bitkeeper/m5
into zamp.eecs.umich.edu:/amd/brio/y/rdreslin/m5bk/unclean

--HG--
extra : convert_revision : e388676c83f75c5f19d58b5ed42d41942ff5e2cb
2003-11-02 20:56:41 -05:00
Nathan Binkert 136ee73a58 Add the option to ignore some of the pseudo instructions
--HG--
extra : convert_revision : 2010782749ca9c5dd029f71480956b8a1fa96394
2003-11-02 20:52:40 -05:00
Nathan Binkert d76445f9f3 Move the m5 pseudo instructions into their own file
arch/alpha/isa_desc:
    Move the pseudo instructions out of the isa_desc, into their own
    file and call out to them when they're to be accessed
sim/sim_events.cc:
sim/sim_events.hh:
sim/sim_exit.hh:
    move SimExit to sim_exit.cc

--HG--
extra : convert_revision : 1c393adb1c18bd0fef065057d7f4e9cf60ac4197
2003-11-02 20:43:39 -05:00
Ron Dreslinski d666d02b0b Merge zizzer:/m5/Bitkeeper/m5
into zamp.eecs.umich.edu:/amd/brio/y/rdreslin/m5bk/unclean

--HG--
extra : convert_revision : 40b955025db858628804bca3d0a155813ea81bf7
2003-11-02 19:38:51 -05:00
Ron Dreslinski 34620649de General fixes for Sampling CPU in full system mode, and serialization of sampling CPU
cpu/intr_control.cc:
    Fix the reference to the cpu, to look up which cpu is being used
    In sampling mode can't use an absolute pointer to the cpu, use the
    exeContexts vector
cpu/intr_control.hh:
    Add two new functions to simplify MP interrupts, fix it for sampling CPU model

--HG--
extra : convert_revision : a69cdbb81e6aefa3fd5385416713c689300bbea8
2003-11-02 19:38:22 -05:00
Steve Raasch f0e2c80829 Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/y/sraasch/head

--HG--
extra : convert_revision : f63c01cd6e002028879925e4c2c051de038f5e44
2003-11-02 19:29:28 -05:00
Steve Raasch c6ffba9fa2 Add binning support
--HG--
extra : convert_revision : edb922d3a4422cedc5c0c7efbac7124b5184165f
2003-11-02 19:29:14 -05: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
Nathan Binkert 3e87070209 Prevent make from being smart about sccs
--HG--
extra : convert_revision : d9fdb32c87c8511aace91850867fc00d00855fe6
2003-11-02 13:05:14 -05:00