summaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/glue.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-11-16 11:33:41 +0100
committerTakashi Iwai <tiwai@suse.de>2009-11-16 11:33:41 +0100
commitfe705ab1526bc2c8b7756f3a855f040ab2060af2 (patch)
treec4444d19983c5578f9ef2bddc1fa01b6e42f91a3 /arch/arm/include/asm/glue.h
parent7d1794e81b5f202c73d7e3e65f0ee7aae4928038 (diff)
parentad1cd745060ae2f24026b3b3d09da3426df6ab36 (diff)
Merge branch 'topic/beep-rename' into topic/hda
Diffstat (limited to 'arch/arm/include/asm/glue.h')
-rw-r--r--arch/arm/include/asm/glue.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/arch/arm/include/asm/glue.h b/arch/arm/include/asm/glue.h
index a0e39d5d00c..234a3fc1c78 100644
--- a/arch/arm/include/asm/glue.h
+++ b/arch/arm/include/asm/glue.h
@@ -120,25 +120,39 @@
#endif
/*
- * Prefetch abort handler. If the CPU has an IFAR use that, otherwise
- * use the address of the aborted instruction
+ * Prefetch Abort Model
+ * ================
+ *
+ * We have the following to choose from:
+ * legacy - no IFSR, no IFAR
+ * v6 - ARMv6: IFSR, no IFAR
+ * v7 - ARMv7: IFSR and IFAR
*/
+
#undef CPU_PABORT_HANDLER
#undef MULTI_PABORT
-#ifdef CONFIG_CPU_PABRT_IFAR
+#ifdef CONFIG_CPU_PABRT_LEGACY
+# ifdef CPU_PABORT_HANDLER
+# define MULTI_PABORT 1
+# else
+# define CPU_PABORT_HANDLER legacy_pabort
+# endif
+#endif
+
+#ifdef CONFIG_CPU_PABRT_V6
# ifdef CPU_PABORT_HANDLER
# define MULTI_PABORT 1
# else
-# define CPU_PABORT_HANDLER(reg, insn) mrc p15, 0, reg, cr6, cr0, 2
+# define CPU_PABORT_HANDLER v6_pabort
# endif
#endif
-#ifdef CONFIG_CPU_PABRT_NOIFAR
+#ifdef CONFIG_CPU_PABRT_V7
# ifdef CPU_PABORT_HANDLER
# define MULTI_PABORT 1
# else
-# define CPU_PABORT_HANDLER(reg, insn) mov reg, insn
+# define CPU_PABORT_HANDLER v7_pabort
# endif
#endif