Files
fail/src/experiments/weather-monitor-gem5/experimentInfo.hpp

128 lines
4.4 KiB
C++

#ifndef __WEATHERMONITOR_EXPERIMENT_INFO_HPP__
#define __WEATHERMONITOR_EXPERIMENT_INFO_HPP__
// autogenerated, don't edit!
// 0 = vanilla, 1 = guarded, 2 = plausibility
#define WEATHERMONITOR_VARIANT 0
#if WEATHERMONITOR_VARIANT == 0 // without vptr guards
// suffix for simulator state, trace file
#define WEATHER_SUFFIX ".weather"
// main() address:
// nm -C weather.elf|fgrep main
#define WEATHER_FUNC_MAIN 0x00801084
// wait_begin address
#define WEATHER_FUNC_WAIT_BEGIN 0x0080105c
// wait_end address
#define WEATHER_FUNC_WAIT_END 0x00801070
// vptr_panic address (only exists in guarded variant)
#define WEATHER_FUNC_VPTR_PANIC 0x00800f90
// number of main loop iterations to trace
// (determines trace length and therefore fault-space width)
#define WEATHER_NUMITER_TRACING 4
// number of instructions needed for these iterations in golden run (taken from
// experiment step #2)
#define WEATHER_NUMINSTR_TRACING 30293
// number of additional loop iterations for FI experiments (to see whether
// everything continues working fine)
#define WEATHER_NUMITER_AFTER 2
// number of instructions needed for these iterations in golden run (taken from
// experiment step #2)
#define WEATHER_NUMINSTR_AFTER 10272
// data/BSS begin:
// nm -C weather.elf|fgrep ___DATA_START__
#define WEATHER_DATA_START 0x00801fd4
// data/BSS end:
// nm -C weather.elf|fgrep ___BSS_END__
#define WEATHER_DATA_END 0x00802228
// text begin:
// nm -C weather.elf|fgrep ___TEXT_START__
#define WEATHER_TEXT_START 0x00800000
// text end:
// nm -C weather.elf|fgrep ___TEXT_END__
#define WEATHER_TEXT_END 0x00801eac
#elif WEATHERMONITOR_VARIANT == 1 // with guards
// suffix for simulator state, trace file
#define WEATHER_SUFFIX ".weather"
// main() address:
// nm -C weather.elf|fgrep main
#define WEATHER_FUNC_MAIN 0x00801084
// wait_begin address
#define WEATHER_FUNC_WAIT_BEGIN 0x0080105c
// wait_end address
#define WEATHER_FUNC_WAIT_END 0x00801070
// vptr_panic address (only exists in guarded variant)
#define WEATHER_FUNC_VPTR_PANIC 0x00800f90
// number of main loop iterations to trace
// (determines trace length and therefore fault-space width)
#define WEATHER_NUMITER_TRACING 4
// number of instructions needed for these iterations in golden run (taken from
// experiment step #2)
#define WEATHER_NUMINSTR_TRACING 20599
// number of additional loop iterations for FI experiments (to see whether
// everything continues working fine)
#define WEATHER_NUMITER_AFTER 2
// number of instructions needed for these iterations in golden run (taken from
// experiment step #2)
#define WEATHER_NUMINSTR_AFTER 10272
// data/BSS begin:
// nm -C weather.elf|fgrep ___DATA_START__
#define WEATHER_DATA_START 0x00801fd4
// data/BSS end:
// nm -C weather.elf|fgrep ___BSS_END__
#define WEATHER_DATA_END 0x00802228
// text begin:
// nm -C weather.elf|fgrep ___TEXT_START__
#define WEATHER_TEXT_START 0x00800000
// text end:
// nm -C weather.elf|fgrep ___TEXT_END__
#define WEATHER_TEXT_END 0x00801eac
#elif WEATHERMONITOR_VARIANT == 2 // with guards + plausibility check
// suffix for simulator state, trace file
#define WEATHER_SUFFIX ".weather"
// main() address:
// nm -C weather.elf|fgrep main
#define WEATHER_FUNC_MAIN 0x00801084
// wait_begin address
#define WEATHER_FUNC_WAIT_BEGIN 0x0080105c
// wait_end address
#define WEATHER_FUNC_WAIT_END 0x00801070
// vptr_panic address (only exists in guarded variant)
#define WEATHER_FUNC_VPTR_PANIC 0x00800f90
// number of main loop iterations to trace
// (determines trace length and therefore fault-space width)
#define WEATHER_NUMITER_TRACING 4
// number of instructions needed for these iterations in golden run (taken from
// experiment step #2)
#define WEATHER_NUMINSTR_TRACING 20599
// number of additional loop iterations for FI experiments (to see whether
// everything continues working fine)
#define WEATHER_NUMITER_AFTER 2
// number of instructions needed for these iterations in golden run (taken from
// experiment step #2)
#define WEATHER_NUMINSTR_AFTER 10272
// data/BSS begin:
// nm -C weather.elf|fgrep ___DATA_START__
#define WEATHER_DATA_START 0x00801fd4
// data/BSS end:
// nm -C weather.elf|fgrep ___BSS_END__
#define WEATHER_DATA_END 0x00802228
// text begin:
// nm -C weather.elf|fgrep ___TEXT_START__
#define WEATHER_TEXT_START 0x00800000
// text end:
// nm -C weather.elf|fgrep ___TEXT_END__
#define WEATHER_TEXT_END 0x00801eac
#else
#error Unknown WEATHERMONITOR_VARIANT
#endif
#endif