linux/arch/sparc/lib/NG2copy_from_user.S
<<
>>
Prefs
   1/* NG2copy_from_user.S: Niagara-2 optimized copy from userspace.
   2 *
   3 * Copyright (C) 2007 David S. Miller (davem@davemloft.net)
   4 */
   5
   6#define EX_LD(x)                \
   798:     x;                      \
   8        .section __ex_table,"a";\
   9        .align 4;               \
  10        .word 98b, __retl_one_asi;\
  11        .text;                  \
  12        .align 4;
  13
  14#ifndef ASI_AIUS
  15#define ASI_AIUS        0x11
  16#endif
  17
  18#ifndef ASI_BLK_AIUS_4V
  19#define ASI_BLK_AIUS_4V 0x17
  20#endif
  21
  22#define FUNC_NAME               NG2copy_from_user
  23#define LOAD(type,addr,dest)    type##a [addr] %asi, dest
  24#define LOAD_BLK(addr,dest)     ldda [addr] ASI_BLK_AIUS_4V, dest
  25#define EX_RETVAL(x)            0
  26
  27#ifdef __KERNEL__
  28#define PREAMBLE                                        \
  29        rd              %asi, %g1;                      \
  30        cmp             %g1, ASI_AIUS;                  \
  31        bne,pn          %icc, ___copy_in_user;          \
  32         nop
  33#endif
  34
  35#include "NG2memcpy.S"
  36