Commit Graph

533 Commits

Author SHA1 Message Date
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
joerg 0578c2ad0f Move popcount et al to src/common and add popcount32/popcount64.
Requested by rmind@. MD should now override popcount32/popcount64 and
provide the aliases as fitting.
2009-07-21 14:55:32 +00:00
christos 28a175e482 Put back dsl's string changes, but fix memchr.S to use cmp (rather
than test) so that the condition code is set correctly (and fix the
comments: 0x10->0x01 and ^->&).   From Anon Ymous

XXX: There are similar comment errors in some of the other string code.

XXX: We really need a regression test that includes misaligned memory
with searches designed to catch corner cases such as searching for 0,
-1, etc, and search length limit violations.  Searching for 0 on
misaligned memory would have caught this problem.
2009-07-20 15:21:00 +00:00
christos 13763a400f Put back dsl's string changes, but fix memchr.S to use cmp so that the
condition code is set (and fix the comments 0x10->0x01). From Anon Ymous
We need a test for memchr(x, -1)...
2009-07-20 15:20:59 +00:00
christos 1621a90cd8 revert changes that made new kernels hang in ACPI detection 2009-07-19 23:45:29 +00:00
dsl 97943df1a9 A better memchr().
Always read aligned words, invalidating unwanted bytes in first word,
and checking that any match in the last word is before the buffer end.
No loops apart from the one through the data.
2009-07-18 18:06:56 +00:00
dsl 6bdd82f5c7 Shorten a dependency chain by using 'sbb, xor' (at a time when carry is set)
instead of 'mov, neg, dec'.
('mov, not' can't be used because it doesn't set the flags.)
2009-07-18 16:40:31 +00:00
dsl 957285f031 Remove a pointless _ALIGN_TEXT.
XXX ffs() ought to be a gcc inline asm.
2009-07-18 12:03:31 +00:00
dsl 6054206dee Replace with a version that:
1) doesn't do byte compares to find which byte matched
2) doesn't do byte compares if any top bits are set
3) doesn't use a loop when the input is misaligned
4) has less mispredicted branches
Passes regression tests and 'build.sh' doesn't explode (and more than usual).
2009-07-18 11:41:23 +00:00
dsl 082a39150a Delete files that are no longer needed. 2009-07-17 19:42:04 +00:00
dsl 53a0f227e6 Change all archs so that strchr.[cS] and strrchr.[cS] exist and generate
duplicate symbols for index() and rindex().
2009-07-17 19:37:57 +00:00
dsl 487c31f545 Add asm files for str(r)chr by copying the files for (r)index from
src/libc/arch/mips/string.
Add XLEAF() for index entry points.
2009-07-16 21:25:36 +00:00
dsl 5f3551c2f8 Add netbsd copyright.
Reorder a few instructions to interleave a dependency chain.
(I'm really not sure of the best order for those instructions!)
2009-07-12 21:24:21 +00:00
dsl f9b60c2be5 Correct some comments 2009-07-12 21:00:54 +00:00
dsl 66df44074f After alg 2 triggers, mask with ~x (alg 3) to ignore bytes with top bit set.
Then use bit scan to work out which byte is zero.
If the source is misaligned read the aligned word and make the unwanted
(low order) bytes non-zero.
Passes regression test - which probably tests just enough cases.
2009-07-11 11:57:47 +00:00
dsl 5acd65fcb7 Change comments about algorithms, 99.6% for random data isn't 'rare' in my book!
(The 'rare' case is any byte values 0x80-0xff.)
2009-07-11 08:48:51 +00:00
joerg faf14618b6 Fix initialisation of SHA224. 2009-06-25 14:05:18 +00:00
tsutsui ab35397894 - move #include <sys/param.h> inside #if defined(_KERNEL) section
where it's actually required
- add XXX comments that notes <sys/param.h> is required for vax memset(9)
2009-06-19 05:09:09 +00:00
he b1946a6b32 Back out the addition of memset.c to the vax libkern, and instead do
as tsutsui@ suggested, and include <sys/param.h> in sha2.c instead.
On the vax, this causes <machine/macros.h> to be included, and it contains
that machine's memset() macro+inline.
2009-06-18 15:22:24 +00:00
martin cd4c43c910 Fix copy&paste errors 2009-06-14 14:04:07 +00:00
joerg 94cd590d07 Provide fallback definitions of be[32|64]toh and htobe[32|64] for
systems without sys/endian.h.
2009-06-11 22:40:42 +00:00
christos 13573b1916 use memcpy for bitcount writes to the buffer to avoid type punning issues. 2009-06-11 20:43:00 +00:00
christos 46f23cedb2 - fix sha224 functions that used sha256 ctx, and add casts.
- fix sha224 function lengths.
- wrap long lines
- use NULL
- fix whitespace
- put all 224 functions together in the same spirit as 384
2009-06-11 20:35:29 +00:00
joerg 02c4298092 KNF 2009-06-11 19:05:17 +00:00
joerg 8c33577af1 De-uglify:
- drop useless asserts
- use uintXX_t directly
- use NULL
2009-06-11 19:02:04 +00:00
joerg c8f28eff97 Simplify by using sys/endian.h functions. Fixes Big Endian case for SHA2. 2009-06-11 18:46:37 +00:00
yamt 303f5b9ebd fix comment typos. 2009-06-07 03:12:40 +00:00
yamt 502e0d2fd8 fix a comment 2009-05-26 22:39:15 +00:00
yamt d8e7c6e522 rpst_iterate_next: remove an unnecessary assignment. 2009-05-26 22:38:51 +00:00
yamt 0681720282 rpst_iterate_first: fix a bug which causes unnecessary scan. 2009-05-26 22:38:18 +00:00
yamt 87a9663c51 sprinkle some inline 2009-05-26 22:37:50 +00:00
joerg 09d5d44150 Add SHA224 implementation to libc.
Make libcrypto use the SHA2 implementation of libc.
Bump minor versions of libc and libcrypto.
2009-05-26 08:04:11 +00:00
yamt 5e092cbdd7 maintain parent node pointers to speed up search and node removal. 2009-05-25 14:54:06 +00:00
yamt 03578bbe5a add comments. 2009-05-25 14:16:54 +00:00
yamt 89c1ff5632 rpst_insert_node1: fix an inverted condition. 2009-05-22 11:38:05 +00:00
christos f1dbbfab6d Set endptr if the base is not supported. The opengroup spec does not special
case this condition. Note: glibc has the same problem.
2009-05-20 22:03:29 +00:00
yamt 89ff3f9c4f - fix various bugs in the iteration code.
- add assertions.
- unittest: more tests.  verify query results by comparing with linear search.
2009-05-20 10:56:29 +00:00
yamt 0a13e5f80a don't include sys/cdefs.h twice. 2009-05-19 22:48:19 +00:00
yamt 1a764d8c67 radix priority search tree. 2009-05-19 12:39:56 +00:00
wiz e923b399de New sentence, new line. 2009-05-13 22:31:59 +00:00
pgoyette 28469fc250 Implement snprintb_m(3) to provide multi-line bit/bit-field decode.
Discussed on tech-kern.
2009-05-13 02:50:31 +00:00
rmind 79a49ca39e - Add kcpuset_iszero().
- Fix kcpuset_match().
2009-04-25 19:38:25 +00:00
skrll 0e68e44118 Only include <assert.h> and <string.h> if !_KERNEL && !_STANDALONE 2009-04-25 12:20:48 +00:00
haad 8a85d2e387 Check if pd is not NULL before we try to lock rw lock associated with it.
This fixes proplib crash when NULL is passed to prop_dictionary_get as a
dictionary.
2009-04-14 02:53:41 +00:00
joerg 1491f958e9 Improve markup. 2009-04-09 01:18:17 +00:00
enami 09fcc8b316 So that profile kernel runs again,
- Adjust the size of functions used to patch.
- Fix the jump offset of mcount call when patching functions.

Approved by Andrew Doran.
2009-04-02 00:19:02 +00:00
haad 0c9b734826 Fix crash where user was able to crash proplib with trying to internalize
bad xml file with non-existing data type e.g. <number>.

Problem is that poi is not NULL even in case that we haven't find any match
in data type name. We need to check if poi->poi_tag is not NULL before
calling poi->poi_intern function which is non existing case NULL and will
cause crash.
2009-03-30 07:42:51 +00:00
tls a34cd18b76 Fix build problems caused by crc32 addition to libkern. Also, this makes
the i386 bootblocks about 2K smaller than they were before we monkeyed
with crc32 at all.
2009-03-25 18:41:06 +00:00
he d8d70d1b63 Actually... We need libkern.h also under _STANDALONE, so that
_DIAGASSERT gets defined.  Fixes the mvmeppc libsa build.
2009-03-19 08:39:54 +00:00
tsutsui d0b9e6c924 - remove bcmp(9), bcopy(9), and bzero(9) from libkern since <sys/systm.h> has
macro which replace them with mem*() functions in #ifdef _KERNEL as noted
  in man pages
- move declarations of bcopy(3) and bzero(3) into <lib/libsa/stand.h>
  since they are still in libsa for some MD standalone sources
  (I guess all bcmp(3) in standalone sources have been replaced with memcmp(3)
   but they should be replaced with memcmp() anyway)
2009-03-18 12:25:06 +00:00
he 245ee9af71 Add local declarations of bcmp() and bzero() because libkern.h no longer
provides those declarations.

It's possible that these can be removed later when we find out whether
these functions are actually needed in the kernel, but meanwhile, this
allows alpha, hp700 and the powerpc ports (who all build these as part
of libkern) to complete their builds.
2009-03-17 23:42:45 +00:00
cegger 962766853c ansify function definitions 2009-03-16 05:59:21 +00:00
cegger 103c3602a2 ansify function definitions 2009-03-15 22:31:12 +00:00
cegger ebceae53e5 ansify function definitions 2009-03-15 22:20:09 +00:00
rmind 9c30a053ea - Add kcpuset_fill(), kcpuset_set() and kcpuset_match().
- KNF while here.
2009-03-15 20:08:43 +00:00
abs b17f6f5834 Revert test from MACHINE_ARCH to MACHINE, as this can be called with
with MACHINE_ARCH=sparc MACHINE=sparc64 when building 32bit kernels for
ultrasparc hardware. Picked up by nakayama@ - thanks.
Add a comment explaining this odd case
2009-03-13 19:16:46 +00:00
nakayama fd33b05ec2 Fix typo. (s/_HARKDERNEL/_HARDKERNEL/) 2009-03-13 16:40:22 +00:00
abs f681b265bc Prefer MACHINE_ARCH to MACHINE in some tests 2009-03-12 17:16:58 +00:00
he 91cab67b08 Follow up the powerpc side by using %rN instead of rN for registers. 2009-03-08 12:08:19 +00:00
christos 512ce49852 make this work with pcc. The previous construct is not valid c99. 2009-02-14 19:23:18 +00:00
joerg 81895b4b5d 0:0 is the adress x86emu_call pushes on the stack, so check for it here
explicitly to stop processing again. As this is the start of the IDT,
normal code is not likely to override it.
2009-02-03 19:26:29 +00:00
joerg 89b1aba64b Fix three bugs in the instruction decoder:
(1) Mode 5 for SIB uses EBP as base, not ESP.
(2) RM register mode 5 needs a segment override for SS when not using an
    immediate in 32bit mode.
(3) Same for mode 6 in 16bit mode.

From anon ymous.
2009-02-03 19:14:52 +00:00
skrll 5dbd6a69ca Make sure _atomic_cas_fn is initialised for "weirdo environments" such
as ramdisks where the constructor doesn't get called.

Fixes ifconfig in hp700 sysinst.

OK'ed by ad.
2009-01-30 14:29:44 +00:00
lukem 114b3fb343 sign-compare fix 2009-01-25 14:22:52 +00:00
cyber 23dc01f7e9 Properly handle empty data nodes (such as generated by Apple's
plist editor). They are in the form of <data></data>, whereas the
original code path only checked for empty being <data/>.

This causes an assert to be triggered when trying to access the node's
content.

Patch reviewed by thorpej.
2009-01-25 06:59:35 +00:00
lukem c5eb4ab601 fix -Wsign-compare issues 2009-01-18 11:56:51 +00:00
pooka d21961207f Include sys/param.h in the kernel to make the vax properly pick up
memset.  Otherwise vax/macros.h doesn't get included and the usual
lossage ensues.
(I bet you saw that one coming)
2009-01-14 21:33:22 +00:00
pooka 654753c2e1 include sys/param.h for _HARDKERNEL instead of homegrown def. 2009-01-12 02:53:29 +00:00
pooka 132ffc213b Include userland version of atomic cas routines in librump.
(the kernel version disables interrupts and therefore can't be used)
2009-01-10 23:36:22 +00:00
mjf a15a784800 The .if conditional crosses a line boundary, so add a backslash.
This fixes the kernel build for hppa.
2009-01-06 13:23:31 +00:00
pooka 1ce853369b Temporarily define MCOUNT as a dummy for _RUMPKERNEL to allow build
to proceed - the MD macros use processor instructions unavailable
to userspace and should/could be provided as interfaces.
2009-01-05 18:06:57 +00:00
pooka 69885c98a3 Do not use lockpatches with _RUMPKERNEL (non-PIC ... and pointless). 2009-01-04 18:46:16 +00:00
pooka 58302d6770 Opt for libc versions in case of _KERNEL && !_RUMPKERNEL.
(kernel version uses sti/cli and is not PIC)
2009-01-04 18:21:38 +00:00
pooka e77a29de65 allow inclusion of atomic ops in librump 2009-01-04 17:54:29 +00:00
pooka b6e6025d0d Get rid of locks with static initializers using once and atomic ops.
This makes proplib simplelock-free.
2009-01-03 18:31:33 +00:00
ad 30fd42e845 PR kern/40213 my i386 machine can't boot because of tsc
- Patch in atomic_cas_64() twice. The first patch is early and makes it
  the MP-atomic version available if we have cmpxchg8b. The second patch
  strips the lock prefix if ncpu==1.

- Fix the i486 atomic_cas_64() to not unconditionally enable interrupts.
2008-12-19 11:21:24 +00:00
christos 2d2593ab23 We don't need this for _STANDALONE, and it needs snprintf to work. 2008-12-17 16:02:27 +00:00
christos cec60a5890 share with kernel; replaces bitmask_snprintf which was very broken:
- subtracted one from len without checking if len was 0
- checked for a minimum buffer size
- arguments order was inconsistent with other printf like functions
- no way to tell if it overflowed
2008-12-16 22:33:11 +00:00
ad 58a45c6ffe Avoid conflicts with ZFS. 2008-12-05 13:11:41 +00:00
haad e51aea320a Fix two race conditions in proplib library. In prop_dictionary and prop_number
there was small window in which was entry left in rb tree with reference
count 0 which lead to rb tree coruption when another thread picked this up
before it was released.
Add 2 new members to the prop_object_t which are used for locking/unlocking
rb tree guard mutex.

Ok by joerg@, core@, thorpej@
2008-11-30 00:17:07 +00:00
jnemeth e971cab0ab fix build in _STANDALONE case 2008-11-21 03:23:43 +00:00
matt 4de7478cea Make lint happy (stupid lint). 2008-11-21 01:58:41 +00:00
matt 0ad7281825 Add new ptree (Patricia / RADIX tree) implementation to NetBSD. 2008-11-20 23:50:08 +00:00
matt 4a0de1478c Add an atomic_cas_8 which uses ldrex/strex. 2008-11-18 15:22:56 +00:00
jnemeth ef266cee6b oops, converted some #ifndef into #if defined... 2008-11-17 10:21:30 +00:00
jnemeth 3e8ff10fa3 Convert all #ifdef _KERNEL to #if defined (_KERNEL) || defined(_STANDALONE)
from Bernd Ernesti on source-changes@.  This fixes a build breakage
with i386/amd64 bootblocks.
2008-11-17 09:56:48 +00:00
ad c6555ead19 Our qsort() is inappropriate for kernel use because it makes recursive
calls. Replace it with a kheapsort() function in kernel. Pointed out
by tron@.
2008-11-16 16:15:58 +00:00
ad e5c4df967a Make qsort() available in libkern. 2008-11-16 15:01:26 +00:00
joerg fd06786f0c Raise correct interrupt on division errors. 2008-10-27 00:20:22 +00:00
mrg 4c0ca913b1 look for COMMON_MACHINE_ARCH before MACHINE_ARCH or MACHINE_CPU. 2008-10-26 07:22:50 +00:00
jmcneill 48e69717fb Emulate cpuid instruction. 2008-10-25 19:01:18 +00:00
ad ab62b04dc5 Allow atomic ops to be built as part of libpthread. 2008-09-29 08:43:00 +00:00
haad 185aec71fe Add prop_array_add_int* and prop_array_add_uint* functions. These functions
can be used to append specified type to the end of prop_array_t.

Ok'ed by @joerg.
2008-09-11 13:15:13 +00:00
joerg 3ae583451f Prepare use of strtoull, strtoumax and strtoimax in tools/compat by
including nbtool_config.h.
2008-09-10 18:08:58 +00:00
matt 331139bd61 Properly deal with LIBC namespace issues. 2008-08-22 03:00:02 +00:00