diff options
Diffstat (limited to 'target-i386/seg_helper.c')
-rw-r--r-- | target-i386/seg_helper.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/target-i386/seg_helper.c b/target-i386/seg_helper.c index c40bd964c0..3247deeb60 100644 --- a/target-i386/seg_helper.c +++ b/target-i386/seg_helper.c @@ -467,7 +467,8 @@ static void switch_tss(CPUX86State *env, int tss_selector, /* reset local breakpoints */ if (env->dr[7] & DR7_LOCAL_BP_MASK) { for (i = 0; i < DR7_MAX_BP; i++) { - if (hw_breakpoint_enabled(env->dr[7], i) == 0x1) { + if (hw_local_breakpoint_enabled(env->dr[7], i) && + !hw_global_breakpoint_enabled(env->dr[7], i)) { hw_breakpoint_remove(env, i); } } |