[PATCH 08/15] powerpc/watchpoint: Disable all available watchpoints when !dawr_force_enable
Christophe Leroy
christophe.leroy at c-s.fr
Tue Mar 17 21:35:22 AEDT 2020
Le 09/03/2020 à 09:57, Ravi Bangoria a écrit :
> Instead of disabling only first watchpoint, disable all available
> watchpoints while clearing dawr_force_enable.
>
> Signed-off-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
> ---
> arch/powerpc/kernel/dawr.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/arch/powerpc/kernel/dawr.c b/arch/powerpc/kernel/dawr.c
> index 311e51ee09f4..5c882f07ac7d 100644
> --- a/arch/powerpc/kernel/dawr.c
> +++ b/arch/powerpc/kernel/dawr.c
> @@ -50,9 +50,13 @@ int set_dawr(struct arch_hw_breakpoint *brk, int nr)
> return 0;
> }
>
> -static void set_dawr_cb(void *info)
> +static void disable_dawrs(void *info)
Can you explain a bit more what you do exactly ? Why do you change the
name of the function and why the parameter becomes NULL ? And why it
doens't take into account the parameter anymore ?
> {
> - set_dawr(info, 0);
> + struct arch_hw_breakpoint null_brk = {0};
> + int i;
> +
> + for (i = 0; i < nr_wp_slots(); i++)
> + set_dawr(&null_brk, i);
> }
>
> static ssize_t dawr_write_file_bool(struct file *file,
> @@ -74,7 +78,7 @@ static ssize_t dawr_write_file_bool(struct file *file,
>
> /* If we are clearing, make sure all CPUs have the DAWR cleared */
> if (!dawr_force_enable)
> - smp_call_function(set_dawr_cb, &null_brk, 0);
> + smp_call_function(disable_dawrs, NULL, 0);
>
> return rc;
> }
>
Christophe
More information about the Linuxppc-dev
mailing list