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
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
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
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
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
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
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
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
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
to sampling config files to allow for different periods of the server and client
systems.
--HG--
extra : convert_revision : ac4b6679266884d9bc3c20abb2a817f69873cc39
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
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
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
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
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
If pcap_lookupnet fails, just assume the netmask is 0xffffff00
that's all we really wanted from it anyway.
--HG--
extra : convert_revision : ac0a390ddb7a6b0a4e4c6d2885bfa7bd059faf36
Implement a new m5exit instruction with an optional delay
arch/alpha/isa_desc:
move m5exit to m5exit old. The old version of the
instruction is now deprecated
Implement the new exit instruction with the optional delay
sim/sim_events.cc:
sim/sim_events.hh:
Make SimExit take a cycle
sim/universe.cc:
provide ticksPerMS, ticksPerUS, and ticksPerNS so we don't
have to do math during the cycle
--HG--
extra : convert_revision : e2ed47a2e5cfcd57c82086c6fcb4a28bf801c214
to tell the simulator to do something.
exit -> exit_old (deprecated
exit now takes an optional parameter that tells it to execute at a
specified time in the future
The next four functions have two optional parameters. The first
specifies a delay for how long to wait to issue the instruction.
The second will tell the simulator to repeat that command
at the specified interval.
checkpoint will trigger a checkpoint
dumpstats will cause the simulator to dump stats
resetstats will cause all stats to be reset
dumpreset will dump and reset stats
all times are in nanoseconds
util/m5/Makefile:
Clean up to make it a bit easier to muck with
util/m5/m5.c:
Add a bunch of new commands and clean up the command parsing path
Convert atoi to strtoul so that we can use 64bit numbers and even
hex if we want to. (this runs on alpha, so a long is 64bit)
util/m5/m5op.h:
add prototypes for new m5 instructions
use uint64_t since it's nicer
--HG--
extra : convert_revision : 664ff00f0f0dfc5263c4e873d82fd9996a4521e9