Commit graph

38 commits

Author SHA1 Message Date
Steve Reinhardt 4e65e25e25 util: fix apparent statetrace bug
In the process of trying to eliminate boolean comparisons,
I ran across this statement that appears to be a bug
(should have been an assignment).
2016-02-06 17:21:20 -08:00
Steve Reinhardt 5592798865 style: fix missing spaces in control statements
Result of running 'hg m5style --skip-all --fix-control -a'.
2016-02-06 17:21:19 -08:00
Steve Reinhardt dc8018a5c3 style: remove trailing whitespace
Result of running 'hg m5style --skip-all --fix-white -a'.
2016-02-06 17:21:18 -08:00
Ali Saidi 48f7fda706 ARM: Add vfpv3 support to native trace. 2011-05-04 20:38:26 -05:00
Nathan Binkert 39a055645f includes: sort all includes 2011-04-15 10:44:06 -07:00
Gabe Black 441ab29820 Statetrace: Stub out the missing i386 version of sendState. 2011-03-02 22:53:11 -08:00
Gabe Black 9d2650792f Statetrace: Rename i386 to i686.
--HG--
rename : util/statetrace/arch/i386/tracechild.cc => util/statetrace/arch/i686/tracechild.cc
rename : util/statetrace/arch/i386/tracechild.hh => util/statetrace/arch/i686/tracechild.hh
2011-03-02 22:53:11 -08:00
Gabe Black 3bcd77ddef Statetrace: Fix the i686 detection macro. 2011-03-02 22:53:11 -08:00
Gabe Black 16d997840a Statetrace: Use sys/user.h instead of linux/user.h. 2011-03-02 22:53:11 -08:00
Gabe Black d7a47af12d Statetrace: Tweak the help for the -nt option. 2011-03-02 22:53:11 -08:00
Gabe Black eab89a09d2 Statetrace: Accomodate cross compiling statetrace with scons.
--HG--
rename : util/statetrace/arch/tracechild_amd64.cc => util/statetrace/arch/amd64/tracechild.cc
rename : util/statetrace/arch/tracechild_amd64.hh => util/statetrace/arch/amd64/tracechild.hh
rename : util/statetrace/arch/tracechild_arm.cc => util/statetrace/arch/arm/tracechild.cc
rename : util/statetrace/arch/tracechild_arm.hh => util/statetrace/arch/arm/tracechild.hh
rename : util/statetrace/arch/tracechild_i386.cc => util/statetrace/arch/i386/tracechild.cc
rename : util/statetrace/arch/tracechild_i386.hh => util/statetrace/arch/i386/tracechild.hh
rename : util/statetrace/arch/tracechild_sparc.cc => util/statetrace/arch/sparc/tracechild.cc
rename : util/statetrace/arch/tracechild_sparc.hh => util/statetrace/arch/sparc/tracechild.hh
rename : util/statetrace/tracechild_arch.cc => util/statetrace/base/arch_check.h
rename : util/statetrace/regstate.hh => util/statetrace/base/regstate.hh
rename : util/statetrace/statetrace.cc => util/statetrace/base/statetrace.cc
rename : util/statetrace/tracechild.cc => util/statetrace/base/tracechild.cc
rename : util/statetrace/tracechild.hh => util/statetrace/base/tracechild.hh
2011-03-02 22:53:11 -08:00
Gabe Black 9151c4039a Statetrace: Convert the build to scons. 2011-03-02 22:53:11 -08:00
Gabe Black db090ea139 Statetrace: Allow the user to override CXX. 2011-03-02 22:53:11 -08:00
Gabe Black 43eda1f285 Statetrace: Get rid of explicit register name handling. 2011-03-02 22:53:10 -08:00
Gabe Black 3c19e45a68 Statetrace: Kill the printer functionality in statetrace. 2011-03-02 22:53:10 -08:00
Gabe Black 3df970f0de Statetrace: Clean up style. 2011-03-02 22:53:10 -08:00
Ali Saidi d3a519ef0c ARM: Fixup native trace support and add some v7/recent stack code 2010-06-02 12:58:17 -05:00
Gabe Black d75ad847b3 Statetrace: Fix compile problems with the AMD64 version of statetrace. 2010-05-02 00:39:46 -07:00
Gabe Black e09ae149af Statetrace: Make sure the current state is loaded to print the initial stack frame.
The early call to child->step() was removed earlier because it confused the
new differences-only protocol ARM sendState() was using. It's necessary that
that gets called at least once before attempting to print the initial stack
frame, though, because otherwise statetrace doesn't know what the stack
pointer is. By putting the first call to child->step() in a common spot, both
needs are met.
2009-07-29 00:35:49 -07:00
Gabe Black 873112ea99 ARM: Make sure the target process doesn't run away from statetrace. 2009-07-29 00:14:43 -07:00
Gabe Black 52b4a7c36f ARM: Only send information that changed between statetrace and M5. 2009-07-27 00:54:30 -07:00
Gabe Black 1ad4de2528 imported patch statetracehost.patch 2009-07-27 00:54:04 -07:00
Ali Saidi 081b6fe9db ARM: Add ARM support to statetrace. 2009-07-27 00:53:39 -07:00
Gabe Black 6835dbce34 Statetrace: Fix up headers. 2009-07-27 00:53:32 -07:00
Nathan Binkert 8d2e51c7f5 includes: sort includes again 2009-05-17 14:34:52 -07:00
Gabe Black 26044dca33 X86/StateTrace: Make m5 and statetrace track mmx and xmm registers, and actually compare xmm.
--HG--
extra : convert_revision : 02c6641200edb133c9bc11f1fdf3c1a0b1c87e77
2007-09-04 23:39:57 -07:00
Gabe Black e85144bff2 Statetrace: Make statetrace do string instructions all at once like m5 does.
--HG--
extra : convert_revision : 2103029077450e46f70077066708255310963d9d
2007-08-07 15:27:54 -07:00
Gabe Black a88f01c200 Statetrace: Make sure all the info block strings are printed.
--HG--
extra : convert_revision : 534b4f5cee3fd1a6d3638d9a910d22ad1aa81fde
2007-08-01 15:40:41 -07:00
Gabe Black b4087e0e44 Statetrace: Make statetrace patch amd64 executables for true single stepping after system calls.
Because of peculiarities in how system calls are returned from, single stepping executes some system calls and the instruction following them in a single step. Statetrace now patches the executable image when it detects a system call to force "correct" behavior, aka the appearance of stepping one instruction every single time.

--HG--
extra : convert_revision : ac6243a2e00ff98f827b005efd27b4dc5be4f774
2007-07-29 12:37:35 -07:00
Gabe Black c52e28a4d9 Statetrace: Print the correct address of auxiliary vectors.
The address of the stackpointer proceeding the vector minus 8 should be minus 16.

--HG--
extra : convert_revision : 648f01e9753e28391fc8d282bd9fe2bd47a0193f
2007-07-29 01:29:53 -07:00
Gabe Black 4903b549e7 Statetrace: Implement the AMD64 version of TraceChild.
--HG--
extra : convert_revision : cde33fefe46dc05e9b4ea785a4df6b78ac57ccd5
2007-07-28 20:36:35 -07:00
Gabe Black fa968da296 Statetrace: Fix indendation. Set the default hostname to "localhost" instead of my machine at UM.
--HG--
extra : convert_revision : f268c04e39fd384e0ac17253faae2233b58e9373
2007-07-28 20:35:33 -07:00
Gabe Black 77f712cdb6 Statetrace: Fix compilation problem.
--HG--
extra : convert_revision : 7f501de99e5389dc3a4172654d7cbe32ed811259
2007-07-28 20:34:17 -07:00
Gabe Black b33f4623ab Update to statetrace. This will break it, but I want to make sure it gets into mercurial.
--HG--
extra : convert_revision : 6960d2f728c85e99e32bf9b752e45b3cb5e30e3e
2007-03-15 06:10:50 -04:00
Gabe Black 9b72ff8290 Fixing statetrace to work with 32 bit SPARC processes, as well as rewritting it's single stepping code.
--HG--
extra : convert_revision : 69b1668a850519ab98b02c525ec41ff727eb6036
2007-03-05 20:54:20 -05:00
Gabe Black 76c07ea46b Cleaned up the function a bit to help route out bugs.
--HG--
extra : convert_revision : db9a526bddc8634cea63b42b882f580806066db5
2006-10-19 14:57:06 -04:00
Gabe Black bb2ab310eb Fixed up exetrace.cc to deal with microcode, and to made floating point register numbers correlate to the numbers used in SPARC in m5 and statetrace.
src/cpu/exetrace.cc:
    Fixed up to deal with microcode, and to make floating point register numbers correlate to the numbers used in SPARC.
util/statetrace/arch/tracechild_sparc.cc:
util/statetrace/arch/tracechild_sparc.hh:
    Make floating point register numbers correlate to the numbers used in SPARC.

--HG--
extra : convert_revision : 878897292f696092453cf61d6eac2d1c407ca13b
2006-10-18 20:52:34 -04:00
Gabe Black b7d0395126 Adding what was tracedump but is now statetrace to the tree. Let me know if statetrace is also already taken.
util/statetrace/Makefile:
    Makefile to build statetrace. Targets are:

    statetrace: alias to build using the "native" compiler
    statetrace-native: use the native compiler
    statetrace-sparc: use the sparc cross compiler

    I'll make this a little more fancy and capable later.
util/statetrace/arch/tracechild_i386.cc:
    Implementation of i386 support
util/statetrace/arch/tracechild_i386.hh:
    Declaration of i386 support
util/statetrace/arch/tracechild_sparc.cc:
    implementation of SPARC support
util/statetrace/arch/tracechild_sparc.hh:
    declaration of SPARC support
util/statetrace/printer.cc:
    Implementation of the "Printer" objects which parse and output the state of the process after each instruction. There are currently two types of printers, nested ones and register ones. These are called NestingPrinter and RegPrinter respectively.
util/statetrace/printer.hh:
    Declaration of "Printer" objects
util/statetrace/refcnt.hh:
    This is copied from m5. I should use the one already in the tree, but I'll do that later.
util/statetrace/regstate.hh:
    Interface for accessing registers.
util/statetrace/statetrace.cc:
    Main file with argument parsing and the "main" function which contains the tracing loop.
util/statetrace/tracechild.cc:
    Implementation of the base tracechild class.
util/statetrace/tracechild.hh:
    Declaration of the base tracechild class.
util/statetrace/tracechild_arch.cc:
    This file hooks in support for the appropriate architecture. Just the implementation is brought in, since the main program should ideally not have to know anything at all about an architecture other than it's interface.
util/statetrace/x86.format:
    An example output template for x86. A few example SPARC templates will be added later.

--HG--
extra : convert_revision : 7c8bf8230907aba42ed1e707b9ca2d6da0d4e6d4
2006-09-17 03:46:30 -04:00