OpenCloudOS-Kernel/arch/m68k/lib
Geert Uytterhoeven 631d8b674f m68k/uaccess: Fix asm constraints for userspace access
When compiling a MMU kernel with CPU_HAS_ADDRESS_SPACES=n (e.g. "MMU=y
allnoconfig": "echo CONFIG_MMU=y > allno.config && make KCONFIG_ALLCONFIG=1
allnoconfig"), we use plain "move" instead of "moves", and I got:

  CC      arch/m68k/lib/uaccess.o
{standard input}: Assembler messages:
{standard input}:47: Error: operands mismatch -- statement `move.b %a0,(%a1)' ignored

This happens because plain "move" doesn't support byte transfers between
memory and address registers, while "moves" does.

Fix the asm constraints for __generic_copy_from_user(),
__generic_copy_to_user(), and __clear_user() to only use data registers
when accessing userspace.

Also, relax the asm constraints for 16-bit userspace accesses in
__put_user() and __get_user(), as both "move" and "moves" do support
such transfers between memory and address registers.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2013-06-24 19:44:19 +02:00
..
Makefile m68k: Remove inline strcpy() and strcat() implementations 2013-06-24 19:44:18 +02:00
ashldi3.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ashrdi3.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checksum.c m68k: simpler m68k and ColdFire CPU's can use generic csum code 2011-12-24 21:47:57 +10:00
divsi3.S m68k: merge m68k and m68knommu arch directories 2011-03-25 14:05:13 +10:00
lshrdi3.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memcpy.c m68k: fix unused variable warning in mempcy.c 2012-12-05 10:51:23 +10:00
memmove.c m68k: remove duplicate memmove() implementation 2011-05-24 10:03:49 +10:00
memset.c m68k: use kernel processor defines for conditional optimizations 2011-06-14 11:42:29 +10:00
modsi3.S m68k: merge m68k and m68knommu arch directories 2011-03-25 14:05:13 +10:00
muldi3.c m68k: delay, muldi3 - Use CONFIG_CPU_HAS_NO_MULDIV64 2012-06-10 10:18:30 +02:00
mulsi3.S m68k: merge m68k and m68knommu arch directories 2011-03-25 14:05:13 +10:00
uaccess.c m68k/uaccess: Fix asm constraints for userspace access 2013-06-24 19:44:19 +02:00
udivsi3.S m68k: merge m68k and m68knommu arch directories 2011-03-25 14:05:13 +10:00
umodsi3.S m68k: merge m68k and m68knommu arch directories 2011-03-25 14:05:13 +10:00