Files
fail/core/experiments/weathermonitor/weathermonitor.proto

49 lines
1.4 KiB
Protocol Buffer

message WeathermonitorProtoMsg {
// 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;
UNKNOWN = 5;
}
required ResultType resulttype = 2;
// especially interesting for TRAP/UNKNOWN: latest IP
required uint32 latest_ip = 3;
// number of wmoo measuring/displaying iterations before FI
required uint32 iter_before_fi = 4;
// number of wmoo measuring/displaying iterations after FI
required uint32 iter_after_fi = 5;
// optional textual description of what happened
optional string details = 6;
}
}