microblaze: Move stack backup to SAVE_STATE macro
[deliverable/linux.git] / arch / microblaze / kernel / entry.S
index 4a6cb1d68dd40b61e4b8acf5361dec0d5e57a968..766ff568660c8aa66e3b693e3ba5cad6508062fc 100644 (file)
@@ -505,6 +505,7 @@ C_ENTRY(sys_rt_sigreturn_wrapper):
  */
 
 #define SAVE_STATE     \
+       swi     r1, r0, TOPHYS(PER_CPU(ENTRY_SP)); /* save stack */     \
        swi     r11, r0, TOPHYS(r0_ram + PTO + PT_R11); /* Save r11 */  \
        set_bip;        /*equalize initial state for all possible entries*/\
        clear_eip;                                                      \
@@ -552,7 +553,6 @@ C_ENTRY(sys_rt_sigreturn_wrapper):
        tovirt(r1,r1)
 
 C_ENTRY(full_exception_trap):
-       swi     r1, r0, TOPHYS(PER_CPU(ENTRY_SP)) /* save stack */
        /* adjust exception address for privileged instruction
         * for finding where is it */
        addik   r17, r17, -4
@@ -584,7 +584,6 @@ C_ENTRY(full_exception_trap):
  * The assembler routine is in "arch/microblaze/kernel/hw_exception_handler.S"
  */
 C_ENTRY(unaligned_data_trap):
-       swi     r1, r0, TOPHYS(PER_CPU(ENTRY_SP)) /* save stack */
        SAVE_STATE              /* Save registers.*/
        /* where the trap should return need -8 to adjust for rtsd r15, 8 */
        la      r15, r0, ret_from_exc-8
@@ -617,7 +616,6 @@ C_ENTRY(unaligned_data_trap):
  */
 /* data and intruction trap - which is choose is resolved int fault.c */
 C_ENTRY(page_fault_data_trap):
-       swi     r1, r0, TOPHYS(PER_CPU(ENTRY_SP)) /* save stack */
        SAVE_STATE              /* Save registers.*/
        /* where the trap should return need -8 to adjust for rtsd r15, 8 */
        la      r15, r0, ret_from_exc-8
@@ -632,7 +630,6 @@ C_ENTRY(page_fault_data_trap):
        nop;
 
 C_ENTRY(page_fault_instr_trap):
-       swi     r1, r0, TOPHYS(PER_CPU(ENTRY_SP)) /* save stack */
        SAVE_STATE              /* Save registers.*/
        /* where the trap should return need -8 to adjust for rtsd r15, 8 */
        la      r15, r0, ret_from_exc-8
This page took 0.037548 seconds and 5 git commands to generate.