matt
be0a794afa
Fix add -> adds
2013-08-10 18:28:15 +00:00
pgoyette
b18fe62e8a
Now that all of the macros are enclosed in "do { ... } while 0" we can
...
remove unneded parenthesization of their invocations.
OK mrg@
2013-08-08 22:18:20 +00:00
agc
148723966e
Get the correct inttypes.h header, so this can build on !NetBSD.
2013-08-08 16:43:13 +00:00
mrg
1b0c094837
apply some do { ... } while (0) so that macros aren't broken,
...
completing the previous change.
2013-08-08 04:32:43 +00:00
pgoyette
3386094b43
The PUT* things are macros. Use { ... } to make sure they expand correctly.
2013-08-07 23:48:13 +00:00
pgoyette
a4db567a02
Fix boundary condition in multi-line format. When the '=' following a
...
field name exactly filled a line, the back-up logic failed and really
messed up the formatting!
2013-08-07 22:37:28 +00:00
apb
3be9df0daa
If HAVE_SNPRINTB_M is defined, then do not define the snprintb() and
...
snprintb_m() functions. This should allow this file to be compiled
from a tools build regardless of whether or not the host defines these
functions.
2013-08-06 22:02:50 +00:00
matt
8b64a4fc92
Only use MACHINE_ARCH if !_STANDALONE and CPPFLAGS/CFLAGS/CPUFLAGS don't
...
contain -mcpu or -march
2013-08-06 20:49:15 +00:00
matt
1240752cc0
Select ldrex/strex if ${MACHINE_ARCH:Mearmv[67]*}
2013-08-06 20:37:22 +00:00
matt
cb2ad9b126
With these changes, they now produce identical binary as before the coldfire
...
changes.
2013-07-19 16:42:12 +00:00
matt
1d398a1789
Adjust for Coldfire
2013-07-18 22:42:50 +00:00
matt
f320c653c7
invert tests ${MACHINE} != "m68000" -> ${MACHINE} == "m68k"
2013-07-18 19:49:00 +00:00
matt
65726deb61
Add END(func)
...
Fix some straggling %r@<eol> to (%r)
2013-07-16 23:24:18 +00:00
matt
07a0a32561
Convert to normal Motorola syntax for addressing.
...
%r@ -> (%r)
%r@- -> -(%r)
%r@+ -> (%r)+
%r@(n) n(%r)
etc.
No object differences.
2013-07-16 20:49:41 +00:00
uwe
d399d324be
Use "unsigned int" instead of "u_int" to make it easier to steal.
...
u_int is out of fashion anyway...
2013-07-09 16:10:17 +00:00
matt
9137531a8c
remove branch prediction hint from bdnzt
2013-07-04 20:57:59 +00:00
joerg
e49f3fb2ce
Don't pick up strcmp as macro from libkern.h.
2013-07-01 20:51:59 +00:00
rmind
4080fc40d9
RUMP fix: ifdef weak alias. Pointed out by martin@.
2013-06-30 12:20:32 +00:00
riastradh
82db4b9858
Replace consttime_bcmp/explicit_bzero by consttime_memequal/explicit_memset.
...
consttime_memequal is the same as the old consttime_bcmp.
explicit_memset is to memset as explicit_bzero was to bcmp.
Passes amd64 release and i386/ALL, but I'm sure I missed some spots,
so please let me know.
2013-06-24 04:21:19 +00:00
matt
d4c5b4f6c6
Add support for __ARM_ARCH_EXT_IDIV__ which is set for those cores
...
with hardware divide instructions. Note that gcc 4.5.x doesn't support
this so this is just latent. gcc 4.7.x does.
2013-06-20 07:16:23 +00:00
christos
b9d62bd6aa
no need for the local defs of he enc functions; compat_defs.h provides them.
2013-06-09 19:46:56 +00:00
christos
af7cd4f35f
Use be{32,64}enc, suggested by joerg.
2013-06-09 02:58:58 +00:00
christos
ff7cb014e8
PR/47908: Gary Grebus: SHA256_Transform and SHA512_Transform are called
...
by openssl with unaligned buffers. All other Transforms can handle unaligned
buffers so make these handle them too.
XXX[1]: any better fixes are welcome
XXX[2]: pullup-5, pullup-6
2013-06-07 22:40:34 +00:00
joerg
e0ac190e1e
Provide explicit LC_C_LOCALE accessor and drop the various NULL checks.
...
Provide LC_GLOBAL_LOCALE in a way that works with all locale functions.
Merge constant data used by the initial global locale and the C locale.
Drop function call layer for _current_locale() and directly return the
locale reference, not a pointer to it. Use protected access for global
variables, so that libc references can avoid the GOT overhead.
2013-05-17 12:55:56 +00:00
matt
d1e50f81fb
Don't worry about divide by 0 for kernel or standalone
2013-05-09 15:03:40 +00:00
skrll
6fec03973c
Don't use old syntax - it breaks the build. hi matt.
2013-05-09 07:12:59 +00:00
matt
8ef5fb1f7f
When using EABI, call __aeabi_{i,l}div0 when diving by 0.
2013-05-08 05:13:56 +00:00
skrll
f9f1c0a469
Whitespace.
2013-05-05 19:02:22 +00:00
joerg
323be87542
Restore standalone strtol/strtoul for citrus for now.
2013-04-26 21:20:47 +00:00
skrll
2d688776a6
Fix logic inversion.
2013-04-19 05:36:16 +00:00
joerg
a67fde0356
Add strtol_l and friends. Switch _citrus_bcs_strtol to use plain
...
strtol_l unless in tools mode. Add note to retire the BCS code on the
next libc major bump.
2013-04-16 21:44:06 +00:00
joerg
c7dafd4acd
Do not use isalpha here, since we explicitly only support the Portable
...
Character Set as base and in theory a locale could define a ASCII
control character as letter, resulting in negations. Also avoid isdigit
here to give the compiler a better chance of deciding whether an
unsigned compare or a jump table is a better option, both are very
likely better choices than the memory indirection.
2013-04-16 19:34:57 +00:00
skrll
92ee01a067
Pretty sure we don't want to change instruction set here. hi matt.
2013-04-14 17:05:11 +00:00
matt
0441393558
Fix calling of __qdivrem which the 3rd arg needs to passed on the stack.
2013-04-14 15:53:30 +00:00
christos
3e4fc0a448
Add RCSID
...
Fix out of date comment
2013-03-17 02:13:10 +00:00
christos
12ea7fb385
add RCSID; use clr for pattern
2013-03-17 02:12:41 +00:00
christos
ca8f29b6bf
Use a single copy of the source.
2013-03-17 00:42:31 +00:00
matt
213f7e6d6b
#include <arm/cdefs.h> to get _ARM_ARCH_DWORD_OK
2013-02-15 22:35:39 +00:00
matt
545df5cbb8
Fix corner cases when searching for NUL.
2013-02-08 02:19:35 +00:00
matt
a317dd6322
Fix typo.
2013-02-08 01:41:35 +00:00
matt
38a95c84fa
orrne wants 3 registers
2013-02-07 01:20:29 +00:00
matt
59bc6bed3d
Add aeabi strong aliases.
2013-01-28 06:23:44 +00:00
matt
afc5014a73
Deal with an end-of-string condition properly.
2013-01-28 06:23:14 +00:00
matt
b61c7ad71a
Change movsne to movnes for clang.
2013-01-28 06:22:34 +00:00
matt
d3d0879f20
Fix bug in detecting EOS/match on armv6+.
2013-01-26 07:49:11 +00:00
matt
cd7877eb52
Add a (unused) variant of strlcat that uses strnlen and strlcpy to do the work.
2013-01-23 07:57:27 +00:00
matt
d3ab69dd3b
Enable ARM assembly versions of strlcat and strnlen.
2013-01-23 07:56:09 +00:00
matt
e3cc29a381
Add index/rindex strong aiases.
2013-01-23 07:45:46 +00:00
matt
bb2928cbda
Add EABI support routines to raise SIGFPE on integer divide by 0.
2013-01-23 07:38:19 +00:00
matt
632dd00817
Add ARM assembly of strlcat which is implemented using (the ARM optimized)
...
strnlen and strlcpy.
2013-01-23 07:02:45 +00:00
matt
6495fd5f51
Add support for strnlen.
2013-01-23 06:59:55 +00:00
matt
24a929b8a1
Switch to using ARM assembly versions of strcat, strchr, strrchr.
2013-01-23 05:46:17 +00:00
matt
caab799770
Simple version of strlcat for ARM.
2013-01-18 22:49:11 +00:00
matt
9c4e9e6f72
Add some comments to illustrate what is actually happening.
2013-01-16 21:48:56 +00:00
matt
97ca0f0675
Fix case when searching for NUL.
2013-01-15 16:52:35 +00:00
matt
7b77c34d39
Add ARM optimized version of strrchr.
2013-01-15 08:52:27 +00:00
matt
d8ec06e4ef
Add missing ! on str
2013-01-15 04:48:14 +00:00
matt
daf6ab5d09
Add an ARM optimized version of strchr.
2013-01-15 02:04:04 +00:00
matt
1a27ca9824
Add simple/small versions of strchr/strrchr for ARM.
2013-01-15 02:03:30 +00:00
matt
cb5a58cf06
Fix two typos
2013-01-14 19:15:13 +00:00
matt
4362d68f7e
Add a simple version of strcat.
2013-01-14 16:36:15 +00:00
matt
962e3d9743
Add a native version of strcat which uses the optimized strlen and strcpy
...
routines.
2013-01-14 00:07:29 +00:00
matt
052628e406
A version of memset that can do NEON, VFP as well as normal arm instructions
2013-01-12 20:27:13 +00:00
matt
f77b15e751
Back out workaround.
2013-01-10 06:52:35 +00:00
matt
14365a1730
Fix a typo in strlcpy which caused to not deal with NULs predecing the
...
string properly.
2013-01-10 04:51:49 +00:00
matt
eb9a5f19fe
Use the naive version of strlcpy until the longer one is fixed (it's still
...
faster than the C version).
2013-01-10 02:14:42 +00:00
matt
ddfad239b3
use #if defined(xxx) instead of ifdef
2013-01-10 02:13:49 +00:00
matt
01beb558aa
Add weak alias for strlcpy
2013-01-10 02:08:22 +00:00
matt
0e293547ab
Use movw on armv7 to fill uppper halfword.
2013-01-09 00:01:07 +00:00
matt
d8854cd184
Add a simplier version of memset which is less than 1/2 the size of the
...
current one. On a Cortex-A9, this is about 15%-30% faster than the current
libc version. This is not a trivial implementation since that was an order
magnitude slower than the existing libc version.
2013-01-08 20:15:00 +00:00
pgoyette
640316503e
Add missing quote - fix build
2013-01-08 16:58:59 +00:00
matt
8eef9c1e44
Depending on _STANDALONE include the "naive" version or the normal arm version.
2013-01-08 13:21:05 +00:00
matt
67fc12d2ba
Rename strlen.S and strcpy.S to strlen_arm.S and strcpy_arm.S
2013-01-08 13:17:45 +00:00
matt
94d1844298
Add simple/small versions of the str* functions. Suitable for libsa, etc.
2013-01-08 13:14:54 +00:00
matt
3ddeb9ed7e
This is a working version of memcpy implemented using NEON instructions.
...
Still needs tuning as it is still about 15% than the non-NEON version.
2013-01-03 09:34:44 +00:00
matt
013f63afab
Deal with _LIBC (aliases, etc).
...
Add missing #endif.
2013-01-02 15:38:03 +00:00
matt
7910d3cfb5
Rename strlen_armv6.S to strlen.S since this is no longer armv6 dependent.
2013-01-02 15:24:21 +00:00
matt
daf4ca4713
Add an assembly version of strcpy/strncpy/strlcpy.
...
(they all use a common source with defines to determine which to build).
2013-01-02 05:54:58 +00:00
matt
44d1b59f26
Make this work on all ARMs but keep the armv6 optimizations. It as fast as
...
the existing strlen for small string and once strings are 8 bytes or more in
length it starts getting significantly faster. For really long strings,
compared to the existing strlen, this uses about 1/2 of the cycles for the
non-armv6 version and about 1/3 of the cycles for the armv6 version.
2012-12-31 07:58:44 +00:00
christos
064bbf208f
kill Id RCS keyword.
2012-12-29 20:08:23 +00:00
matt
1316220d88
A few slight speedups (remove one instruction from the main loop).
2012-12-29 05:36:57 +00:00
matt
51f99baf1e
strlen implementation for armv6 and later. Uses clz and uqadd8 to really
...
speed the search for NUL. as fast as normal strlen at about a length of
6 or 7 and 2-3 times faster starting around 10.
2012-12-28 07:10:41 +00:00
matt
780493cbdc
Debug. This becomes faster than the normal strlen at about 80 characters.
2012-12-28 05:15:08 +00:00
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
joerg
76acd27422
Make sure to create the right aliases.
2012-02-28 20:41:19 +00:00
dholland
7609b9bc56
Migrate one last leftover bit (used only by the kernel now) to
...
sys/ufs/ufs and remove the old quota headers and no-longer-used shared
code. Ok by releng.
2012-02-05 14:19:02 +00:00
dholland
4146833dd8
Remove old (5.99.48 - 5.99.62) libquota interface.
2012-02-01 17:52:07 +00:00
dholland
59b296daa7
Change the syscall API for quotas over to the new non-proplib one.
...
- struct vfs_quotactl_args -> struct quotactl_args
- add sys/stdint.h to sys/quotactl.h for clean userland build
- install sys/quotactl.h in /usr/include
- update set lists for same
- add new marshalling code in libquota
- add new unmarshalling code in vfs_syscalls.c
- discard proplib interpreter code in vfs_quotactl.c
- add dispatching code for the 14 quotactl ops in vfs_quotactl.c
- mark the proplib quotactl syscall obsolete
- add a new syscall number for the new quotactl syscall
- change the name of the syscall to __quotactl()
- remove the decl of the old quotactl from quota/quotaprop.h
- add a decl of the new quotactl to sys/quotactl.h
- update the libc build
- update ktruss
- remove proplib marshalling code from libquota
- update copy of syscall table in gdb ppc sources
- hack rumphijack to accomodate new quotactl name (as I recall,
pooka wanted such a name change to simplify something, but I
don't really see what/how)
This change appears to require a kernel version bump for rumpish
reasons.
2012-02-01 05:34:38 +00:00
christos
df956cc4ce
also handle the separator after the F field.
2012-01-23 03:22:41 +00:00
christos
c1260ab13f
In the new format F did not print a separator as required.
2012-01-23 02:34:01 +00:00
joerg
e8bec33be1
Change CMSG_SPACE and CMSG_LEN to provide Integer Constant Expressions
...
again. This was changed in sys/socket.h r1.51 to work around fallout
from the IPv6 aux data migration. It broke the historic ABI on some
platforms. This commit restores compatibility for netbsd32 code on such
platforms and provides a template for future changes to the CMSG_*
alignment. Revert PCC/Clang workarounds in postfix and tmux.
2012-01-20 14:08:04 +00:00
christos
488f092662
PR/45796: Evgeniy Ivanov minixfs3 support.
2012-01-16 18:46:20 +00:00
dholland
51d1d7e7c4
Rename struct ufs_quota_entry -> struct quotaval.
2011-11-25 16:55:05 +00:00
dholland
c60360c18d
Reshuffle decls among the quota headers so everything is in the place
...
it should be:
- stuff for the proplib interface goes in <quota/quotaprop.h>
- stuff for userlevel only goes in <quota/quota.h>
- stuff shared between user and kernel goes in <sys/quota.h>
Note that <quota/quota.h> and <quota/quotaprop.h> are expected to be
moved or removed later on... one thing at a time.
Update include directives in other files as needed.
2011-11-20 21:43:34 +00:00
christos
28bb169a57
compile into nothing if _STANDALONE
2011-11-14 16:21:44 +00:00
christos
cb23ae6f47
add netbsd id
2011-11-14 14:37:13 +00:00
christos
58214e6f51
- fix boot block building (-D_STANDALONE)
...
- explain why we cast.
2011-11-14 14:36:40 +00:00
christos
7569228a97
the kernel does not have util.h
2011-11-13 22:21:29 +00:00
christos
fb75d15e0f
Add a function to convert from a disklabel p_fstype integer to a
...
dkw_ptype name.
2011-11-13 21:56:53 +00:00
joerg
4041630e67
libkern.h maps memcmp, memset and strcpy to the compiler builtins on
...
some platforms, so make sure to #undef them first.
2011-11-08 16:52:11 +00:00
yamt
d837abef06
comments
2011-11-02 13:49:43 +00:00
yamt
d1036328f3
add radix_tree_empty_tagged_tree_p, a "tagged" variant of
...
radix_tree_empty_tree_p.
2011-10-25 14:11:27 +00:00
christos
cdcc8530f0
Add a version of proc_compare that works both for kernel and userland
...
(and uses the same algorithm!)
2011-10-21 02:09:00 +00:00
wiz
276389fea6
Add missing Nd.
2011-10-17 09:24:54 +00:00
yamt
759124c59e
- add functions to scan the tree in the reverse order
...
(i wonder if it's the longest function name in the tree)
- assertions
- comments
- fix and update unittest
2011-10-14 19:42:14 +00:00
yamt
11a7e56d00
unwarp a short line
2011-10-14 16:15:54 +00:00
yamt
ccdce53c95
constify
2011-10-14 16:10:47 +00:00
yamt
82698115b1
fix "get_tag" result of unittest
2011-10-14 16:06:05 +00:00
yamt
e4944d443e
make the output of unittest a little machine-readable
2011-10-14 15:31:35 +00:00
yamt
1414ffd151
int -> unsigned int where appropriate
2011-10-14 15:18:05 +00:00
yamt
c66560279a
add a function to check if a tree is empty.
2011-10-14 15:16:59 +00:00
yamt
765c84955a
include string.h for memset
2011-10-14 15:15:27 +00:00
jym
afca4e3b49
Fix an implementation inconsistency with the prop_*_send_syscall() and
...
prop_*_recv_syscall() functions from proplib(3). They now share the
same logic as the one from prop_*_send_ioctl() functions:
- returns an int
- 0 indicates "no error", otherwise returns the error number (and
set errno)
Many consumers of the prop_*_{ioctl, syscall} expect errno to be set
on error and use err() to display the error message. As such, ensures that
errno gets set before returning from these functions.
prop_*_send_syscall() functions returned a boolean, and now return an int.
Fix all call sites to use the new paradigm (only quota2 is affected in src).
As the prop_*_{send,recv}_syscall() API appeared in -current and is only
used by the recent quota2 code, I am not bumping the lib. The API change
only affects the prop_*_send_syscall() function (recv_syscall()s were
already used correctly), so ensure you are not mixing "old" -current
quota binaries with a new proplib(3) (or the other way around). This
change will be announced via a HEADS-UP and UPDATING.
Does not affect the kernel part of proplib.
Document the correct API in prop_array(3) and prop_dictionary(3).
Thanks to Francois Tigeot for noticing the API inconsistency and
reporting it on tech-kern@.
ok bouyer@.
2011-09-30 22:08:18 +00:00
mrg
af1a60157f
avoid sys/systm.h in userland ppath.h.
...
include types.h/stdarg.h in all systm.h configs.
my amd64 build without man pages now worked at least.
2011-09-30 10:23:03 +00:00
christos
feec5d318c
Include <sys/systm.h> for panic()
2011-09-29 20:53:30 +00:00
jym
7d85b0074d
Indicate type of return variable for prop_dictionary_sendrecv_ioctl.
2011-09-27 11:12:49 +00:00
dyoung
e95aa499d6
Name arguments in a couple of prototypes before the arguments are
...
referred to by name. Bump date.
2011-09-13 18:07:22 +00:00
dyoung
166f28ddff
Bump date for previous change.
2011-09-13 18:05:20 +00:00
dyoung
a156c8bc88
Name arguments in a couple of prototypes before the arguments are
...
referred to by name.
2011-09-13 18:04:54 +00:00
jym
b0471da334
Make strnlen(3) accessible in kernel. ok christos@.
2011-09-01 22:35:17 +00:00
plunky
a9b219be41
NULL does not need a cast
2011-08-31 15:48:32 +00:00
bouyer
4c44c335c5
loongson2f support:
...
- Add some loongson2 definitions to cpuregs.h, from OpenBSD
- Make sure that the at register is useable before every jump register
instruction (exept when register is k0 or k1) because -mfix-loongson2f-btb
needs the at register for its workaround
- add code to mips_fixup.c to handle the instructions added by
-mfix-loongson2f-btb
- Add a ls2-specific tlb miss handler: it doesn't have separate handler
for the xtlbmiss exeption.
- Fixes for some #ifdef MIPS3_LOONGSON2 assembly code (using the wrong
register)
2011-08-27 13:23:52 +00:00
dyoung
c3c79645b1
Add ppath/ headers that I had overlooked.
2011-08-25 16:15:29 +00:00
wiz
181321739b
Fix Nd argument.
2011-08-25 15:14:43 +00:00
wiz
b6947e90c0
Fix Dt argument, remove trailing whitespace, fix formatting nit.
2011-08-25 15:12:38 +00:00
dyoung
33ce21e27d
Add sources, Makefiles, and manual pages for ppath(3), a
...
property-container path library that is usable from both userland and
the kernel.
TBD: hook this into the build, update set lists, and add automated
tests.
2011-08-25 14:55:36 +00:00
dholland
0a54ac30f5
Requires stdint.h.
2011-08-21 21:24:34 +00:00
christos
7ba3e6ca4b
document non-literal format string
2011-08-16 10:33:17 +00:00
rmind
52b220e91d
Add kcpuset(9) - a reworked dynamic CPU set implementation for kernel.
...
Suitable for use during the early boot. MD and other implementations
should be replaced with this interface.
Discussed on: tech-kern@
2011-08-07 13:33:01 +00:00
jmcneill
2cfa4ad9b3
prop_dictionary_get_dict: last argument is prop_dictionary_t *, not bool *
2011-08-07 11:33:03 +00:00
mrg
baa3508234
add a weak alias to __ffssi2, needed for hppa gcc 4.5.
2011-08-07 01:52:47 +00:00
mrg
046047ef8e
add a weak alias for __ffssi2
2011-07-09 14:57:29 +00:00
matt
1ab92ba04c
Add long double prototypes.
2011-07-09 02:36:01 +00:00
joerg
b45fa494da
ANSIfy
2011-07-04 21:20:27 +00:00
mrg
1866376e13
sh3 needs the __ffssi2 weak symbol, too.
2011-07-04 12:18:05 +00:00
mrg
259d2a08e1
add a weak alias from ffs to __ffssi2. newsmips kernels link now.
2011-07-04 11:35:26 +00:00
mrg
de4475a299
add support for __floatunsisf().
2011-07-04 11:22:39 +00:00
mrg
88fcb00c03
add a weak alias from ffs to __ffssi2. sparc dynamic works with gcc 4.5 now.
2011-07-04 11:18:23 +00:00
matt
25ba5ff11d
Update to C89 style.
...
Fix name of floatundidf (uns -> un).
2011-07-04 06:23:50 +00:00
matt
633cce5ea2
Add a weak symbol definition for __ffssi2 so that __builtin_ffs will use
...
this if no strong defintion of __ffssi2 is available.
2011-07-03 07:13:31 +00:00
mrg
493d341048
various build fixes for gcc 4.5. from chuq. XXX i'm not sure all of
...
these work properly wtf pointer aliasing, but there are no casts at
least...
the lib/libpuffs/puffs_priv.h is definately a real bug fix.
from chuq.
2011-06-20 09:11:16 +00:00
pgoyette
77494f64c2
Correct the example.
2011-06-19 08:53:02 +00:00
joerg
bdaa91a3a8
Add support for size optimised versions of the assembler functions in
...
the small subdirectory. Provide more compact versions of the functions
used by bootxx in x86.
2011-06-16 16:39:14 +00:00
bouyer
a3a7248ce7
Fix bad cut'n'paste in copyright. Pointed out by dyoung@
2011-06-07 14:56:12 +00:00
tsutsui
aabb34a38b
- WARNSfy
...
- KNF, ANSIfy, remove __P(), misc cosmetics
2011-05-19 22:23:12 +00:00
yamt
d93894081a
radix_tree_clear_tag:
...
- fix a bug which errornously clears tags on intermediate nodes.
- add comments.
2011-05-19 10:06:56 +00:00
yamt
464de4ca7d
radixtree: assertions
2011-05-19 10:01:21 +00:00
yamt
59a4821fb2
radixtree: comments
2011-05-19 10:00:30 +00:00
yamt
a8d2a6dea1
radixtree: comments
2011-05-19 09:58:28 +00:00
yamt
25dcdd54cb
fix _STANDALONE build
2011-04-26 20:53:34 +00:00
martin
235708f88f
Update also the non-void pointers to the current test objects.
...
Finaly fixes PR lib/43964.
2011-04-20 20:00:07 +00:00
martin
e40530ec28
Fix "address of a void*" vs. void* confusion.
...
Part of fixing PR lib/43964.
2011-04-20 19:40:00 +00:00
yamt
714ba23ee1
- fix _STANDALONE build.
...
- use __CTASSERT instead of CTASSERT. enable it for userland.
- __read_mostly.
2011-04-14 15:42:02 +00:00
yamt
949aabf781
fix _STANDALONE build
2011-04-14 15:31:20 +00:00
matt
9b4a6fec19
Add RCSIDs
2011-04-12 16:19:44 +00:00
wiz
d6a06aa7e9
Fix a typo and a punctuation nit.
2011-03-27 22:44:47 +00:00
bouyer
d9210c2405
Add a new libquota library, which contains some blocks to build and/or
...
parse quota plists; as well as a getfsquota() function to retrieve quotas
for a single id from a single filesystem (whatever filesystem this is:
a local quota-enabled fs or NFS). This is build on functions getufsquota()
(for local filesystems with UFS-like quotas) and getnfsquota();
which are also available to userland programs.
move functions from quota2_subr.c to libquota or libprop as appropriate,
and ajust in-tree quota tools.
move some declarations from kernel headers to either sys/quota.h or
quota/quota.h as appropriate. ufs/ufs/quota.h still installed because
it's needed by other installed ufs headers.
ufs/ufs/quota1.h still installed as a quick&dirty way to get a code
using the old quotactl() to compile (just include ufs/ufs/quota1.h instead of
ufs/ufs/quota.h - old code won't compile without this change and this is
on purpose).
Discussed on tech-kern@ and tech-net@ (long thread, but not much about
libquota itself ...)
2011-03-24 17:05:39 +00:00
wiz
35124272d3
Remove duplicate "the". From Henning Petersen in PR 44640.
2011-02-26 12:56:35 +00:00
yamt
62e2ded66d
an implementation of radix tree. the idea from linux.
2011-02-22 21:31:15 +00:00
pooka
f3da52f3a1
Add PIC variant for fetching the lock address.
...
librump.so now works on sparc
2011-02-22 18:45:10 +00:00
njoly
236d2fbff6
Fix section for umask xrefs.
2011-02-21 13:42:57 +00:00
plunky
340f952206
prop_dictionary_internalize_from_file_returns_a_dictionary_not_an_array
2011-02-02 16:37:27 +00:00
matt
c2f76ff004
Use END(sym)
...
use RCSID
2011-01-25 04:45:28 +00:00
matt
3c6f3faa1a
Add a new O(log(2) implementation. On mips32/mips64, use clz/dclz.
2011-01-23 06:47:14 +00:00
bouyer
dc31d933b9
prop_*_copyout takes an object as second parameter, not a pointer to object.
2011-01-20 11:17:58 +00:00
wiz
3421828c26
Typos, wording.
2011-01-20 10:48:37 +00:00
wiz
7663d370d2
Add commas in enumerations.
2011-01-20 10:47:33 +00:00
wiz
bf94acf9f2
Sort sections.
2011-01-20 10:45:10 +00:00
wiz
22207ca7ad
New sentence, new line. Use Dq.
2011-01-20 10:44:42 +00:00
wiz
75b38350f7
Remove trailing whitespace.
2011-01-20 10:42:19 +00:00
bouyer
07247bb748
- Implement prop_{array,dictionary}_copyout(), based on
...
prop_{array,dictionary}_copyout_ioctl().
- Implement prop_{array,dictionary}_recv_syscall(), which
takes as parameter the pref we got from kernel and internalize it,
and unmaps the buffer prop_{array,dictionary}_copyout() mapped for us.
- add a prop_{array,dictionary}_send_syscall() for symetry, which is
an alias to prop_{array,dictionary}_externalize_to_pref()
Discussed on tech-kern@ and tech-userlevel@
2011-01-19 20:34:23 +00:00
joerg
13d8b2b89c
Move SPARC and SPARC64 to modern CPP. Update UPDATING note for this and
...
Alpha.
2011-01-17 18:11:09 +00:00
skrll
a673bf604d
Add an membar_ops.S - not used currently.
2011-01-17 07:40:21 +00:00
skrll
b095c54869
Tweak layout - no functional change.
2011-01-17 07:29:17 +00:00
skrll
0dec4d9c8e
Fix RCSId.
2011-01-16 12:07:26 +00:00
matt
cf88c3890b
Use END(foo) everywhere.
...
Make __cerror hidden.
Use non-PLT calls to __cerror.
Use assym.h when appropriate.
Use addi to adjust stack instead of loading it.
Add __RCSIDs
Force -D_NOREGNAMES for all .S files.
[this is all in preperation for secure plt support]
2011-01-15 07:31:11 +00:00
joerg
d3a052c472
Allow use of traditional CPP to be set on a per platform base in sys.mk.
...
Honour this for dependency processing in bsd.dep.mk. Switch i386 and
amd64 assembly to use ISO C90 preprocessor concat and drop the
-traditional-cpp on this platform.
2011-01-12 23:12:10 +00:00
matt
1b9f1d30ee
Make these 64-bit clean.
2011-01-02 02:58:52 +00:00
pooka
57ec646236
Use a consistent approach for rump kernel calls made by libs.
...
Should investigate a dynamic approach in the future.
2010-12-14 08:04:14 +00:00
tron
aacd5349be
Provide proper namespace protection for rbtree(3) because it is now
...
used by "libc" internally.
2010-11-17 13:19:32 +00:00
matt
19e6c76b2d
Rename rb.h to rbtree.h, as it is more appropriate (c.f. ptree.h). Also
...
helps find code that hasn't been updated to use the new rbtree API.
2010-09-25 01:42:38 +00:00
rmind
879d5dfb5e
Fixes/improvements to RB-tree implementation:
...
1. Fix inverted node order, so that negative value from comparison operator
would represent lower (left) node, and positive - higher (right) node.
2. Add an argument (i.e. "context"), passed to comparison operators.
3. Change rb_tree_insert_node() to return a node - either inserted one or
already existing one.
4. Amend the interface to manipulate the actual object, instead of the
rb_node (in a similar way as Patricia-tree interface does).
5. Update all RB-tree users accordingly.
XXX: Perhaps rename rb.h to rbtree.h, since cleaning-up..
1-3 address the PR/43488 by Jeremy Huddleston.
Passes RB-tree regression tests.
Reviewed by: matt@, christos@
2010-09-24 22:51:50 +00:00
rmind
380cb143e5
_cpuset_create: initialize size argument for sysctl call.
...
From PR/43837 by Sandy Snaman.
2010-09-21 02:03:29 +00:00
joerg
cf54378eb8
Fix rb_tree_iterate to get the min/max element of the tree for the
...
RBSMALL case.
2010-04-30 13:58:09 +00:00
joerg
1ccd7466c9
Fix warnings for -DRBSMALL
2010-04-28 17:23:33 +00:00
mrg
26c2cb31ec
define _NOREGNAMES before including <machine/asm.h>, like powerpc does.
...
from dennis.c.ferguson@gmail.com in PR#43022.
2010-03-22 02:22:32 +00:00
uwe
6fc217346b
Add memset to libkern on vax, moving existing memset.S to src/common.
...
While kernel source code is supposed to use <machine/macros.h> via
<sys/param.h> and pick an inline asm version from there, gcc itself
can generate direct calls to memset() for structure initialization, so
the symbol must be provided.
Fixes INSTALL kernel, for which -Os caused gcc to use memset() call to
initialize a struct in uvm_fault_internal().
2010-03-12 09:12:34 +00:00
wiz
8f657e21de
Fix typo (specifed -> specified).
2010-02-18 14:00:39 +00:00
joerg
85b087f151
Fix unaligned access in *_Final for SHA224/SHA256/SHA384.
...
Remaining part of PR 42273. Tested by snj.
2010-01-24 21:11:18 +00:00
joerg
56da4fa7b5
Move AMD64's bswap64 implementation from libc to src/common and share it
...
with the kernel.
2010-01-14 02:09:46 +00:00
pooka
817cd31541
Don't export __ffstab, it's used only in this routine. This gets
...
rid of one of those evil common symbols in the __ namespace.
reviewed by martin
2009-12-19 19:09:48 +00:00
dholland
5934d74fc2
Add two missing functions to the SYNOPSIS. From Silas Silva in PR 42415.
2009-12-14 06:06:22 +00:00
dholland
d3b64ea665
Fix some ordering inconsistencies, noted by Silas Silva in PR 42415.
2009-12-14 06:03:23 +00:00
dholland
f57683f0c7
Minor wording fix/clarification (sending -> copying) from Silas Silva
...
in PR 42414.
2009-12-14 05:47:30 +00:00
matt
8daf714e68
Merge from matt-nb5-mips64
2009-12-14 00:38:59 +00:00
wiz
a7624277d5
Fix prop_dictionary_ensure_capacity signature, bump date.
...
From Silas Silva in PR 42413.
2009-12-05 10:17:17 +00:00
pooka
043ef3bc71
Use strong alias within the kernel namespace regardless of if we're
...
dealing with a hard or soft kernel (kernel linker doesn't support
weak symbols).
2009-11-26 07:40:34 +00:00
mbalmer
124961627e
s/the the/the/
2009-11-22 18:40:26 +00:00
dsl
8fee27ec00
Align to the destination buffer.
...
This probably costs 1 clock (on modern cpus) in the normal case.
But gives a big benefit when the destination is misaligned.
In particular when the source has the same misalignment - although
that may not be a gain on Nehalem!
Fixes PR/35535
2009-11-22 17:25:47 +00:00
dsl
a6f75e27d4
Avoid doing two 'rep movs' operations.
2009-11-21 19:52:54 +00:00
skrll
88855871f7
New binutils seems to want end of functions marked.
2009-11-09 14:22:02 +00:00