patch-2.1.40 linux/arch/m68k/ifpsp060/iskeleton.S

Next file: linux/arch/m68k/kernel/entry.S
Previous file: linux/arch/m68k/fpsp040/skeleton.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.39/linux/arch/m68k/ifpsp060/iskeleton.S linux/arch/m68k/ifpsp060/iskeleton.S
@@ -36,13 +36,23 @@
 
 #include <linux/linkage.h>
 
-LOFF_ORIG_D0	= 0x20
+/*
+ * This has to match entry.S
+ */
+LOFF_ORIG_D0	= 0x24
+
+#define curptr a2
 
 #define SAVE_ALL				\
 	clrl	%sp@-;     /* stk_adj */	\
 	movel	%d0,%sp@-; /* orig d0 */	\
 	movel	%d0,%sp@-; /* d0 */		\
-	moveml	%d1-%d5/%a0-%a1,%sp@-
+	moveml	%d1-%d5/%a0-%a1/%curptr,%sp@-;
+
+#define GET_CURRENT(tmp) \
+	movel	%sp,tmp; \
+	andw	&-8192,tmp; \
+	movel	tmp,%curptr;
 
 |################################
 | (1) EXAMPLE CALL-OUTS 	#
@@ -85,6 +95,7 @@
 	SAVE_ALL
 	moveq	#-1,%d0
 	movel	%d0,%sp@(LOFF_ORIG_D0)    | indicate stack frame not for syscall
+	GET_CURRENT(%d0)
 	bral	SYMBOL_NAME(ret_from_exception)	| deliver signals, reschedule etc..
 
 |

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov