first part of single stepping support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@342 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
61a2ad53cb
commit
c33a346edf
3 changed files with 35 additions and 1 deletions
17
exec.c
17
exec.c
|
|
@ -617,7 +617,8 @@ static void tb_reset_jump_recursive(TranslationBlock *tb)
|
|||
tb_reset_jump_recursive2(tb, 1);
|
||||
}
|
||||
|
||||
/* add a breakpoint */
|
||||
/* add a breakpoint. EXCP_DEBUG is returned by the CPU loop if a
|
||||
breakpoint is reached */
|
||||
int cpu_breakpoint_insert(CPUState *env, uint32_t pc)
|
||||
{
|
||||
#if defined(TARGET_I386)
|
||||
|
|
@ -659,6 +660,20 @@ int cpu_breakpoint_remove(CPUState *env, uint32_t pc)
|
|||
#endif
|
||||
}
|
||||
|
||||
/* enable or disable single step mode. EXCP_DEBUG is returned by the
|
||||
CPU loop after each instruction */
|
||||
void cpu_single_step(CPUState *env, int enabled)
|
||||
{
|
||||
#if defined(TARGET_I386)
|
||||
if (env->singlestep_enabled != enabled) {
|
||||
env->singlestep_enabled = enabled;
|
||||
/* must flush all the translated code to avoid inconsistancies */
|
||||
tb_flush();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* mask must never be zero */
|
||||
void cpu_interrupt(CPUState *env, int mask)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue