Commit Graph

17 Commits

Author SHA1 Message Date
4e3c9e3758 sal: CPU now knows extended trace registers
The extended trace register list is needed in multiple locations; the CPU
class is the logical module to contain this information.

Increased number of x86 registers to be traced; we can remove those
that prove unusable for fault-space pruning later on.

Change-Id: Ic46ecdbc55167a6d92872c190317fc0d1a3ad92d
2013-08-27 13:38:40 +02:00
2a37a03069 plugins/tracing: use fixed dereference size of 4
When recording a "full" trace (register values, plus dereferenced
values), we use a fixed dereference size of 4 bytes.

Change-Id: Ifbf6730377e7df2e7f1fc1e6b91bc114ccf10fbc
2013-07-03 13:46:55 +02:00
e5fe9dd525 core/sal: interface for backend-specific notion of time
This adds an interface for a backend-specific notion of time, e.g. CPU
cycles since simulator start, and a concrete implementation for the
Bochs backend.  This is needed to record CPU idle times (e.g., HLT
instruction), and for target backends capable of more timing-accurate
execution.

This change also modifies the tracing plugin to add the time to all
trace events.

Change-Id: I93ac1d54c07f32b0b8f84f333417741d8e9c8288
2013-04-10 13:00:49 +02:00
f18cddc63c DatabaseCampaign: abstract campain for interaction with MySQL Database
The DatabaseCampaign interacts with the MySQL tables that are created
by the import-trace and prune-trace tools. It does offer all
unfinished experiment pilots from the database to the
fail-clients. Those clients send back a (by the experiment) defined
protobuf message as a result. The custom protobuf message does have to
need the form:

   import "DatabaseCampaignMessage.proto";

   message ExperimentMsg {
       required DatabaseCampaignMessage fsppilot = 1;

       repeated group Result = 2 {
          // custom fields
          required int32 bitoffset = 1;
          optional int32 result = 2;
       }
   }

The DatabaseCampaignMessage is the pilot identifier from the
database. For each of the repeated result entries a row in a table is
allocated. The structure of this table is constructed (by protobuf
reflection) from the description of the message. Each field in the
Result group becomes a column in the result table. For the given
example it would be:

    CREATE TABLE result_ExperimentMessage(
           pilot_id INT,
           bitoffset INT NOT NULL,
           result INT,
           PRIMARY_KEY(pilot_id)
    )

Change-Id: I28fb5488e739d4098b823b42426c5760331027f8
2013-04-02 09:52:42 +02:00
72a021be38 misc cleanup, comments, whitespace, gitignore
Change-Id: I6250339ddc5807879c98da2d204418e7b4898a73
2013-03-27 17:37:03 +01:00
4e8098a636 plugin/tracing: merge full-tracing plugin into generic version
The full-tracing plugin was used in the DSN paper. It additionally
traces the data that was accessed/written on a memory access and the
contents of some CPU registers.

Change-Id: I61f5230699009ce523aba341985b98148160556d
2013-03-21 17:11:51 +01:00
1eb8ac6870 Bugfix: missing header added
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1832 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-25 12:36:56 +00:00
hsc
26ff3552f2 consistent indentation
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1775 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-19 17:52:22 +00:00
hsc
c9f1a5dbb8 bugfix: tracing plugin compiles again
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1742 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-12 09:41:59 +00:00
hsc
d983aecf73 added missing dependencies on protobuf library
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1672 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-20 17:22:05 +00:00
hsc
f9c96ddf2d prefix internal libraries to avoid naming conflicts with system libraries
This is a precaution to avoid current and future naming conflicts with
common system libraries.  libutil (part of libc) is the first, but probably
not the last example that already caused trouble twice.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1614 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 07:52:30 +00:00
chb
67254191c8 Undo refactoring (in TracingPlugin) of MemAccessEvent::MEM_READ
* MemAccessListener::MEM_READ does not exist, should it?
 * Adrian, please review this commit and fix it if needed

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1473 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-06 14:04:21 +00:00
41ef24747b SerialOutput-plugin update
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1458 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-19 13:10:52 +00:00
39a82218cc new plugin serialoutput
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1452 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-13 13:49:22 +00:00
2076d21e61 Experiment updates due to last commit.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1449 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-12 10:45:39 +00:00
hsc
031c7fc749 not all feature dependencies are mandatory
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1327 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-12 15:13:02 +00:00
2575604b41 Fail* directories reorganized, Code-cleanup (-> coding-style), Typos+comments fixed.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1321 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-08 20:09:43 +00:00