Bugfix: Let Bochs' trigger breakpoint events even in case of rep-instructions
This reverts the solution of a former commit (see git hash e1f6601d8494bcb002e89543a9334e053f0e69d3). All additional changes proposed in that commit have been deleted and the major work is now done by the aspect header BreakRepeatInstr.ah: It ensures the condition in the methods repeat() and repeat_ZF() if (BX_CPU_THIS_PTR async_event) ... to be always true which causes Bochs to leave these methods immediately. This, in turn, involves a call to defineCPULoopJointPoint(), yielding a breakpoint event in Fail. git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2009 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -241,9 +241,6 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::repeat(bxInstruction_c *i, BxExecutePtr_tR
|
||||
}
|
||||
if (RCX == 0) return;
|
||||
|
||||
// DanceOS
|
||||
defineCPULoopJoinPoint(BX_CPU_THIS, i);
|
||||
|
||||
#if BX_DEBUGGER == 0
|
||||
if (BX_CPU_THIS_PTR async_event)
|
||||
#endif
|
||||
@ -263,9 +260,6 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::repeat(bxInstruction_c *i, BxExecutePtr_tR
|
||||
}
|
||||
if (ECX == 0) return;
|
||||
|
||||
// DanceOS
|
||||
defineCPULoopJoinPoint(BX_CPU_THIS, i);
|
||||
|
||||
#if BX_DEBUGGER == 0
|
||||
if (BX_CPU_THIS_PTR async_event)
|
||||
#endif
|
||||
@ -284,9 +278,6 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::repeat(bxInstruction_c *i, BxExecutePtr_tR
|
||||
}
|
||||
if (CX == 0) return;
|
||||
|
||||
// DanceOS
|
||||
defineCPULoopJoinPoint(BX_CPU_THIS, i);
|
||||
|
||||
#if BX_DEBUGGER == 0
|
||||
if (BX_CPU_THIS_PTR async_event)
|
||||
#endif
|
||||
@ -333,9 +324,6 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::repeat_ZF(bxInstruction_c *i, BxExecutePtr
|
||||
}
|
||||
if (! get_ZF() || RCX == 0) return;
|
||||
|
||||
// DanceOS
|
||||
defineCPULoopJoinPoint(BX_CPU_THIS, i);
|
||||
|
||||
#if BX_DEBUGGER == 0
|
||||
if (BX_CPU_THIS_PTR async_event)
|
||||
#endif
|
||||
@ -355,9 +343,6 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::repeat_ZF(bxInstruction_c *i, BxExecutePtr
|
||||
}
|
||||
if (! get_ZF() || ECX == 0) return;
|
||||
|
||||
// DanceOS
|
||||
defineCPULoopJoinPoint(BX_CPU_THIS, i);
|
||||
|
||||
#if BX_DEBUGGER == 0
|
||||
if (BX_CPU_THIS_PTR async_event)
|
||||
#endif
|
||||
@ -376,9 +361,6 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::repeat_ZF(bxInstruction_c *i, BxExecutePtr
|
||||
}
|
||||
if (! get_ZF() || CX == 0) return;
|
||||
|
||||
// DanceOS
|
||||
defineCPULoopJoinPoint(BX_CPU_THIS, i);
|
||||
|
||||
#if BX_DEBUGGER == 0
|
||||
if (BX_CPU_THIS_PTR async_event)
|
||||
#endif
|
||||
@ -399,9 +381,6 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::repeat_ZF(bxInstruction_c *i, BxExecutePtr
|
||||
}
|
||||
if (get_ZF() || RCX == 0) return;
|
||||
|
||||
// DanceOS
|
||||
defineCPULoopJoinPoint(BX_CPU_THIS, i);
|
||||
|
||||
#if BX_DEBUGGER == 0
|
||||
if (BX_CPU_THIS_PTR async_event)
|
||||
#endif
|
||||
@ -421,9 +400,6 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::repeat_ZF(bxInstruction_c *i, BxExecutePtr
|
||||
}
|
||||
if (get_ZF() || ECX == 0) return;
|
||||
|
||||
// DanceOS
|
||||
defineCPULoopJoinPoint(BX_CPU_THIS, i);
|
||||
|
||||
#if BX_DEBUGGER == 0
|
||||
if (BX_CPU_THIS_PTR async_event)
|
||||
#endif
|
||||
@ -442,9 +418,6 @@ void BX_CPP_AttrRegparmN(2) BX_CPU_C::repeat_ZF(bxInstruction_c *i, BxExecutePtr
|
||||
}
|
||||
if (get_ZF() || CX == 0) return;
|
||||
|
||||
// DanceOS
|
||||
defineCPULoopJoinPoint(BX_CPU_THIS, i);
|
||||
|
||||
#if BX_DEBUGGER == 0
|
||||
if (BX_CPU_THIS_PTR async_event)
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user