Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
memcpy.c File Reference
#include "memcpy.h"

Go to the source code of this file.

Macros

#define s_space   "%%sr0"
 
#define d_space   "%%sr0"
 
#define pa_memcpy   new2_copy
 
#define preserve_branch(label)
 
#define get_user_space()   (segment_eq(get_fs(), KERNEL_DS) ? 0 : mfsp(3))
 
#define get_kernel_space()   (0)
 
#define MERGE(w0, sh_1, w1, sh_2)
 
#define THRESHOLD   16
 
#define DPRINTF(fmt, args...)
 
#define def_load_ai_insn(_insn, _sz, _tt, _s, _a, _t, _e)
 
#define def_store_ai_insn(_insn, _sz, _tt, _s, _a, _t, _e)
 
#define ldbma(_s, _a, _t, _e)   def_load_ai_insn(ldbs,1,"=r",_s,_a,_t,_e)
 
#define stbma(_s, _t, _a, _e)   def_store_ai_insn(stbs,1,"r",_s,_a,_t,_e)
 
#define ldwma(_s, _a, _t, _e)   def_load_ai_insn(ldw,4,"=r",_s,_a,_t,_e)
 
#define stwma(_s, _t, _a, _e)   def_store_ai_insn(stw,4,"r",_s,_a,_t,_e)
 
#define flddma(_s, _a, _t, _e)   def_load_ai_insn(fldd,8,"=f",_s,_a,_t,_e)
 
#define fstdma(_s, _t, _a, _e)   def_store_ai_insn(fstd,8,"f",_s,_a,_t,_e)
 
#define def_load_insn(_insn, _tt, _s, _o, _a, _t, _e)
 
#define def_store_insn(_insn, _tt, _s, _t, _o, _a, _e)
 
#define ldw(_s, _o, _a, _t, _e)   def_load_insn(ldw,"=r",_s,_o,_a,_t,_e)
 
#define stw(_s, _t, _o, _a, _e)   def_store_insn(stw,"r",_s,_t,_o,_a,_e)
 
#define prefetch_src(addr)   do { } while(0)
 
#define prefetch_dst(addr)   do { } while(0)
 

Functions

 DECLARE_PER_CPU (struct exception_data, exception_data)
 

Macro Definition Documentation

#define d_space   "%%sr0"

Definition at line 64 of file memcpy.c.

#define def_load_ai_insn (   _insn,
  _sz,
  _tt,
  _s,
  _a,
  _t,
  _e 
)
Value:
__asm__ __volatile__ ( \
"1:\t" #_insn ",ma " #_sz "(" _s ",%1), %0\n\t" \
: _tt(_t), "+r"(_a) \
: \
: "r8")

Definition at line 99 of file memcpy.c.

#define def_load_insn (   _insn,
  _tt,
  _s,
  _o,
  _a,
  _t,
  _e 
)
Value:
__asm__ __volatile__ ( \
"1:\t" #_insn " " #_o "(" _s ",%1), %0\n\t" \
: _tt(_t) \
: "r"(_a) \
: "r8")

Definition at line 122 of file memcpy.c.

#define def_store_ai_insn (   _insn,
  _sz,
  _tt,
  _s,
  _a,
  _t,
  _e 
)
Value:
__asm__ __volatile__ ( \
"1:\t" #_insn ",ma %1, " #_sz "(" _s ",%0)\n\t" \
: "+r"(_a) \
: _tt(_t) \
: "r8")

Definition at line 107 of file memcpy.c.

#define def_store_insn (   _insn,
  _tt,
  _s,
  _t,
  _o,
  _a,
  _e 
)
Value:
__asm__ __volatile__ ( \
"1:\t" #_insn " %0, " #_o "(" _s ",%1)\n\t" \
: \
: _tt(_t), "r"(_a) \
: "r8")

Definition at line 130 of file memcpy.c.

#define DPRINTF (   fmt,
  args... 
)

Definition at line 96 of file memcpy.c.

#define flddma (   _s,
  _a,
  _t,
  _e 
)    def_load_ai_insn(fldd,8,"=f",_s,_a,_t,_e)

Definition at line 119 of file memcpy.c.

#define fstdma (   _s,
  _t,
  _a,
  _e 
)    def_store_ai_insn(fstd,8,"f",_s,_a,_t,_e)

Definition at line 120 of file memcpy.c.

#define get_kernel_space ( )    (0)

Definition at line 79 of file memcpy.c.

#define get_user_space ( )    (segment_eq(get_fs(), KERNEL_DS) ? 0 : mfsp(3))

Definition at line 78 of file memcpy.c.

#define ldbma (   _s,
  _a,
  _t,
  _e 
)    def_load_ai_insn(ldbs,1,"=r",_s,_a,_t,_e)

Definition at line 115 of file memcpy.c.

#define ldw (   _s,
  _o,
  _a,
  _t,
  _e 
)    def_load_insn(ldw,"=r",_s,_o,_a,_t,_e)

Definition at line 138 of file memcpy.c.

#define ldwma (   _s,
  _a,
  _t,
  _e 
)    def_load_ai_insn(ldw,4,"=r",_s,_a,_t,_e)

Definition at line 117 of file memcpy.c.

#define MERGE (   w0,
  sh_1,
  w1,
  sh_2 
)
Value:
({ \
unsigned int _r; \
asm volatile ( \
"mtsar %3\n" \
"shrpw %1, %2, %%sar, %0\n" \
: "=r"(_r) \
: "r"(w0), "r"(w1), "r"(sh_2) \
); \
_r; \
})

Definition at line 81 of file memcpy.c.

#define pa_memcpy   new2_copy

Definition at line 65 of file memcpy.c.

#define prefetch_dst (   addr)    do { } while(0)

Definition at line 153 of file memcpy.c.

#define prefetch_src (   addr)    do { } while(0)

Definition at line 152 of file memcpy.c.

#define preserve_branch (   label)
Value:
do { \
volatile int dummy; \
/* The following branch is never taken, it's just here to */ \
/* prevent gcc from optimizing away our exception code. */ \
if (unlikely(dummy != dummy)) \
goto label; \
} while (0)

Definition at line 70 of file memcpy.c.

#define s_space   "%%sr0"

Definition at line 63 of file memcpy.c.

#define stbma (   _s,
  _t,
  _a,
  _e 
)    def_store_ai_insn(stbs,1,"r",_s,_a,_t,_e)

Definition at line 116 of file memcpy.c.

#define stw (   _s,
  _t,
  _o,
  _a,
  _e 
)    def_store_insn(stw,"r",_s,_t,_o,_a,_e)

Definition at line 139 of file memcpy.c.

#define stwma (   _s,
  _t,
  _a,
  _e 
)    def_store_ai_insn(stw,4,"r",_s,_a,_t,_e)

Definition at line 118 of file memcpy.c.

#define THRESHOLD   16

Definition at line 91 of file memcpy.c.

Function Documentation

DECLARE_PER_CPU ( struct exception_data  ,
exception_data   
)