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
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
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
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
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
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
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
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
base/statistics.hh:
- use a typedef to get at bin_t
- clean up template declaration
- public access to typedefs
--HG--
extra : convert_revision : 0650c5a1cba51c7af04790498af0d354884be0ee
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
- 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
- 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
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
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
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
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
base/cprintf.cc:
Get rid of unnecessary stream state check.
Bug is fixed now, and I'm not sure this did much anyway.
cpu/exetrace.cc:
Get rid of unnecessary flush() call.
--HG--
extra : convert_revision : 107dcdc578b2b0ad1652ee52ea0a33b0f3cd4e39
arch/alpha/alpha_tru64_process.cc:
So, I don't know why linux uses an off_t here.
I'm also not sure why linux defines an off_t to be a long
Let's just use long here since it works for linux, and that's
what bsd does
base/inifile.cc:
correct #include for OpenBSD
dev/disk_image.cc:
the correct type for this is streampos
--HG--
extra : convert_revision : f3ac3a3b8515d66e07ffb9780d8a9e387297b6a0
Most notable is that the rundiff trace-output lossage is fixed!
base/pollevent.cc:
Use SA_RESTART to keep blocked write() calls from failing
with EINTR when signals happen.
base/trace.hh:
Make TRACING_ON depend on NDEBUG not being set (instead of
DEBUG being set) so m5.opt/m5.fast do what we want.
util/rundiff:
Print header lines showing file/cmd names.
--HG--
extra : convert_revision : 4966814ad65aedb6d62a5a62a6ad3e3f326d61b8
makefile, such that decoder.cc was not getting rebuilt.
Also add -fno-strict-aliasing to fix all the bizarre problems
I've been having with g++ 3.3.x.
arch/alpha/isa_desc:
Fix compilation problems. AlphaISA is a class now, not a namespace.
--HG--
extra : convert_revision : 1583cebc1258c57cbd286c1955d11648150fa1f4
arch/alpha/alpha_memory.cc:
Rename md_mode_type to mode_type.
arch/alpha/ev5.cc:
simPalCheck() only gets called on correct path now, so
there's no need to test misspeculating().
arch/alpha/isa_desc:
Get privileged call_pall detection right this time (I hope).
ExecContext::simPalCheck() and Annotate::Callpal() are now
called only on non-speculative executions... this should fix
the bogus pal-call stats we've been seeing (since these are
incremented in simPalCheck()).
Also check for invalid call_pall function codes.
--HG--
extra : convert_revision : 465d6724884007d3fa066d14cd5e6db0cd3954e1