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 weird instructions?)
|
||||||
// - (XXX results displayed?)
|
// - (XXX results displayed?)
|
||||||
// - reaches THE END
|
// - reaches THE END
|
||||||
|
// - error detected, stop
|
||||||
// additional info:
|
// additional info:
|
||||||
// - #loop iterations before/after FI
|
// - #loop iterations before/after FI
|
||||||
// - (XXX "sane" display?)
|
// - (XXX "sane" display?)
|
||||||
@ -238,6 +239,9 @@ bool WeathermonitorExperiment::run()
|
|||||||
fi::BPRangeEvent ev_beyond_text(WEATHER_TEXT_END + 1, fi::ANY_ADDR);
|
fi::BPRangeEvent ev_beyond_text(WEATHER_TEXT_END + 1, fi::ANY_ADDR);
|
||||||
sal::simulator.addEvent(&ev_below_text);
|
sal::simulator.addEvent(&ev_below_text);
|
||||||
sal::simulator.addEvent(&ev_beyond_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
|
#if LOCAL && 0
|
||||||
// XXX debug
|
// XXX debug
|
||||||
@ -276,6 +280,9 @@ bool WeathermonitorExperiment::run()
|
|||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << ev_trap.getTriggerNumber();
|
ss << ev_trap.getTriggerNumber();
|
||||||
result->set_details(ss.str());
|
result->set_details(ss.str());
|
||||||
|
} else if (ev == &ev_detected) {
|
||||||
|
log << std::dec << "Result DETECTED" << endl;
|
||||||
|
result->set_resulttype(result->DETECTED);
|
||||||
} else {
|
} else {
|
||||||
log << "Result WTF?" << endl;
|
log << "Result WTF?" << endl;
|
||||||
result->set_resulttype(result->UNKNOWN);
|
result->set_resulttype(result->UNKNOWN);
|
||||||
|
|||||||
@ -14,6 +14,8 @@
|
|||||||
#define WEATHER_FUNC_WAIT_BEGIN 0x00100f50
|
#define WEATHER_FUNC_WAIT_BEGIN 0x00100f50
|
||||||
// wait_end address
|
// wait_end address
|
||||||
#define WEATHER_FUNC_WAIT_END 0x00100f60
|
#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
|
// number of main loop iterations to trace
|
||||||
// (determines trace length and therefore fault-space width)
|
// (determines trace length and therefore fault-space width)
|
||||||
#define WEATHER_NUMITER_TRACING 4
|
#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
|
[ ! -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
|
cat >experimentInfo.hpp <<EOF
|
||||||
#ifndef __WEATHERMONITOR_EXPERIMENT_INFO_HPP__
|
#ifndef __WEATHERMONITOR_EXPERIMENT_INFO_HPP__
|
||||||
@ -22,6 +22,8 @@ cat >experimentInfo.hpp <<EOF
|
|||||||
#define WEATHER_FUNC_WAIT_BEGIN 0x`addrof $1 wait_begin`
|
#define WEATHER_FUNC_WAIT_BEGIN 0x`addrof $1 wait_begin`
|
||||||
// wait_end address
|
// wait_end address
|
||||||
#define WEATHER_FUNC_WAIT_END 0x`addrof $1 wait_end`
|
#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
|
// number of main loop iterations to trace
|
||||||
// (determines trace length and therefore fault-space width)
|
// (determines trace length and therefore fault-space width)
|
||||||
#define WEATHER_NUMITER_TRACING 4
|
#define WEATHER_NUMITER_TRACING 4
|
||||||
|
|||||||
@ -29,7 +29,7 @@ message WeathermonitorProtoMsg {
|
|||||||
FINISHED = 1;
|
FINISHED = 1;
|
||||||
TRAP = 2;
|
TRAP = 2;
|
||||||
OUTSIDE = 3;
|
OUTSIDE = 3;
|
||||||
HALT = 4;
|
DETECTED = 4;
|
||||||
UNKNOWN = 5;
|
UNKNOWN = 5;
|
||||||
}
|
}
|
||||||
required ResultType resulttype = 2;
|
required ResultType resulttype = 2;
|
||||||
|
|||||||
Reference in New Issue
Block a user