From: Geert Uytterhoeven <geert@linux-m68k.org>

M68k: Set last in switch_to(), fix asm constraints (from Andreas Schwab)



 include/asm-m68k/system.h |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff -puN include/asm-m68k/system.h~m68k-switch_to-fix include/asm-m68k/system.h
--- 25/include/asm-m68k/system.h~m68k-switch_to-fix	2003-08-24 12:07:17.000000000 -0700
+++ 25-akpm/include/asm-m68k/system.h	2003-08-24 12:07:17.000000000 -0700
@@ -36,9 +36,12 @@ asmlinkage void resume(void);
 #define switch_to(prev,next,last) do { \
   register void *_prev __asm__ ("a0") = (prev); \
   register void *_next __asm__ ("a1") = (next); \
+  register void *_last __asm__ ("d1"); \
   __asm__ __volatile__("jbsr resume" \
-		       : : "a" (_prev), "a" (_next) \
-		       : "d0", "d1", "d2", "d3", "d4", "d5", "a0", "a1"); \
+		       : "=a" (_prev), "=a" (_next), "=d" (_last) \
+		       : "0" (_prev), "1" (_next) \
+		       : "d0", "d2", "d3", "d4", "d5"); \
+  (last) = _last; \
 } while (0)
 
 

_