vserver 2.0 rc7
[linux-2.6.git] / arch / arm / mm / abort-ev4t.S
index 831a4a2..b628254 100644 (file)
@@ -1,5 +1,6 @@
 #include <linux/linkage.h>
 #include <asm/assembler.h>
+#include "abort-macro.S"
 /*
  * Function: v4t_early_abort
  *
 ENTRY(v4t_early_abort)
        mrc     p15, 0, r1, c5, c0, 0           @ get FSR
        mrc     p15, 0, r0, c6, c0, 0           @ get FAR
-       tst     r3, #PSR_T_BIT
-       ldrneh  r3, [r2]                        @ read aborted thumb instruction
+       do_thumb_abort
        ldreq   r3, [r2]                        @ read aborted ARM instruction
        bic     r1, r1, #1 << 11 | 1 << 10      @ clear bits 11 and 10 of FSR
-       movne   r3, r3, lsl #(21 - 12)          @ move thumb bit 11 to ARM bit 20
        tst     r3, #1 << 20                    @ check write
        orreq   r1, r1, #1 << 11
        mov     pc, lr