Handles a bound I forgot
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1735 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -499,7 +499,21 @@ bool L4SysExperiment::run() {
|
|||||||
/* ============================================ */
|
/* ============================================ */
|
||||||
/* end Bjoern Doebel's code (slightly modified) */
|
/* end Bjoern Doebel's code (slightly modified) */
|
||||||
|
|
||||||
} while (which == UD_NONE);
|
} while (which == UD_NONE &&
|
||||||
|
simulator.getRegisterManager().getInstructionPointer() != L4SYS_FUNC_EXIT);
|
||||||
|
|
||||||
|
if (simulator.getRegisterManager().getInstructionPointer() == L4SYS_FUNC_EXIT) {
|
||||||
|
param.msg.set_resulttype(param.msg.UNKNOWN);
|
||||||
|
param.msg.set_resultdata(
|
||||||
|
simulator.getRegisterManager().getInstructionPointer());
|
||||||
|
param.msg.set_output(sanitised(output.c_str()));
|
||||||
|
|
||||||
|
stringstream ss;
|
||||||
|
ss << "Reached the end of the experiment without finding an appropriate instruction" << endl;
|
||||||
|
param.msg.set_details(ss.str());
|
||||||
|
m_jc.sendResult(param);
|
||||||
|
simulator.terminate(33);
|
||||||
|
}
|
||||||
|
|
||||||
// store the real injection point
|
// store the real injection point
|
||||||
param.msg.set_injection_ip(simulator.getRegisterManager().getInstructionPointer());
|
param.msg.set_injection_ip(simulator.getRegisterManager().getInstructionPointer());
|
||||||
@ -563,10 +577,24 @@ bool L4SysExperiment::run() {
|
|||||||
|
|
||||||
bxInstruction_c *currInstr;
|
bxInstruction_c *currInstr;
|
||||||
while (!aluInstrObject.isALUInstruction(
|
while (!aluInstrObject.isALUInstruction(
|
||||||
currInstr = simulator.getCurrentInstruction())) {
|
currInstr = simulator.getCurrentInstruction()) &&
|
||||||
|
simulator.getRegisterManager().getInstructionPointer() != L4SYS_FUNC_EXIT) {
|
||||||
singleStep();
|
singleStep();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (simulator.getRegisterManager().getInstructionPointer() == L4SYS_FUNC_EXIT) {
|
||||||
|
param.msg.set_resulttype(param.msg.UNKNOWN);
|
||||||
|
param.msg.set_resultdata(
|
||||||
|
simulator.getRegisterManager().getInstructionPointer());
|
||||||
|
param.msg.set_output(sanitised(output.c_str()));
|
||||||
|
|
||||||
|
stringstream ss;
|
||||||
|
ss << "Reached the end of the experiment without finding an appropriate instruction" << endl;
|
||||||
|
param.msg.set_details(ss.str());
|
||||||
|
m_jc.sendResult(param);
|
||||||
|
simulator.terminate(33);
|
||||||
|
}
|
||||||
|
|
||||||
// store the real injection point
|
// store the real injection point
|
||||||
param.msg.set_injection_ip(simulator.getRegisterManager().getInstructionPointer());
|
param.msg.set_injection_ip(simulator.getRegisterManager().getInstructionPointer());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user