#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