Will Deacon
8c56cc8be5
ARM: 7449/1: use generic strnlen_user and strncpy_from_user functions
...
This patch implements the word-at-a-time interface for ARM using the
same algorithm as x86. We use the fls macro from ARMv5 onwards, where
we have a clz instruction available which saves us a mov instruction
when targetting Thumb-2. For older CPUs, we use the magic 0x0ff0001
constant. Big-endian configurations make use of the implementation from
asm-generic.
With this implemented, we can replace our byte-at-a-time strnlen_user
and strncpy_from_user functions with the optimised generic versions.
Reviewed-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-07-09 17:41:11 +01:00
..
2012-07-09 17:39:39 +01:00
2012-05-25 09:18:59 -07:00
2012-06-01 02:04:46 +02:00
2012-07-09 17:41:11 +01:00
2012-07-09 17:41:11 +01:00
2012-07-09 17:41:11 +01:00
2012-05-25 09:31:59 -07:00
2012-04-18 21:21:45 -07:00
2012-05-15 21:20:59 +02:00
2012-05-13 17:12:17 +01:00
2012-05-26 13:14:01 -07:00
2012-05-26 12:42:29 -07:00
2012-03-29 18:02:10 -07:00
2012-06-01 16:55:42 -07:00
2012-06-01 16:57:51 -07:00
2012-05-13 17:12:17 +01:00
2012-03-30 17:00:34 -07:00
2012-03-29 18:02:10 -07:00
2012-06-01 16:55:42 -07:00
2012-05-21 15:15:10 +01:00
2012-05-13 17:12:16 +01:00
2012-05-13 17:12:17 +01:00
2012-05-13 17:12:17 +01:00
2012-06-01 16:55:42 -07:00
2012-05-26 12:42:29 -07:00
2012-05-13 17:12:17 +01:00
2012-05-24 14:01:46 -07:00
2012-05-22 13:32:53 -07:00
2012-07-09 17:39:36 +01:00
2012-05-26 12:42:29 -07:00
2012-05-26 12:57:47 -07:00
2012-06-01 16:55:42 -07:00
2012-06-01 16:55:42 -07:00
2012-07-09 17:39:36 +01:00
2012-06-01 16:55:42 -07:00
2012-03-29 18:02:10 -07:00
2012-05-26 13:14:01 -07:00
2012-05-26 13:14:01 -07:00
2012-07-09 17:37:35 +01:00
2012-03-29 18:02:10 -07:00
2012-03-29 18:02:10 -07:00
2012-06-01 16:57:51 -07:00
2012-06-01 16:57:51 -07:00
2012-03-28 18:30:01 +01:00
2012-03-28 18:30:01 +01:00
2012-03-28 18:30:01 +01:00
2012-06-01 16:57:51 -07:00
2012-06-01 16:57:51 -07:00
2012-06-01 16:57:51 -07:00
2012-07-09 17:37:35 +01:00
2012-05-13 17:12:17 +01:00
2012-05-26 13:14:01 -07:00
2012-05-22 09:39:42 -07:00
2012-05-26 12:42:29 -07:00
2012-05-14 17:34:07 +02:00
2012-05-26 13:14:01 -07:00
2012-04-20 09:52:58 +02:00
2012-06-01 02:04:41 +02:00
2012-05-21 15:15:10 +01:00
2012-05-30 16:06:46 -07:00
2012-03-30 17:00:34 -07:00
2012-07-09 17:41:10 +01:00
2012-03-24 09:38:56 +00:00
2012-04-08 21:48:52 +02:00
2012-07-09 17:41:10 +01:00
2012-05-13 17:12:17 +01:00
2012-05-26 13:14:01 -07:00
2012-05-15 14:42:57 +02:00
2012-06-01 16:55:42 -07:00
2012-05-26 12:42:29 -07:00
2012-04-27 16:50:05 +08:00
2012-05-12 16:22:18 +09:00
2012-06-01 16:57:51 -07:00
2012-05-22 09:39:42 -07:00
2012-07-09 17:39:36 +01:00
2012-04-26 08:46:02 +01:00
2012-05-21 15:15:24 +01:00
2012-07-09 17:41:11 +01:00
2012-07-09 17:41:10 +01:00
2012-06-03 23:05:44 +01:00