ecos: use multiple intermediate states to speed up experiments (disabled)

This modification creates and uses multiple intermediate snapshot states
(one every 1,000,000 instructions) to fast-forward to the FI site.
Unfortunately this doesn't work yet; the trace seems to change in many (not
all!) cases we do this.  One possible cause could be an incorrect
(off-by-one or alike?) restoration of the serial device timers, and
therefore an earlier/later transition to "output buffer empty", resulting
in eCos' serial putc function needing a different amount of polling loop
iterations.  Needs more investigation.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1940 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
hsc
2012-11-20 15:01:43 +00:00
parent 041746741d
commit 35026de2d8
4 changed files with 59 additions and 13 deletions

View File

@ -96,12 +96,14 @@ std::string EcosKernelTestCampaign::filename_memorymap(const std::string& varian
return "memorymap.txt";
}
std::string EcosKernelTestCampaign::filename_state(const std::string& variant, const std::string& benchmark)
std::string EcosKernelTestCampaign::filename_state(unsigned instr_offset, const std::string& variant, const std::string& benchmark)
{
stringstream ss;
ss << instr_offset;
if (variant.size() && benchmark.size()) {
return dir_prerequisites + "/" + variant + "-" + benchmark + "-" + "state";
return dir_prerequisites + "/" + variant + "-" + benchmark + "-" + "state" + "-" + ss.str();
}
return "state";
return "state-" + ss.str();
}
std::string EcosKernelTestCampaign::filename_trace(const std::string& variant, const std::string& benchmark)