]> rtime.felk.cvut.cz Git - mcf548x/linux.git/blobdiff - arch/m68k/include/asm/entry_mm.h
Headers cleanup
[mcf548x/linux.git] / arch / m68k / include / asm / entry_mm.h
index 73b8c8fbed9cdbad94c505db43e98a3972d72d5d..2ffb1bea9283fdf010351a755a6cde7457d43aba 100644 (file)
@@ -7,6 +7,10 @@
 #include <asm/thread_info.h>
 #endif
 
+#ifdef CONFIG_COLDFIRE
+#include <asm/coldfire.h>
+#endif
+
 /*
  * Stack layout in 'ret_from_exception':
  *
@@ -26,6 +30,8 @@
  *     2C(sp) - sr
  *     2E(sp) - pc
  *     32(sp) - format & vector
+ *     36(sp) - MMUSR (Coldfire only)
+ *     3A(sp) - MMUAR (Coldfire only)
  */
 
 /*
@@ -65,6 +71,10 @@ LFLUSH_I_AND_D = 0x00000808
  * that the stack frame is NOT for syscall
  */
 .macro save_all_int
+#ifdef CONFIG_COLDFIRE
+       movel   MMUSR,%sp@-
+       movel   MMUAR,%sp@-
+#endif
        clrl    %sp@-           | stk_adj
        pea     -1:w            | orig d0
        movel   %d0,%sp@-       | d0
@@ -72,6 +82,10 @@ LFLUSH_I_AND_D = 0x00000808
 .endm
 
 .macro save_all_sys
+#ifdef CONFIG_COLDFIRE
+       movel   MMUSR,%sp@-
+       movel   MMUAR,%sp@-
+#endif
        clrl    %sp@-           | stk_adj
        movel   %d0,%sp@-       | orig d0
        movel   %d0,%sp@-       | d0
@@ -83,6 +97,9 @@ LFLUSH_I_AND_D = 0x00000808
        movel   %sp@+,%d0
        addql   #4,%sp          | orig d0
        addl    %sp@+,%sp       | stk adj
+#ifdef CONFIG_COLDFIRE
+       addql   #8,%sp          | MMUAR & MMUSR
+#endif
        rte
 .endm