[PATCH 1/2] ARM: Pass IFSR register to do_PrefetchAbort()
catalin.marinas at arm.com
Fri Sep 18 11:38:18 EDT 2009
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 at nokia.com> 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.
More information about the linux-arm-kernel