update checksum-oostubs target + experiment (use ecc for classes w/ inheritance)
* TODO: find bug in standAlone variant git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1380 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -91,7 +91,7 @@ bool ChecksumOOStuBSCampaign::run()
|
||||
// for every section in the trace between subsequent memory
|
||||
// accesses to that address ...
|
||||
// XXX reorganizing the trace for efficient seeks could speed this up
|
||||
while(ps.getNext(&ev) && instr < OOSTUBS_NUMINSTR) { //XXX: not sure if (instr < OOSTUBS_NUMINSTR) is really needed --chb
|
||||
while(ps.getNext(&ev) && instr < OOSTUBS_NUMINSTR) {
|
||||
// instruction events just get counted
|
||||
if (!ev.has_memaddr()) {
|
||||
// new instruction
|
||||
@ -172,7 +172,6 @@ bool ChecksumOOStuBSCampaign::run()
|
||||
continue;
|
||||
}
|
||||
// as the experiment ends, this byte is a "don't care":
|
||||
// TODO: still true for checksum-oostubs? compare to weathermonitor!
|
||||
ecs_no_effect.push_back(current_ec);
|
||||
}
|
||||
|
||||
|
||||
@ -1,41 +1,60 @@
|
||||
// generated from STEP 0 output with region2array.sh
|
||||
static const unsigned memoryMap[][2] = {
|
||||
{0x107d18, 4},
|
||||
{0x107d4c, 4},
|
||||
{0x107d50, 4},
|
||||
{0x107d5c, 4},
|
||||
{0x107d68, 4},
|
||||
{0x107d6c, 4},
|
||||
{0x107d74, 1},
|
||||
{0x107d80, 1},
|
||||
{0x107da4, 4},
|
||||
{0x107da8, 4},
|
||||
{0x107db0, 4},
|
||||
{0x107dc4, 1},
|
||||
{0x107dd0, 4},
|
||||
{0x107de0, 4},
|
||||
{0x107dec, 4},
|
||||
{0x107df0, 4},
|
||||
{0x108f7c, 1},
|
||||
{0x108fa0, 4},
|
||||
{0x108fa4, 4},
|
||||
{0x108fac, 4},
|
||||
{0x108fb8, 4},
|
||||
{0x108fbc, 4},
|
||||
{0x108fcc, 4},
|
||||
{0x108fd1, 1},
|
||||
{0x108fd8, 4},
|
||||
{0x108fdc, 4},
|
||||
{0x108fec, 4},
|
||||
{0x108ff1, 1},
|
||||
{0x108ff8, 4},
|
||||
{0x108ffc, 4},
|
||||
{0x10900c, 4},
|
||||
{0x109011, 1},
|
||||
{0x10beb0, 4},
|
||||
{0x10beb8, 4},
|
||||
{0x10bedc, 4},
|
||||
{0x10bee4, 4},
|
||||
{0x10bf08, 4},
|
||||
{0x10bf10, 4},
|
||||
{0x10da6c, 4},
|
||||
{0x10da64, 4},
|
||||
{0x10da40, 4},
|
||||
{0x10da38, 4},
|
||||
{0x10da14, 4},
|
||||
{0x10da0c, 4},
|
||||
{0x10abad, 1},
|
||||
{0x10aba8, 4},
|
||||
{0x10ab98, 4},
|
||||
{0x10ab94, 4},
|
||||
{0x10ab8d, 1},
|
||||
{0x10ab88, 4},
|
||||
{0x10ab78, 4},
|
||||
{0x10ab74, 4},
|
||||
{0x10ab6d, 1},
|
||||
{0x10ab68, 4},
|
||||
{0x10ab58, 4},
|
||||
{0x10ab54, 4},
|
||||
{0x10ab48, 4},
|
||||
{0x10ab40, 4},
|
||||
{0x10ab3c, 4},
|
||||
{0x10ab18, 1},
|
||||
{0x10ab08, 4},
|
||||
{0x10aafc, 4},
|
||||
{0x10aae0, 4},
|
||||
{0x10aad4, 4},
|
||||
{0x10aac8, 4},
|
||||
{0x10aabc, 4},
|
||||
{0x109950, 256},
|
||||
{0x10993c, 4},
|
||||
{0x109938, 4},
|
||||
{0x10992c, 4},
|
||||
{0x10991c, 4},
|
||||
{0x109910, 1},
|
||||
{0x1098fc, 4},
|
||||
{0x1098f4, 4},
|
||||
{0x1098f0, 4},
|
||||
{0x1098d8, 4},
|
||||
{0x1098cc, 4},
|
||||
{0x1098c5, 1},
|
||||
{0x1098c1, 1},
|
||||
{0x1098c0, 1},
|
||||
{0x1098b4, 1},
|
||||
{0x1098a8, 1},
|
||||
{0x1098a0, 4},
|
||||
{0x10989c, 4},
|
||||
{0x109890, 4},
|
||||
{0x109884, 4},
|
||||
{0x109880, 4},
|
||||
{0x109858, 4},
|
||||
{0x1097ec, 4},
|
||||
{0x1097e0, 4},
|
||||
{0x108810, 89},
|
||||
{0x1087b4, 89},
|
||||
{0x108758, 89},
|
||||
{0x108748, 13},
|
||||
{0x108738, 13},
|
||||
};
|
||||
|
||||
@ -7,29 +7,30 @@
|
||||
|
||||
// the task function's entry address:
|
||||
// nm -C ecc.elf|fgrep main
|
||||
#define OOSTUBS_FUNC_ENTRY 0x00101e88
|
||||
#define OOSTUBS_FUNC_ENTRY 0x00101eaa
|
||||
// empty function that is called explicitly when the experiment finished
|
||||
// nm -C ecc.elf|fgrep "finished()"
|
||||
#define OOSTUBS_FUNC_FINISH 0x00105040
|
||||
#define OOSTUBS_FUNC_FINISH 0x00106a70
|
||||
// function executing HLT with no chance for further progress (after panic())
|
||||
// nm -C ecc.elf|fgrep cpu_halt
|
||||
#define OOSTUBS_FUNC_CPU_HALT 0x001009f7
|
||||
|
||||
#define OOSTUBS_TEXT_START 0x00100000 //FIXME: use real values provided by linker
|
||||
#define OOSTUBS_TEXT_END 0x00106bcc //FIXME: use real values provided by linker
|
||||
// nm -C ecc.elf | fgrep "_TEXT_"
|
||||
#define OOSTUBS_TEXT_START 0x00100000
|
||||
#define OOSTUBS_TEXT_END 0x0010797b
|
||||
|
||||
// number of instructions the target executes under non-error conditions from ENTRY to DONE:
|
||||
// (result of experiment's step #2)
|
||||
#define OOSTUBS_NUMINSTR 0x3FB877
|
||||
#define OOSTUBS_NUMINSTR 0x4340ED
|
||||
// number of instructions that are executed additionally for error corrections
|
||||
// (this is a rough guess ... TODO)
|
||||
#define OOSTUBS_RECOVERYINSTR 0x2000
|
||||
// the variable that's increased if ECC corrects an error:
|
||||
// nm -C ecc.elf|fgrep errors_corrected
|
||||
#define OOSTUBS_ERROR_CORRECTED 0x00109c14
|
||||
#define OOSTUBS_ERROR_CORRECTED 0x0010b7b0
|
||||
//
|
||||
// nm -C ecc.elf|fgrep results
|
||||
#define OOSTUBS_RESULTS_ADDR 0x00108f90
|
||||
#define OOSTUBS_RESULTS_ADDR 0x0010ab2c
|
||||
#define OOSTUBS_RESULTS_BYTES 12
|
||||
#define OOSTUBS_RESULT0 0xab3566a9
|
||||
#define OOSTUBS_RESULT1 0x44889112
|
||||
|
||||
Reference in New Issue
Block a user