wmoo: additional result: uncorrectable error (DETECTED)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1134 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -226,6 +226,7 @@ bool WeathermonitorExperiment::run()
|
||||
// - (XXX weird instructions?)
|
||||
// - (XXX results displayed?)
|
||||
// - reaches THE END
|
||||
// - error detected, stop
|
||||
// additional info:
|
||||
// - #loop iterations before/after FI
|
||||
// - (XXX "sane" display?)
|
||||
@ -238,6 +239,9 @@ bool WeathermonitorExperiment::run()
|
||||
fi::BPRangeEvent ev_beyond_text(WEATHER_TEXT_END + 1, fi::ANY_ADDR);
|
||||
sal::simulator.addEvent(&ev_below_text);
|
||||
sal::simulator.addEvent(&ev_beyond_text);
|
||||
// error detected
|
||||
fi::BPEvent ev_detected(WEATHER_FUNC_VPTR_PANIC);
|
||||
sal::simulator.addEvent(&ev_detected);
|
||||
|
||||
#if LOCAL && 0
|
||||
// XXX debug
|
||||
@ -276,6 +280,9 @@ bool WeathermonitorExperiment::run()
|
||||
std::stringstream ss;
|
||||
ss << ev_trap.getTriggerNumber();
|
||||
result->set_details(ss.str());
|
||||
} else if (ev == &ev_detected) {
|
||||
log << std::dec << "Result DETECTED" << endl;
|
||||
result->set_resulttype(result->DETECTED);
|
||||
} else {
|
||||
log << "Result WTF?" << endl;
|
||||
result->set_resulttype(result->UNKNOWN);
|
||||
|
||||
@ -14,6 +14,8 @@
|
||||
#define WEATHER_FUNC_WAIT_BEGIN 0x00100f50
|
||||
// wait_end address
|
||||
#define WEATHER_FUNC_WAIT_END 0x00100f60
|
||||
// vptr_panic address (only exists in guarded variant)
|
||||
#define WEATHER_FUNC_VPTR_PANIC 0x99999999
|
||||
// number of main loop iterations to trace
|
||||
// (determines trace length and therefore fault-space width)
|
||||
#define WEATHER_NUMITER_TRACING 4
|
||||
|
||||
@ -3,7 +3,7 @@ set -e
|
||||
|
||||
[ ! -e "$1" -o ! -e "$2" ] && echo "usage: $0 vanilla.elf guarded.elf" && exit 1
|
||||
|
||||
function addrof() { nm -C $1 | fgrep "$2" | awk '{print $1}'; }
|
||||
function addrof() { nm -C $1 | (fgrep "$2" || echo 99999999) | awk '{print $1}'; }
|
||||
|
||||
cat >experimentInfo.hpp <<EOF
|
||||
#ifndef __WEATHERMONITOR_EXPERIMENT_INFO_HPP__
|
||||
@ -22,6 +22,8 @@ cat >experimentInfo.hpp <<EOF
|
||||
#define WEATHER_FUNC_WAIT_BEGIN 0x`addrof $1 wait_begin`
|
||||
// wait_end address
|
||||
#define WEATHER_FUNC_WAIT_END 0x`addrof $1 wait_end`
|
||||
// vptr_panic address (only exists in guarded variant)
|
||||
#define WEATHER_FUNC_VPTR_PANIC 0x`addrof $1 vptr_panic`
|
||||
// number of main loop iterations to trace
|
||||
// (determines trace length and therefore fault-space width)
|
||||
#define WEATHER_NUMITER_TRACING 4
|
||||
|
||||
@ -29,7 +29,7 @@ message WeathermonitorProtoMsg {
|
||||
FINISHED = 1;
|
||||
TRAP = 2;
|
||||
OUTSIDE = 3;
|
||||
HALT = 4;
|
||||
DETECTED = 4;
|
||||
UNKNOWN = 5;
|
||||
}
|
||||
required ResultType resulttype = 2;
|
||||
|
||||
Reference in New Issue
Block a user