aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2010-06-22 08:13:09 -0400
committerMichal Simek <monstr@monstr.eu>2010-08-04 04:22:45 -0400
commit63708f635c1702ac512626d7afe558de2b18554a (patch)
treee83656483ca0fc1bf569ac7e7df101ea80825e29
parent96014cc39bffe04429bcd143aa7bbde81f659ee4 (diff)
microblaze: Move stack backup to SAVE_STATE macro
Remove code duplicity and move it to SAVE_STATE macro. There is no impact on performance. Signed-off-by: Michal Simek <monstr@monstr.eu>
-rw-r--r--arch/microblaze/kernel/entry.S5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S
index 4a6cb1d68dd4..766ff568660c 100644
--- a/arch/microblaze/kernel/entry.S
+++ b/arch/microblaze/kernel/entry.S
@@ -505,6 +505,7 @@ C_ENTRY(sys_rt_sigreturn_wrapper):
505 */ 505 */
506 506
507#define SAVE_STATE \ 507#define SAVE_STATE \
508 swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)); /* save stack */ \
508 swi r11, r0, TOPHYS(r0_ram + PTO + PT_R11); /* Save r11 */ \ 509 swi r11, r0, TOPHYS(r0_ram + PTO + PT_R11); /* Save r11 */ \
509 set_bip; /*equalize initial state for all possible entries*/\ 510 set_bip; /*equalize initial state for all possible entries*/\
510 clear_eip; \ 511 clear_eip; \
@@ -552,7 +553,6 @@ C_ENTRY(sys_rt_sigreturn_wrapper):
552 tovirt(r1,r1) 553 tovirt(r1,r1)
553 554
554C_ENTRY(full_exception_trap): 555C_ENTRY(full_exception_trap):
555 swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)) /* save stack */
556 /* adjust exception address for privileged instruction 556 /* adjust exception address for privileged instruction
557 * for finding where is it */ 557 * for finding where is it */
558 addik r17, r17, -4 558 addik r17, r17, -4
@@ -584,7 +584,6 @@ C_ENTRY(full_exception_trap):
584 * The assembler routine is in "arch/microblaze/kernel/hw_exception_handler.S" 584 * The assembler routine is in "arch/microblaze/kernel/hw_exception_handler.S"
585 */ 585 */
586C_ENTRY(unaligned_data_trap): 586C_ENTRY(unaligned_data_trap):
587 swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)) /* save stack */
588 SAVE_STATE /* Save registers.*/ 587 SAVE_STATE /* Save registers.*/
589 /* where the trap should return need -8 to adjust for rtsd r15, 8 */ 588 /* where the trap should return need -8 to adjust for rtsd r15, 8 */
590 la r15, r0, ret_from_exc-8 589 la r15, r0, ret_from_exc-8
@@ -617,7 +616,6 @@ C_ENTRY(unaligned_data_trap):
617 */ 616 */
618/* data and intruction trap - which is choose is resolved int fault.c */ 617/* data and intruction trap - which is choose is resolved int fault.c */
619C_ENTRY(page_fault_data_trap): 618C_ENTRY(page_fault_data_trap):
620 swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)) /* save stack */
621 SAVE_STATE /* Save registers.*/ 619 SAVE_STATE /* Save registers.*/
622 /* where the trap should return need -8 to adjust for rtsd r15, 8 */ 620 /* where the trap should return need -8 to adjust for rtsd r15, 8 */
623 la r15, r0, ret_from_exc-8 621 la r15, r0, ret_from_exc-8
@@ -632,7 +630,6 @@ C_ENTRY(page_fault_data_trap):
632 nop; 630 nop;
633 631
634C_ENTRY(page_fault_instr_trap): 632C_ENTRY(page_fault_instr_trap):
635 swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)) /* save stack */
636 SAVE_STATE /* Save registers.*/ 633 SAVE_STATE /* Save registers.*/
637 /* where the trap should return need -8 to adjust for rtsd r15, 8 */ 634 /* where the trap should return need -8 to adjust for rtsd r15, 8 */
638 la r15, r0, ret_from_exc-8 635 la r15, r0, ret_from_exc-8