Message ID | 20210303214708.1727801-18-f4bug@amsat.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | cpu: Introduce SysemuCPUOps structure, remove watchpoints from usermode | expand |
Le 03/03/2021 à 22:46, Philippe Mathieu-Daudé a écrit : > We can not use watchpoints in user-mode emulation because we > need the softmmu slow path to detect accesses to watchpointed > memory. This code is expanded as empty stub in "hw/core/cpu.h" > anyway, so we can drop it. > > Reviewed-by: Laurent Vivier <laurent@vivier.eu> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > linux-user/main.c | 5 ----- > 1 file changed, 5 deletions(-) > > diff --git a/linux-user/main.c b/linux-user/main.c > index 81f48ff54ed..d7af3ffbc22 100644 > --- a/linux-user/main.c > +++ b/linux-user/main.c > @@ -200,7 +200,6 @@ CPUArchState *cpu_copy(CPUArchState *env) > CPUState *new_cpu = cpu_create(cpu_type); > CPUArchState *new_env = new_cpu->env_ptr; > CPUBreakpoint *bp; > - CPUWatchpoint *wp; > > /* Reset non arch specific state */ > cpu_reset(new_cpu); > @@ -211,13 +210,9 @@ 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. */ > QTAILQ_INIT(&new_cpu->breakpoints); > - QTAILQ_INIT(&new_cpu->watchpoints); > QTAILQ_FOREACH(bp, &cpu->breakpoints, entry) { > cpu_breakpoint_insert(new_cpu, bp->pc, bp->flags, NULL); > } > - QTAILQ_FOREACH(wp, &cpu->watchpoints, entry) { > - cpu_watchpoint_insert(new_cpu, wp->vaddr, wp->len, wp->flags, NULL); > - } > > return new_env; > } > Applied to my linux-user-for-6.1 branch. Thanks, Laurent
diff --git a/linux-user/main.c b/linux-user/main.c index 81f48ff54ed..d7af3ffbc22 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -200,7 +200,6 @@ CPUArchState *cpu_copy(CPUArchState *env) CPUState *new_cpu = cpu_create(cpu_type); CPUArchState *new_env = new_cpu->env_ptr; CPUBreakpoint *bp; - CPUWatchpoint *wp; /* Reset non arch specific state */ cpu_reset(new_cpu); @@ -211,13 +210,9 @@ 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. */ QTAILQ_INIT(&new_cpu->breakpoints); - QTAILQ_INIT(&new_cpu->watchpoints); QTAILQ_FOREACH(bp, &cpu->breakpoints, entry) { cpu_breakpoint_insert(new_cpu, bp->pc, bp->flags, NULL); } - QTAILQ_FOREACH(wp, &cpu->watchpoints, entry) { - cpu_watchpoint_insert(new_cpu, wp->vaddr, wp->len, wp->flags, NULL); - } return new_env; }