summaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/abort-nommu.S
diff options
context:
space:
mode:
authorHyok S. Choi <hyok.choi@samsung.com>2006-09-28 14:46:16 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-09-28 21:15:46 +0200
commit0f45d7f36b766cb668cebfb5d4d2f67b4a8676ba (patch)
tree975c493fc13a2a078ef4d41374794faf1c5d1510 /arch/arm/mm/abort-nommu.S
parent[ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h (diff)
downloadlinux-0f45d7f36b766cb668cebfb5d4d2f67b4a8676ba.tar.xz
linux-0f45d7f36b766cb668cebfb5d4d2f67b4a8676ba.zip
[ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores.
There is no FSR/FAR register on no-CP15 or MPU cores. This patch adds a dummy abort handler which returns zero for the base restored Data Abort model !CPU_CP15_MMU cores. The abort-lv4t.S is still used with the fix-up for the base updated Data Abort model cores. Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/abort-nommu.S')
-rw-r--r--arch/arm/mm/abort-nommu.S19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mm/abort-nommu.S b/arch/arm/mm/abort-nommu.S
new file mode 100644
index 000000000000..a7cc7f9ee45d
--- /dev/null
+++ b/arch/arm/mm/abort-nommu.S
@@ -0,0 +1,19 @@
+#include <linux/linkage.h>
+#include <asm/assembler.h>
+/*
+ * Function: nommu_early_abort
+ *
+ * Params : r2 = address of aborted instruction
+ * : r3 = saved SPSR
+ *
+ * Returns : r0 = 0 (abort address)
+ * : r1 = 0 (FSR)
+ *
+ * Note: There is no FSR/FAR on !CPU_CP15_MMU cores.
+ * Just fill zero into the registers.
+ */
+ .align 5
+ENTRY(nommu_early_abort)
+ mov r0, #0 @ clear r0, r1 (no FSR/FAR)
+ mov r1, #0
+ mov pc, lr