2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-21 19:53:59 +08:00
linux-next/arch/alpha/lib
Michael Cree f2db633d30 alpha: Use new generic strncpy_from_user() and strnlen_user()
Similar to x86/sparc/powerpc implementations except:
1) we implement an extremely efficient has_zero()/find_zero()
   sequence with both prep_zero_mask() and create_zero_mask()
   no-operations.
2) Our output from prep_zero_mask() differs in that only the
   lowest eight bits are used to represent the zero bytes
   nevertheless it can be safely ORed with other similar masks
   from prep_zero_mask() and forms input to create_zero_mask(),
   the two fundamental properties prep_zero_mask() must satisfy.

Tests on EV67 and EV68 CPUs revealed that the generic code is
essentially as fast (to within 0.5% of CPU cycles) of the old
Alpha specific code for large quadword-aligned strings, despite
the 30% extra CPU instructions executed.  In contrast, the
generic code for unaligned strings is substantially slower (by
more than a factor of 3) than the old Alpha specific code.

Signed-off-by: Michael Cree <mcree@orcon.net.nz>
Acked-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-08-19 08:41:18 -07:00
..
callback_srm.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
checksum.c spelling fixes: arch/alpha/ 2007-10-20 01:04:37 +02:00
clear_page.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
clear_user.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
copy_page.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
copy_user.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
csum_ipv6_magic.S alpha: fix alignment problem in csum_ipv6_magic() 2007-06-24 08:59:11 -07:00
csum_partial_copy.c spelling fixes: arch/alpha/ 2007-10-20 01:04:37 +02:00
dbg_current.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dbg_stackcheck.S fix file specification in comments 2006-10-03 23:01:26 +02:00
dbg_stackkill.S fix file specification in comments 2006-10-03 23:01:26 +02:00
dec_and_lock.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
divide.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev6-clear_page.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev6-clear_user.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev6-copy_page.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev6-copy_user.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev6-csum_ipv6_magic.S alpha: fix alignment problem in csum_ipv6_magic() 2007-06-24 08:59:11 -07:00
ev6-divide.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev6-memchr.S [PATCH] bitops: alpha: use config options instead of __alpha_fix__ and __alpha_cix__ 2006-03-26 08:57:09 -08:00
ev6-memcpy.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev6-memset.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev6-stxcpy.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev6-stxncpy.S alpha: strncpy/strncat fixes 2007-12-17 19:28:15 -08:00
ev67-strcat.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev67-strchr.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev67-strlen.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev67-strncat.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ev67-strrchr.S Fix common misspellings 2011-03-31 11:26:23 -03:00
fls.c Fix common misspellings 2011-03-31 11:26:23 -03:00
fpreg.c [PATCH] bitops: alpha: use config options instead of __alpha_fix__ and __alpha_cix__ 2006-03-26 08:57:09 -08:00
Makefile alpha: Use new generic strncpy_from_user() and strnlen_user() 2012-08-19 08:41:18 -07:00
memchr.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memcpy.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memmove.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memset.S fix file specification in comments 2006-10-03 23:01:26 +02:00
srm_printk.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
srm_puts.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
stacktrace.c Disintegrate asm/system.h for Alpha 2012-03-28 18:11:12 +01:00
strcat.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
strchr.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
strcpy.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
strlen.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
strncat.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
strncpy.S alpha: strncpy/strncat fixes 2007-12-17 19:28:15 -08:00
strrchr.S Fix common misspellings 2011-03-31 11:26:23 -03:00
stxcpy.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
stxncpy.S alpha: strncpy/strncat fixes 2007-12-17 19:28:15 -08:00
udelay.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00