Title: [8164] trunk/arch/blackfin: task [#4437], long call fix
- Revision
- 8164
- Author
- bhsong
- Date
- 2010-01-14 21:58:47 -0500 (Thu, 14 Jan 2010)
Log Message
task [#4437], long call fix
1. still have link error for some kernel options in blackfin/mach-common/interrupt.S
2. use scratch p2 register to replace p5 in sys_vfork/clone...
Modified Paths
Diff
Modified: trunk/arch/blackfin/kernel/entry.S (8163 => 8164)
--- trunk/arch/blackfin/kernel/entry.S 2010-01-15 02:39:49 UTC (rev 8163)
+++ trunk/arch/blackfin/kernel/entry.S 2010-01-15 02:58:47 UTC (rev 8164)
@@ -79,7 +79,7 @@
r0 += 24;
[--sp] = rets;
SP += -12;
- pseudo_long_call _bfin_vfork, p5;
+ pseudo_long_call _bfin_vfork, p2;
SP += 12;
rets = [sp++];
rts;
@@ -90,7 +90,7 @@
r0 += 24;
[--sp] = rets;
SP += -12;
- pseudo_long_call _bfin_clone, p5;
+ pseudo_long_call _bfin_clone, p2;
SP += 12;
rets = [sp++];
rts;
@@ -101,7 +101,7 @@
r0 += 24;
[--sp] = rets;
SP += -12;
- pseudo_long_call _do_rt_sigreturn, p5;
+ pseudo_long_call _do_rt_sigreturn, p2;
SP += 12;
rets = [sp++];
rts;
Modified: trunk/arch/blackfin/mach-common/interrupt.S (8163 => 8164)
--- trunk/arch/blackfin/mach-common/interrupt.S 2010-01-15 02:39:49 UTC (rev 8163)
+++ trunk/arch/blackfin/mach-common/interrupt.S 2010-01-15 02:58:47 UTC (rev 8164)
@@ -109,10 +109,10 @@
cc = r0 == 0;
if cc jump .Lcommon_restore_context;
#else /* CONFIG_IPIPE */
- call _do_irq;
+ pseudo_long_call _do_irq, p2;
SP += 12;
#endif /* CONFIG_IPIPE */
- call _return_from_int;
+ pseudo_long_call _return_from_int, p2;
.Lcommon_restore_context:
RESTORE_CONTEXT
rti;
@@ -179,7 +179,7 @@
w[p0] = r0.l;
#endif
- call _ret_from_exception;
+ pseudo_long_call _ret_from_exception, p2;
.Lcommon_restore_all_sys:
RESTORE_ALL_SYS
@@ -223,7 +223,7 @@
#ifdef CONFIG_FRAME_POINTER
fp = 0;
#endif
- call _system_call;
+ pseudo_long_call _system_call, p2;
jump .Lcommon_restore_context;
ENDPROC(_evt_system_call)
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits