add injection address to results

Change-Id: I7966f97b8c09bbd6510ca6066dd40be398b54de3
This commit is contained in:
Bjoern Doebel
2013-10-21 14:49:31 +02:00
parent 87264af79a
commit 523f4a465b
3 changed files with 5 additions and 5 deletions

View File

@ -15,7 +15,7 @@ BAK=experimentInfo.hpp.bak
CFG=experimentInfo.hpp CFG=experimentInfo.hpp
FAIL_CMD="fail-client -q" # -rc bochs-dbg.rc" FAIL_CMD="fail-client -q" # -rc bochs-dbg.rc"
FAILDIR=/home/doebel/src/fail FAILDIR=/home/doebel/src/fail
DBNAME=fiasco DBNAME=fail
if [ -n "$1" ] ; then if [ -n "$1" ] ; then
if [ "$1" = "mem" ]; then if [ "$1" = "mem" ]; then

View File

@ -44,14 +44,15 @@ message L4SysProtoMsg {
optional RegisterType register_offset = 3; optional RegisterType register_offset = 3;
// instruction pointer where injection was done // instruction pointer where injection was done
optional uint32 injection_ip = 4; optional int32 injection_ip = 4;
// result type, see above // result type, see above
optional ResultType resulttype = 5; optional ResultType resulttype = 5;
// result data, depending on resulttype (see source code) // result data, depending on resulttype (see source code)
optional uint32 resultdata = 6; optional int32 resultdata = 6;
// generated output // generated output
optional string output = 7; optional string output = 7;
// optional textual description of what happened // optional textual description of what happened
optional string details = 8; optional string details = 8;
optional int32 injection_address = 9;
} }
} }

View File

@ -68,8 +68,7 @@ void AdvancedMemoryImporter::insert_delayed_entries(bool finalizing)
if (it->branches_before != last_branches_before) { if (it->branches_before != last_branches_before) {
branchmask = 0; branchmask = 0;
int pos = std::max(-(signed)BRANCH_WINDOW_SIZE, - (signed) it->branches_before); int pos = std::max(-(signed)BRANCH_WINDOW_SIZE, - (signed) it->branches_before);
int maxpos = std::min((signed)BRANCH_WINDOW_SIZE, int maxpos = std::min((signed)BRANCH_WINDOW_SIZE, (signed)(branches_taken.size() - it->branches_before));
(signed)branches_taken.size() - (signed)it->branches_before);
for (; pos < maxpos; ++pos) { for (; pos < maxpos; ++pos) {
branchmask |= branchmask |=
((unsigned) branches_taken[it->branches_before + pos]) ((unsigned) branches_taken[it->branches_before + pos])