Path: blob/master/arch/sparc/lib/U1copy_from_user.S
10817 views
/* U1copy_from_user.S: UltraSparc-I/II/IIi/IIe optimized copy from userspace.1*2* Copyright (C) 1999, 2000, 2004 David S. Miller ([email protected])3*/45#define EX_LD(x) \698: x; \7.section __ex_table,"a";\8.align 4; \9.word 98b, __retl_one; \10.text; \11.align 4;1213#define FUNC_NAME ___copy_from_user14#define LOAD(type,addr,dest) type##a [addr] %asi, dest15#define LOAD_BLK(addr,dest) ldda [addr] ASI_BLK_AIUS, dest16#define EX_RETVAL(x) 01718/* Writing to %asi is _expensive_ so we hardcode it.19* Reading %asi to check for KERNEL_DS is comparatively20* cheap.21*/22#define PREAMBLE \23rd %asi, %g1; \24cmp %g1, ASI_AIUS; \25bne,pn %icc, ___copy_in_user; \26nop; \2728#include "U1memcpy.S"293031