On Fri, Nov 27, 2009 at 04:18,  <[email protected]> wrote:
> --- trunk/arch/blackfin/kernel/traps.c        2009-11-27 07:32:25 UTC (rev 
> 7886)
> +++ trunk/arch/blackfin/kernel/traps.c        2009-11-27 09:18:21 UTC (rev 
> 7887)
> @@ -524,6 +524,12 @@
>                       break;
>               /* External Memory Addressing Error */
>               case (SEQSTAT_HWERRCAUSE_EXTERN_ADDR):
> +                     if (ANOMALY_05000310) {
> +                             unsigned int erraddr = fp->pc;
> +                             if ((erraddr >= (L1_CODE_START + L1_CODE_LENGTH 
> - 512)) &&
> +                                             (erraddr < (L1_CODE_START + 
> L1_CODE_LENGTH)))
> +                                     goto traps_done;
> +                     }

addresses should always be "unsigned long".  there should also be a
short comment explaining things so people dont have to lookup the
anomaly sheet for a quick summary.  also note that while the check
isnt exact (since system notifications can never be exact wrt the
pipeline), it should be realistically close enough.

since you've managed to reproduce the issue with L1, why not add the
external memory check as well ?
-mike
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to