Commit Graph

561 Commits

Author SHA1 Message Date
matt
817045ffb8 Don't need to include assym.h
Add a missing comma.
2012-12-18 06:14:23 +00:00
matt
e0306b2b8a Add a routine to create an up to an 128 bitmask returned
in VFP/NEON q0 starting at the rightmost bit (bit 0).
2012-12-17 00:46:14 +00:00
matt
4118c7d32d Slighly improved (can deal with all 16 bytes being non-NUL and quickly
proceed to next qword).
2012-12-15 22:23:31 +00:00
matt
91e44c6aaa Add a NEON implementation of strlen. 2012-12-15 19:26:34 +00:00
matt
b54764018c Add a NEON(only) implementation of memset.
This is a work in progress.
2012-12-13 01:41:59 +00:00
matt
be5ab324d6 Change __XSCALE__ to _ARM_ARCH_DWORD_OK so that any cpu with dword load/store
can use it.
2012-12-12 15:51:09 +00:00
matt
e1f7fc6d5e Change __XSCALE__ to _ARM_ARCH_DWORD_OK so that any cpu with strd can use it. 2012-12-12 15:46:05 +00:00
christos
c98323355a use explicit cast to pacify lint. 2012-12-07 15:41:02 +00:00
martin
3e441138b1 Provide an assembler version of _atomic_cas_up for sparc - the C code
does not compile to something usable in a RAS. See PR 38482.
2012-11-28 21:39:59 +00:00
matt
d9e09e3051 Optimize. 2012-11-28 01:35:05 +00:00
matt
a96852fc0d Use the armv6 rev/rev16 if armv6 or later 2012-11-27 23:57:07 +00:00
christos
dae8727ffb split udivsi3 and divsi3 to fix static linking. This could be done better. 2012-10-30 12:42:13 +00:00
chs
1957a22d40 _ARCH_ARM_6 -> _ARM_ARCH_6 2012-10-29 14:09:38 +00:00
christos
91f0e20769 Split out modsi3 and umodsi3 from the divsi3 file. This is so that
we don't get re-defined symbols in libc from libgcc in static linking.
Example: cc -pthread -static main-calls-pthread-create.c
2012-10-10 02:16:54 +00:00
matt
b40d79bcfb Add a ptree_mask_node_p to determine if an item is a mask node, and what
its non-mask length is.
2012-10-06 22:15:09 +00:00
matt
6e8da97cc9 Correct copyright/fix comments. 2012-09-13 00:36:12 +00:00
matt
56a54cbe85 Fix bas code, use ldr 2012-09-12 18:23:33 +00:00
matt
b9b9bd8933 Add 64bit atomic ops for ARMv6+ (using ldrexd/strexd). 2012-09-11 20:51:25 +00:00
matt
36f83f6caf Add dmb/dsb instructions as required by the armv7 arch man. 2012-08-31 23:41:52 +00:00
drochner
8588929dc5 Add "consttime_bcmp" and "explicit_bzero" functions for both kernel
abd userland, as proposed on tech-security, with explicit_bzero using
a volatile function pointer as suggested by Alan Barrett.
Both do what the name says. For userland, both are prefixed by "__"
to keep them out of the user namespace.
Change some memset/memcmp uses to the new functions where it makes
sense -- these are just some examples, more to come.
2012-08-30 12:16:48 +00:00
matt
85e052c5bf Actually use the assembly version of the atomic function if compiling
for armv6 or armv7 cpus.  Use atomic_cas_ptr instead of _lock_cas so
we pick up the assembly version when it's used.
2012-08-16 16:49:10 +00:00
matt
e2b9512b7a Add ARM EABI aliases to a few functions. 2012-08-06 02:31:54 +00:00
matt
e525b93aa7 Change include to <arm/aeabi.h> 2012-08-06 02:15:51 +00:00
matt
08b1727f06 Add long long / unsigned long long comparision routines. These differ
from cmpdi2 in they return strcmp like values (-1, 0, 1).
2012-08-06 01:50:30 +00:00
matt
222a0a07b3 Add RCSID.
Simplify.
2012-08-05 06:34:09 +00:00
matt
c5be335689 Add another ARM EABI runtime routine for
combined quotient / remainder for signed long long.
2012-08-05 06:33:51 +00:00
matt
fd8b39a588 Add a routine for __aeabi_uldivmod which is just a wrapper around __qdivrem
but returns the 64-bit dividend and remainder in r0-r3.
2012-08-05 04:24:13 +00:00
matt
59f5e05f96 For __udivsi3 and __divsi3, add their EABI aliases as alternate entry
points.
2012-08-05 04:22:01 +00:00
matt
e8a22c6586 Add a missing .set noreorder 2012-08-03 06:06:44 +00:00
pooka
c303bcbe4c Bit-un-rot the proplib portability layer. 2012-07-27 09:10:59 +00:00
rmind
4c826f2231 ptree_find_filtered_node: make key argument const. 2012-07-15 00:16:28 +00:00
matt
84b1adeab7 Add code to protect the ptree from multiple insertions of the same node. 2012-07-14 18:16:54 +00:00
matt
87ed7965fb Don't bother testing 0 length keys since they can only have one possible value. 2012-07-13 01:15:27 +00:00
rmind
61498e07d3 ptree: add context argument. OK matt@ 2012-07-11 00:19:28 +00:00
christos
d290d1674e Fix kernel compilation: no namespace.h
Fix libc RCSID protection.
Remove useless cast.
2012-07-10 17:05:38 +00:00
rmind
6461e5c133 Add weak symbol for murmurhash2. 2012-07-09 21:25:46 +00:00
rmind
5811facfd9 Shut up lint. 2012-07-08 13:42:29 +00:00
rmind
ea196989a7 Add MurmurHash2 -- a non-cryptographic hash function by Austin Appleby.
The code is taken from the upstream and is in the public domain.

OK christos@
2012-07-08 01:21:11 +00:00
christos
062204d530 fix lint comment. 2012-04-07 16:28:59 +00:00
christos
834d97b095 lint knows the code is not reachable, but gcc does not. 2012-04-07 16:18:24 +00:00
christos
de149fb70f bring the casts to the operands, not the operation results. 2012-03-22 15:57:29 +00:00
he
2fa47ecfcb Lint seems to prefer that we cast via (void*) and not directly to
(u_char*), so follow suit.
2012-03-21 20:02:56 +00:00
matt
567219e1d7 Remove __P usage.
Convert to C89 prototypes.
2012-03-20 16:21:41 +00:00
martin
4eb2215803 shut up lint 2012-03-17 21:40:21 +00:00
martin
9328833c03 Mark linted 2012-03-17 20:57:35 +00:00
njoly
d0e00679ff Use Lk macro when dealing with URLs. While here update or remove some
dead URL links. Another part of PR/29238.
2012-03-15 22:35:02 +00:00
christos
32c2c5c3f9 don't include <sys/cdefs.h> from assembly. 2012-03-14 16:50:34 +00:00
christos
a5fd370a21 Casts and type changes to fix portability issues.
- int -> size_t
- adjust width of RHS of shift
- adjust widths of types
2012-03-09 15:41:16 +00:00
apb
aaa101ee8d remove trailing white space 2012-03-02 16:22:27 +00:00
apb
2953114330 Change CTASSERT to __CTASSERT (the spelling used in <sys/cdefs.h>),
include <sys/cdefs.h> so that it will be defined,
and move it to a better place.

The previous CTASSERT would never have been used because
of the ifdef.  If it had been used, it would have had
unwanted effects from being just after the "static inline"
that appears when BZERO is defined.

Also move the __RCSID to a more conventional location.
2012-03-02 16:19:15 +00:00