Re: [PATCH 1/2] ARM: Pass IFSR register to do_PrefetchAbort()

From: Catalin Marinas
Date: Fri Sep 18 2009 - 11:38:40 EST


On Fri, 2009-09-18 at 18:08 +0300, Kirill A. Shutemov wrote:
> On Fri, Sep 18, 2009 at 5:52 PM, Aaro Koskinen <aaro.koskinen@xxxxxxxxx> wrote:
> > Hello,
> >
> > Kirill A. Shutemov wrote:
> >>>
> >>> #ifdef CONFIG_CPU_PABRT_NOIFAR
> >>> -# ifdef CPU_PABORT_HANDLER
> >>> +# ifdef CPU_PABORT_HANDLER_IFAR
> >>> # define MULTI_PABORT 1
> >>> # else
> >>> -# define CPU_PABORT_HANDLER(reg, insn) mov reg, insn
> >>> +# define CPU_PABORT_HANDLER_IFAR(reg, insn) mov reg, insn
> >>> +# define CPU_PABORT_HANDLER_IFSR(reg) mrc p15, 0, reg, cr5,
> >>> cr0, 1
> >>
> >> It's incorrect. We have IFSR only on ARMv7.
> >
> > It seems my assumption on the availability of that register was wrong, but I
> > think it's available at least on ARMv6, and also that IFAR can be
> > optional...
>
> I can't find anything in ARMv6-M Architecture Reference Manual by
> keywords "ifar" or "ifsr".

ARMv6-M is for the M-profile CPUs (Thumb or Thumb-2 only ISA, no MMU ,
it doesn't even have CP15).

You would need to check the A profile. Try the ARMv7-AR reference manual
(now freely available, though it needs a click-through) which has a
section on differences with the ARMv6 as well.

--
Catalin

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/