11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* U3copy_from_user.S: UltraSparc-III optimized copy from userspace. 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright (C) 1999, 2000, 2004 David S. Miller (davem@redhat.com) 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EX_LD(x) \ 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds98: x; \ 84d000d5b9689734006d89fe9b7597c758b74a9fbDavid S. Miller .section __ex_table,"a";\ 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds .align 4; \ 1040bdac7dbc161639a498697f34fbd1ee800e51f4David S. Miller .word 98b, __retl_one; \ 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds .text; \ 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds .align 4; 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define FUNC_NAME U3copy_from_user 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define LOAD(type,addr,dest) type##a [addr] %asi, dest 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EX_RETVAL(x) 0 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include "U3memcpy.S" 19