nanojpeg: campaign work-in-progress

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1778 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
hsc
2012-10-19 17:52:31 +00:00
parent e8c12b4580
commit 2b5a2161df
7 changed files with 373 additions and 11 deletions

View File

@ -0,0 +1,56 @@
message NanoJPEGProtoMsg {
// Input: experiment parameters
// (client executes one experiment for every specified bit in the target register)
// 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
// ID of the register to inject faults into
required int32 register_id = 3;
// first bit to inject a flip into
required int32 bit_start = 4;
// last bit to inject a flip into (inclusive)
required int32 bit_end = 5;
// timeout in ms
required int32 timeout = 6;
// ----------------------------------------------------
// Output: experiment results
// IP where we did the injection: for debugging purposes, must be identical
// to instr_address
optional int32 injection_ip = 8;
repeated group Result = 9 {
// single experiment bit number
required int32 bitnr = 1;
// result type:
// FINISHED = planned number of instructions were executed
// BROKEN = finished, but resulting image is broken (dimensions)
// TRAP = premature guest "crash"
// OUTSIDE = IP left text segment
// TIMEOUT = none of the above happened for /timeout/ ms
enum ResultType {
FINISHED = 1;
BROKEN = 2;
TRAP = 3;
OUTSIDE = 4;
DETECTED = 5; // unused for now
TIMEOUT = 6;
UNKNOWN = 7;
}
required ResultType resulttype = 2;
// especially interesting for TRAP/UNKNOWN: latest IP
required uint32 latest_ip = 3;
// PSNR golden run <-> this run
required float psnr = 4;
// optional textual description of what happened
optional string details = 5;
}
}