From: Geert Uytterhoeven Date: Sun, 9 Jun 2013 18:12:42 +0000 (+0200) Subject: m68k/uaccess: Fix asm constraints for userspace access X-Git-Tag: omap-for-v3.11/fixes-for-merge-window~37^2~2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=631d8b674f5f8235e9cb7e628b0fe9e5200e3158;p=pandora-kernel.git 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 --- Reading git-diff-tree failed