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:
chb
2012-06-22 12:14:55 +00:00
parent 09c3f64d51
commit 10ac5aac45
3 changed files with 66 additions and 47 deletions

View File

@ -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);
}

View File

@ -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},
};

View File

@ -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