diff options
Diffstat (limited to 'exec.c')
| -rw-r--r-- | exec.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/exec.c b/exec.c index c6490ff074..6010bc70c1 100644 --- a/exec.c +++ b/exec.c @@ -1457,9 +1457,13 @@ void cpu_single_step(CPUState *env, int enabled) #if defined(TARGET_HAS_ICE) if (env->singlestep_enabled != enabled) { env->singlestep_enabled = enabled; - /* must flush all the translated code to avoid inconsistancies */ - /* XXX: only flush what is necessary */ - tb_flush(env); + if (kvm_enabled()) + kvm_update_guest_debug(env, 0); + else { + /* must flush all the translated code to avoid inconsistancies */ + /* XXX: only flush what is necessary */ + tb_flush(env); + } } #endif } |