Files
fail/src/experiments/l4-sys/experimentInfo.hpp
Tobias Stumpf 53dc6bbf36 Code cleanup
2014-06-11 11:04:03 +02:00

57 lines
1.8 KiB
C++

#ifndef __L4SYS_EXPERIMENT_INFO_HPP__
#define __L4SYS_EXPERIMENT_INFO_HPP__
// the maximum number of bytes in a Bochs instruction
#define MAX_INSTR_BYTES 15
// the bounds of the program (space, instructions and time)
// client
#define L4SYS_ADDRESS_SPACE 0x1fd77000
// server
#define L4SYS_ADDRESS_SPACE_TRACE L4SYS_ADDRESS_SPACE
//#define L4SYS_ADDRESS_SPACE_TRACE 0x1fd4c000
#define L4SYS_exp_start 0x20000216
#define L4SYS_exp_end 0x2000029c
#define L4SYS_inj_start 0x2000022f
#define L4SYS_inj_end 0x20000252
// FUNC_{ENTRY,EXIT} specifies the range that needs to
// be captured to log program output properly
#define L4SYS_FUNC_ENTRY L4SYS_exp_start
#define L4SYS_FUNC_EXIT L4SYS_exp_end
// FILTER_{ENTRY,EXIT} specifies the range that injections
// should be carried out on (should be a subset of the above)
// and only works with FILTER_INSTRUCTIONS turned on
#define L4SYS_FILTER_ENTRY L4SYS_inj_start
#define L4SYS_FILTER_EXIT L4SYS_inj_end
#define L4SYS_BREAK_BLINK 0x0
#define L4SYS_BREAK_LONGJMP 0x0
#define L4SYS_BREAK_EXIT 0x0
// select instruction filtering
// XXX: this should be always on and the code should be
// reworked to do the non-filtering work with an empty
// filter list
#define L4SYS_FILTER_INSTRUCTIONS 1
// kernel: 2377547, userland: 79405472
#define L4SYS_NUMINSTR 16
#define L4SYS_TOTINSTR 58401
#define L4SYS_BOCHS_IPS 5000000
// several file names used
#define L4SYS_STATE_FOLDER "l4sys.state"
#define L4SYS_INSTRUCTION_LIST "ip.list"
#define L4SYS_ALU_INSTRUCTIONS "alu.list"
#define L4SYS_CORRECT_OUTPUT "golden.out"
#define L4SYS_FILTER "filter.list"
// flags
// 0 - preparation complete
// >0 - next step to execute
#define PREPARATION_STEP 0
#endif // __L4SYS_EXPERIMENT_INFO_HPP__