diff mbox

[RFC,6/7] linux-user: don't clone watchpoints

Message ID 1466181227-14934-7-git-send-email-alex.bennee@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Alex Bennée June 17, 2016, 4:33 p.m. UTC
The watchpoint code is stubbed out for CONFIG_USER_ONLY so there is no
point attempting to copy the data here. Lets remove the code before the
RCU protection goes in.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 linux-user/main.c | 8 --------
 1 file changed, 8 deletions(-)

Comments

Paolo Bonzini June 17, 2016, 5:18 p.m. UTC | #1
On 17/06/2016 18:33, Alex Bennée wrote:
> The watchpoint code is stubbed out for CONFIG_USER_ONLY so there is no
> point attempting to copy the data here. Lets remove the code before the
> RCU protection goes in.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>  linux-user/main.c | 8 --------
>  1 file changed, 8 deletions(-)
> 
> diff --git a/linux-user/main.c b/linux-user/main.c
> index 2901626..9a5d017 100644
> --- a/linux-user/main.c
> +++ b/linux-user/main.c
> @@ -3812,14 +3812,6 @@ CPUArchState *cpu_copy(CPUArchState *env)
>         Note: Once we support ptrace with hw-debug register access, make sure
>         BP_CPU break/watchpoints are handled correctly on clone. */
>      cpu_breakpoints_clone(cpu, new_cpu);
> -    if (unlikely(cpu->watchpoints) && unlikely(cpu->watchpoints->len)) {
> -        CPUWatchpoint *wp;
> -        int i;
> -        for (i = 0; i < cpu->watchpoints->len; i++) {
> -            wp = &g_array_index(cpu->watchpoints, CPUWatchpoint, i);
> -            cpu_watchpoint_insert(new_cpu, wp->vaddr, wp->len, wp->flags);
> -        }
> -    }
>  
>      return new_env;
>  }
> 

Hmm, I am not sure.  It's still the correct thing to do.

Paolo
diff mbox

Patch

diff --git a/linux-user/main.c b/linux-user/main.c
index 2901626..9a5d017 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -3812,14 +3812,6 @@  CPUArchState *cpu_copy(CPUArchState *env)
        Note: Once we support ptrace with hw-debug register access, make sure
        BP_CPU break/watchpoints are handled correctly on clone. */
     cpu_breakpoints_clone(cpu, new_cpu);
-    if (unlikely(cpu->watchpoints) && unlikely(cpu->watchpoints->len)) {
-        CPUWatchpoint *wp;
-        int i;
-        for (i = 0; i < cpu->watchpoints->len; i++) {
-            wp = &g_array_index(cpu->watchpoints, CPUWatchpoint, i);
-            cpu_watchpoint_insert(new_cpu, wp->vaddr, wp->len, wp->flags);
-        }
-    }
 
     return new_env;
 }