Commit Graph

727 Commits

Author SHA1 Message Date
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
joerg e51ee4c474 Fix unaligned access as reported in PR port-sparc/42273 2009-11-06 20:31:17 +00:00
joerg 0c6bb30e0c Improve portability and clarity by using uint8_t for the byte data
and expanding u_int to not depend on the !POSIX types.
2009-11-06 20:31:17 +00:00
bad 83bbd9b65d Back out previous. Builds for me and on autobuild cluster. 2009-10-11 12:13:45 +00:00
wiz 8b77bca163 Sort sections. New sentence, new line. 2009-10-11 01:55:28 +00:00
christos 44443bc42e make this compile again. 2009-10-10 21:27:46 +00:00
bad 133d41423c Commit changes to header files missed in my previous commit.
Implement prop_array_externalize_to_pref(), prop_array_copyin(),
prop_dictionary_externalize_to_pref() and prop_dictionary_copyin()
as discussed in the thread:
http://mail-index.netbsd.org/tech-kern/2009/07/29/msg005594.html

Add prototypes for prop_array_externalize_to_pref() and
prop_dictionary_externalize_to_pref().
2009-10-10 21:26:16 +00:00
bad 6947118ad3 Implement prop_array_externalize_to_pref(), prop_array_copyin(),
prop_dictionary_externalize_to_pref() and prop_dictionary_copyin()
as discussed in the thread:
http://mail-index.netbsd.org/tech-kern/2009/07/29/msg005594.html

Bump libprop shlib minor.
2009-10-10 18:06:53 +00:00
pooka fbd53556dc Wipe out the last vestiges of POOL_INIT with one swift stroke. In
most cases, use a proper constructor.  For proplib, give a local
equivalent of POOL_INIT for the kernel object implementation.  This
way the code structure can be preserved, and a local link set is
not hazardous anyway (unless proplib is split to several modules,
but that'll be the day).

tested by booting a kernel in qemu and compile-testing i386/ALL
2009-09-13 18:45:10 +00:00
skrll 2ebfea6c79 __strong_alias(foo,foo) is... pointless. 2009-08-21 14:31:02 +00:00
skrll b1aca4e8f5 Don't define weak aliases if _STANDALONE. 2009-08-21 09:40:51 +00:00
joerg 0c2684fa82 Fix a comment to not be self-referencing. 2009-08-05 15:04:15 +00:00
dsl d582bd909a In the misaligned case, xor the read word with the target pattern
before making the unwanted bytes non-zero.
Means that memchr(buf, 0xff) is no longer a special case.
2009-08-01 20:47:02 +00:00
dsl 170e962b6c Remove some long dependant instruction sequences (ie allow parallel code).
Since 'rep stos' will have a long setup time, avoid doing it more than once.
For misaligned (start address or length) write an unaligned word at both
ends of the buffer then aligned 'rep stosd' the middle.
Use the same code for bzero().
bzero.S is left being compiled for a while (empty) - to avoid issues with
duplicate symbols in libc.a after update builds.
2009-08-01 20:35:45 +00:00
drochner 8e73e87c59 remove stray semicolons, makes lint happy and lets the libc build proceed 2009-07-21 19:56:55 +00:00
joerg 11e383c9e8 Include limits.h. 2009-07-21 17:37:51 +00:00
joerg cb19415914 Make the constant u_longlong too, lint is just too stupid... 2009-07-21 17:14:12 +00:00
joerg 9a4b5deb76 Add explicit casts to make lint happy. 2009-07-21 16:10:48 +00:00