--- arch/m68k/kernel/signal.c | 8 +-- arch/m68k/lib/checksum.c | 24 +++++----- include/asm-m68k/uaccess.h | 100 +++++++++++++++++++++++---------------------- 3 files changed, 69 insertions(+), 63 deletions(-) --- linux-m68k-2.6.8.1+uc0/arch/m68k/kernel/signal.c 2004-08-04 12:13:35.000000000 +0200 +++ uClinux-amiga-2.6.8.1/arch/m68k/kernel/signal.c 2004-06-26 17:17:37.000000000 +0200 @@ -373,10 +383,10 @@ restore_sigcontext(struct pt_regs *regs, " lea %/sp@(%c3),%/a0\n\t" /* add offset of fmt */ " lsrl #2,%1\n\t" " subql #1,%1\n\t" - "2: movesl %4@+,%2\n\t" + "2: " MOVES "l %4@+,%2\n\t" "3: movel %2,%/a0@+\n\t" " dbra %1,2b\n\t" - " bral ret_from_signal\n" + " jbra ret_from_signal\n" "4:\n" ".section __ex_table,\"a\"\n" " .align 4\n" @@ -472,10 +482,10 @@ rt_restore_ucontext(struct pt_regs *regs " lea %/sp@(%c3),%/a0\n\t" /* add offset of fmt */ " lsrl #2,%1\n\t" " subql #1,%1\n\t" - "2: movesl %4@+,%2\n\t" + "2: " MOVES "l %4@+,%2\n\t" "3: movel %2,%/a0@+\n\t" " dbra %1,2b\n\t" - " bral ret_from_signal\n" + " jbra ret_from_signal\n" "4:\n" ".section __ex_table,\"a\"\n" " .align 4\n" --- linux-m68k-2.6.8.1+uc0/arch/m68k/lib/checksum.c 2004-04-28 11:05:46.000000000 +0200 +++ uClinux-amiga-2.6.8.1/arch/m68k/lib/checksum.c 2004-05-03 21:45:14.000000000 +0200 @@ -152,7 +152,7 @@ csum_partial_copy_from_user(const char * "jra 4f\n" "1:\n" "10:\t" - "movesw %2@+,%4\n\t" /* add first word to sum */ + MOVES "w %2@+,%4\n\t" /* add first word to sum */ "addw %4,%0\n\t" "movew %4,%3@+\n\t" "clrl %4\n\t" @@ -165,35 +165,35 @@ csum_partial_copy_from_user(const char * "subql #1,%1\n" "1:\n" "11:\t" - "movesl %2@+,%5\n\t" + MOVES "l %2@+,%5\n\t" "addxl %5,%0\n\t" "movel %5,%3@+\n\t" "12:\t" - "movesl %2@+,%5\n\t" + MOVES "l %2@+,%5\n\t" "addxl %5,%0\n\t" "movel %5,%3@+\n\t" "13:\t" - "movesl %2@+,%5\n\t" + MOVES "l %2@+,%5\n\t" "addxl %5,%0\n\t" "movel %5,%3@+\n\t" "14:\t" - "movesl %2@+,%5\n\t" + MOVES "l %2@+,%5\n\t" "addxl %5,%0\n\t" "movel %5,%3@+\n\t" "15:\t" - "movesl %2@+,%5\n\t" + MOVES "l %2@+,%5\n\t" "addxl %5,%0\n\t" "movel %5,%3@+\n\t" "16:\t" - "movesl %2@+,%5\n\t" + MOVES "l %2@+,%5\n\t" "addxl %5,%0\n\t" "movel %5,%3@+\n\t" "17:\t" - "movesl %2@+,%5\n\t" + MOVES "l %2@+,%5\n\t" "addxl %5,%0\n\t" "movel %5,%3@+\n\t" "18:\t" - "movesl %2@+,%5\n\t" + MOVES "l %2@+,%5\n\t" "addxl %5,%0\n\t" "movel %5,%3@+\n\t" "dbra %1,1b\n\t" @@ -211,7 +211,7 @@ csum_partial_copy_from_user(const char * "3:\n" /* loop for rest longs */ "19:\t" - "movesl %2@+,%5\n\t" + MOVES "l %2@+,%5\n\t" "addxl %5,%0\n\t" "movel %5,%3@+\n\t" "dbra %4,3b\n\t" @@ -225,14 +225,14 @@ csum_partial_copy_from_user(const char * "subqw #2,%1\n\t" "jlt 5f\n\t" "20:\t" - "movesw %2@+,%5\n\t" /* have rest >= 2: get word */ + MOVES "w %2@+,%5\n\t" /* have rest >= 2: get word */ "movew %5,%3@+\n\t" "swap %5\n\t" /* into bits 16..31 */ "tstw %1\n\t" /* another byte? */ "jeq 6f\n" "5:\n" "21:\t" - "movesb %2@,%5\n\t" /* have odd rest: get byte */ + MOVES "b %2@,%5\n\t" /* have odd rest: get byte */ "moveb %5,%3@+\n\t" "lslw #8,%5\n\t" /* into bits 8..15; 16..31 untouched */ "6:\t" --- linux-m68k-2.6.8.1+uc0/include/asm-m68k/uaccess.h 2004-04-28 15:47:30.000000000 +0200 +++ uClinux-amiga-2.6.8.1/include/asm-m68k/uaccess.h 2004-05-03 21:45:15.000000000 +0200 @@ -70,6 +89,12 @@ struct exception_table_entry extern int __put_user_bad(void); +#ifdef CONFIG_MMU +#define MOVES "moves" +#else +#define MOVES "move" +#endif + /* * Tell gcc we read from memory instead of writing: this is because * we do not write to any memory gcc knows about, so there are no @@ -77,7 +102,7 @@ extern int __put_user_bad(void); */ #define __put_user_asm(err,x,ptr,bwl) \ __asm__ __volatile__ \ - ("21:moves" #bwl " %2,%1\n" \ + ("21:" MOVES #bwl " %2,%1\n" \ "1:\n" \ ".section .fixup,\"ax\"\n" \ " .even\n" \ @@ -90,7 +115,7 @@ __asm__ __volatile__ \ " .long 1b,2b\n" \ ".previous" \ : "=d"(err) \ - : "m"(*(ptr)), "r"(x), "i"(-EFAULT), "0"(0)) + : "m"(*(ptr)), "d"(x), "i"(-EFAULT), "0"(0)) #define get_user(x, ptr) \ ({ \ @@ -123,7 +148,7 @@ extern int __get_user_bad(void); #define __get_user_asm(err,x,ptr,bwl,reg) \ __asm__ __volatile__ \ - ("1: moves" #bwl " %2,%1\n" \ + ("1: " MOVES #bwl " %2,%1\n" \ "2:\n" \ ".section .fixup,\"ax\"\n" \ " .even\n" \ @@ -145,18 +170,18 @@ __generic_copy_from_user(void *to, const __asm__ __volatile__ (" tstl %2\n" " jeq 2f\n" - "1: movesl (%1)+,%3\n" + "1: " MOVES "l (%1)+,%3\n" " movel %3,(%0)+\n" " subql #1,%2\n" " jne 1b\n" "2: movel %4,%2\n" " bclr #1,%2\n" " jeq 4f\n" - "3: movesw (%1)+,%3\n" + "3: " MOVES "w (%1)+,%3\n" " movew %3,(%0)+\n" "4: bclr #0,%2\n" " jeq 6f\n" - "5: movesb (%1)+,%3\n" + "5: " MOVES "b (%1)+,%3\n" " moveb %3,(%0)+\n" "6:\n" ".section .fixup,\"ax\"\n" @@ -201,18 +226,18 @@ __generic_copy_to_user(void *to, const v (" tstl %2\n" " jeq 3f\n" "1: movel (%1)+,%3\n" - "22:movesl %3,(%0)+\n" + "22:" MOVES "l %3,(%0)+\n" "2: subql #1,%2\n" " jne 1b\n" "3: movel %4,%2\n" " bclr #1,%2\n" " jeq 4f\n" " movew (%1)+,%3\n" - "24:movesw %3,(%0)+\n" + "24:" MOVES "w %3,(%0)+\n" "4: bclr #0,%2\n" " jeq 5f\n" " moveb (%1)+,%3\n" - "25:movesb %3,(%0)+\n" + "25:" MOVES "b %3,(%0)+\n" "5:\n" ".section .fixup,\"ax\"\n" " .even\n" @@ -244,7 +269,7 @@ __generic_copy_to_user(void *to, const v #define __copy_from_user_big(to, from, n, fixup, copy) \ __asm__ __volatile__ \ - ("10: movesl (%1)+,%%d0\n" \ + ("10: " MOVES "l (%1)+,%%d0\n" \ " movel %%d0,(%0)+\n" \ " subql #1,%2\n" \ " jne 10b\n" \ @@ -276,7 +300,7 @@ __constant_copy_from_user(void *to, cons break; case 1: __asm__ __volatile__ - ("1: movesb (%1)+,%%d0\n" + ("1: " MOVES "b (%1)+,%%d0\n" " moveb %%d0,(%0)+\n" "2:\n" ".section .fixup,\"ax\"\n" @@ -295,7 +319,7 @@ __constant_copy_from_user(void *to, cons break; case 2: __asm__ __volatile__ - ("1: movesw (%1)+,%%d0\n" + ("1: " MOVES "w (%1)+,%%d0\n" " movew %%d0,(%0)+\n" "2:\n" ".section .fixup,\"ax\"\n" @@ -314,9 +338,9 @@ __constant_copy_from_user(void *to, cons break; case 3: __asm__ __volatile__ - ("1: movesw (%1)+,%%d0\n" + ("1: " MOVES "w (%1)+,%%d0\n" " movew %%d0,(%0)+\n" - "2: movesb (%1)+,%%d0\n" + "2: " MOVES "b (%1)+,%%d0\n" " moveb %%d0,(%0)+\n" "3:" ".section .fixup,\"ax\"\n" @@ -338,7 +362,7 @@ __constant_copy_from_user(void *to, cons break; case 4: __asm__ __volatile__ - ("1: movesl (%1)+,%%d0\n" + ("1: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" "2:" ".section .fixup,\"ax\"\n" @@ -357,9 +381,9 @@ __constant_copy_from_user(void *to, cons break; case 8: __asm__ __volatile__ - ("1: movesl (%1)+,%%d0\n" + ("1: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" - "2: movesl (%1)+,%%d0\n" + "2: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" "3:" ".section .fixup,\"ax\"\n" @@ -381,11 +405,11 @@ __constant_copy_from_user(void *to, cons break; case 12: __asm__ __volatile__ - ("1: movesl (%1)+,%%d0\n" + ("1: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" - "2: movesl (%1)+,%%d0\n" + "2: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" - "3: movesl (%1)+,%%d0\n" + "3: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" "4:" ".section .fixup,\"ax\"\n" @@ -410,13 +434,13 @@ __constant_copy_from_user(void *to, cons break; case 16: __asm__ __volatile__ - ("1: movesl (%1)+,%%d0\n" + ("1: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" - "2: movesl (%1)+,%%d0\n" + "2: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" - "3: movesl (%1)+,%%d0\n" + "3: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" - "4: movesl (%1)+,%%d0\n" + "4: " MOVES "l (%1)+,%%d0\n" " movel %%d0,(%0)+\n" "5:" ".section .fixup,\"ax\"\n" @@ -453,7 +477,7 @@ __constant_copy_from_user(void *to, cons "1: addql #1,%2\n" " clrb (%0)+", /* copy */ - "2: movesb (%1)+,%%d0\n" + "2: " MOVES "b (%1)+,%%d0\n" " moveb %%d0,(%0)+\n" ".section __ex_table,\"a\"\n" " .long 2b,1b\n" @@ -465,7 +489,7 @@ __constant_copy_from_user(void *to, cons "1: addql #2,%2\n" " clrw (%0)+", /* copy */ - "2: movesw (%1)+,%%d0\n" + "2: " MOVES "w (%1)+,%%d0\n" " movew %%d0,(%0)+\n" ".section __ex_table,\"a\"\n" " .long 2b,1b\n" @@ -479,9 +503,9 @@ __constant_copy_from_user(void *to, cons "2: addql #1,%2\n" " clrb (%0)+", /* copy */ - "3: movesw (%1)+,%%d0\n" + "3: " MOVES "w (%1)+,%%d0\n" " movew %%d0,(%0)+\n" - "4: movesb (%1)+,%%d0\n" + "4: " MOVES "b (%1)+,%%d0\n" " moveb %%d0,(%0)+\n" ".section __ex_table,\"a\"\n" " .long 3b,1b\n" @@ -497,7 +521,7 @@ __constant_copy_from_user(void *to, cons #define __copy_to_user_big(to, from, n, fixup, copy) \ __asm__ __volatile__ \ ("10: movel (%1)+,%%d0\n" \ - "31: movesl %%d0,(%0)+\n" \ + "31: " MOVES "l %%d0,(%0)+\n" \ "11: subql #1,%2\n" \ " jne 10b\n" \ "41:\n" \ @@ -530,7 +554,7 @@ __constant_copy_to_user(void *to, const case 1: __asm__ __volatile__ (" moveb (%1)+,%%d0\n" - "21:movesb %%d0,(%0)+\n" + "21:" MOVES "b %%d0,(%0)+\n" "1:\n" ".section .fixup,\"ax\"\n" " .even\n" @@ -549,7 +573,7 @@ __constant_copy_to_user(void *to, const case 2: __asm__ __volatile__ (" movew (%1)+,%%d0\n" - "21:movesw %%d0,(%0)+\n" + "21:" MOVES "w %%d0,(%0)+\n" "1:\n" ".section .fixup,\"ax\"\n" " .even\n" @@ -568,9 +592,9 @@ __constant_copy_to_user(void *to, const case 3: __asm__ __volatile__ (" movew (%1)+,%%d0\n" - "21:movesw %%d0,(%0)+\n" + "21:" MOVES "w %%d0,(%0)+\n" "1: moveb (%1)+,%%d0\n" - "22:movesb %%d0,(%0)+\n" + "22:" MOVES "b %%d0,(%0)+\n" "2:\n" ".section .fixup,\"ax\"\n" " .even\n" @@ -592,7 +616,7 @@ __constant_copy_to_user(void *to, const case 4: __asm__ __volatile__ (" movel (%1)+,%%d0\n" - "21:movesl %%d0,(%0)+\n" + "21:" MOVES "l %%d0,(%0)+\n" "1:\n" ".section .fixup,\"ax\"\n" " .even\n" @@ -611,9 +635,9 @@ __constant_copy_to_user(void *to, const case 8: __asm__ __volatile__ (" movel (%1)+,%%d0\n" - "21:movesl %%d0,(%0)+\n" + "21:" MOVES "l %%d0,(%0)+\n" "1: movel (%1)+,%%d0\n" - "22:movesl %%d0,(%0)+\n" + "22:" MOVES "l %%d0,(%0)+\n" "2:\n" ".section .fixup,\"ax\"\n" " .even\n" @@ -635,11 +659,11 @@ __constant_copy_to_user(void *to, const case 12: __asm__ __volatile__ (" movel (%1)+,%%d0\n" - "21:movesl %%d0,(%0)+\n" + "21:" MOVES "l %%d0,(%0)+\n" "1: movel (%1)+,%%d0\n" - "22:movesl %%d0,(%0)+\n" + "22:" MOVES "l %%d0,(%0)+\n" "2: movel (%1)+,%%d0\n" - "23:movesl %%d0,(%0)+\n" + "23:" MOVES "l %%d0,(%0)+\n" "3:\n" ".section .fixup,\"ax\"\n" " .even\n" @@ -664,13 +688,13 @@ __constant_copy_to_user(void *to, const case 16: __asm__ __volatile__ (" movel (%1)+,%%d0\n" - "21:movesl %%d0,(%0)+\n" + "21:" MOVES "l %%d0,(%0)+\n" "1: movel (%1)+,%%d0\n" - "22:movesl %%d0,(%0)+\n" + "22:" MOVES "l %%d0,(%0)+\n" "2: movel (%1)+,%%d0\n" - "23:movesl %%d0,(%0)+\n" + "23:" MOVES "l %%d0,(%0)+\n" "3: movel (%1)+,%%d0\n" - "24:movesl %%d0,(%0)+\n" + "24:" MOVES "l %%d0,(%0)+\n" "4:" ".section .fixup,\"ax\"\n" " .even\n" @@ -706,7 +730,7 @@ __constant_copy_to_user(void *to, const "1: addql #1,%2", /* copy */ " moveb (%1)+,%%d0\n" - "22:movesb %%d0,(%0)+\n" + "22:" MOVES "b %%d0,(%0)+\n" "2:" ".section __ex_table,\"a\"\n" " .long 22b,1b\n" @@ -719,7 +743,7 @@ __constant_copy_to_user(void *to, const "1: addql #2,%2", /* copy */ " movew (%1)+,%%d0\n" - "22:movesw %%d0,(%0)+\n" + "22:" MOVES "w %%d0,(%0)+\n" "2:" ".section __ex_table,\"a\"\n" " .long 22b,1b\n" @@ -733,9 +757,9 @@ __constant_copy_to_user(void *to, const "2: addql #1,%2", /* copy */ " movew (%1)+,%%d0\n" - "23:movesw %%d0,(%0)+\n" + "23:" MOVES "w %%d0,(%0)+\n" "3: moveb (%1)+,%%d0\n" - "24:movesb %%d0,(%0)+\n" + "24:" MOVES "b %%d0,(%0)+\n" "4:" ".section __ex_table,\"a\"\n" " .long 23b,1b\n"