On Wed, Jun 09, 2010 at 03:55:59PM +0530, K.Prasad wrote:

> +     if (!((bp->attr.bp_addr <= dar) &&
> +          (dar <= (bp->attr.bp_addr + bp->attr.bp_len)))) {
> +             /*
> +              * This exception is triggered not because of a memory access
> +              * on the monitored variable but in the double-word address
> +              * range in which it is contained. We will consume this
> +              * exception, considering it as 'noise'.
> +              */
> +             info->extraneous_interrupt = true;
> +     }

Ummm, don't you need to add "else info->extraneous_interrupt = false;"
here?  I don't see anywhere that you ever clear it otherwise.

Also, I think you need to do the "if (!info->extraneous_interrupt)"
check around the call to perf_bp_event() later on in
hw_breakpoint_handler() as well as around the call in
single_step_dabr_instruction().

Paul.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to