kernel/eka/common/arm/cmem.cia
branchGCC_SURGE
changeset 203 71dce6d9df02
parent 192 8132de65a0da
child 241 973a4e3b29b5
equal deleted inserted replaced
197:adb088c9cfcf 203:71dce6d9df02
   181 	asm("small_fill_end: ");
   181 	asm("small_fill_end: ");
   182 	__JUMP(,lr);
   182 	__JUMP(,lr);
   183 
   183 
   184     }
   184     }
   185 
   185 
       
   186 #ifdef __EABI__
       
   187 //mikek N.B. These __aeabi_mem functions are also defined in rvct/compsupp/aeabimem.cpp
       
   188 // and should be implemented in the compsupp library, not here, when we build one for gcce.  
       
   189 
       
   190 #define EXPORT_EABI_MEMSET_VENEER(name) \
       
   191 extern "C" EXPORT_C __NAKED__ TAny* (name)(TAny* /*aTrg*/, unsigned int /*aLength*/, TInt /*aValue*/ ) \
       
   192 { \
       
   193     asm("   and      r2, r2, #255"); \
       
   194 	asm("	b		 fill		 "); \
       
   195 }
       
   196 
       
   197 EXPORT_EABI_MEMSET_VENEER(__aeabi_memset8)
       
   198 EXPORT_EABI_MEMSET_VENEER(__aeabi_memset4)
       
   199 EXPORT_EABI_MEMSET_VENEER(__aeabi_memset)
       
   200 
       
   201 #define EXPORT_EABI_MEMCLR_ALIAS(alias) \
       
   202 extern "C" EXPORT_C __NAKED__ TAny* (alias)(TAny* /*aTrg*/, unsigned int /*aLength*/ ) \
       
   203 { \
       
   204 	asm("   b  memclr  "); \
       
   205 }
       
   206 
       
   207 EXPORT_EABI_MEMCLR_ALIAS(__aeabi_memclr8)
       
   208 EXPORT_EABI_MEMCLR_ALIAS(__aeabi_memclr4)
       
   209 EXPORT_EABI_MEMCLR_ALIAS(__aeabi_memclr)
       
   210 
       
   211 #define EXPORT_EABI_MEMMOVE_ALIAS(alias,func) \
       
   212 extern "C" EXPORT_C __NAKED__ TAny* (alias)(TAny* /*aTrg*/, const TAny* /*aSrc*/, unsigned int /*aLength*/) \
       
   213 { \
       
   214 	asm("   b " #func ); \
       
   215 }
       
   216 
       
   217 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memcpy8,memcpy)
       
   218 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memcpy4,memcpy)
       
   219 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memcpy,memcpy)
       
   220 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memmove8,memmove)
       
   221 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memmove4,memmove)
       
   222 EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memmove,memmove)
       
   223 #endif // __EABI__
       
   224 
   186 #endif  // USE_REPLACEMENT_MEMSET
   225 #endif  // USE_REPLACEMENT_MEMSET
   187 
   226 
   188 #ifndef USE_REPLACEMENT_MEMCPY
   227 #ifndef USE_REPLACEMENT_MEMCPY
   189 
   228 
   190 // See header file e32cmn.h for the in-source documentation.
   229 // See header file e32cmn.h for the in-source documentation.