new experiment: ecos_kernel_test

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1426 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
chb
2012-07-05 14:37:38 +00:00
parent 48a83137fa
commit 596f4c0644
9 changed files with 1050 additions and 0 deletions

View File

@ -0,0 +1,57 @@
message EcosKernelTestProtoMsg {
// Input: experiment parameters
// (client executes 8 experiments, one for each bit at mem_addr)
// FI at #instructions from experiment start
required int32 instr_offset = 1;
// the exact IP value at this point in time (from golden run)
optional int32 instr_address = 2; // for sanity checks
// address of the byte to inject bit-flips
required int32 mem_addr = 3;
// ----------------------------------------------------
// Output: experiment results
// IP where we did the injection: for debugging purposes, must be identical
// to instr_address
optional int32 injection_ip = 4;
repeated group Result = 5 {
// single experiment bit offset
required int32 bit_offset = 1;
// result type:
// FINISHED = planned number of instructions were executed
// TRAP = premature guest "crash"
// OUTSIDE = IP left text segment
enum ResultType {
FINISHED = 1;
TRAP = 2;
OUTSIDE = 3;
DETECTED = 4;
TIMEOUT = 5;
UNKNOWN = 6;
}
required ResultType resulttype = 2;
// especially interesting for TRAP/UNKNOWN: latest IP
required uint32 latest_ip = 3;
// test results
enum EcosTestResultType {
PASS = 1;
FAIL = 2;
}
required EcosTestResultType ecos_test_result = 4;
// was finish() ever reached?
optional bool finish_reached = 5;
// did ECC correct the fault?
optional int32 error_corrected = 6;
// optional textual description of what happened
optional string details = 7;
}
}