diff options
author | Richard Henderson <rth@twiddle.net> | 2015-09-15 11:45:08 -0700 |
---|---|---|
committer | Eduardo Habkost <ehabkost@redhat.com> | 2015-10-23 12:59:27 -0200 |
commit | 93d00d0fbe4711061834730fb70525d167b6f908 (patch) | |
tree | 32e7d5e9545ff139ca92912129eae886cb28d438 /target-i386/machine.c | |
parent | e265e3e48049fbece9eaf536aa00ca41aa3c54d0 (diff) |
target-i386: Introduce cpu_x86_update_dr7
This moves the last of the iteration over breakpoints into
the bpt_helper.c file. This also allows us to make several
breakpoint functions static.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'target-i386/machine.c')
-rw-r--r-- | target-i386/machine.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/target-i386/machine.c b/target-i386/machine.c index 67373663d0..a18e16e0de 100644 --- a/target-i386/machine.c +++ b/target-i386/machine.c @@ -367,8 +367,12 @@ static int cpu_post_load(void *opaque, int version_id) cpu_breakpoint_remove_all(cs, BP_CPU); cpu_watchpoint_remove_all(cs, BP_CPU); - for (i = 0; i < DR7_MAX_BP; i++) { - hw_breakpoint_insert(env, i); + { + /* Indicate all breakpoints disabled, as they are, then + let the helper re-enable them. */ + target_ulong dr7 = env->dr[7]; + env->dr[7] = dr7 & ~(DR7_GLOBAL_BP_MASK | DR7_LOCAL_BP_MASK); + cpu_x86_update_dr7(env, dr7); } tlb_flush(cs, 1); |