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
dogcow
e74fc2a17d
Unbork cross-builds in tools/compat/
2008-08-22 01:48:03 +00:00
oster
5577c7fceb
Fix build breakage by adding appropriate #includes.
...
Patch from joerg@
2008-08-20 19:58:33 +00:00
joerg
245e086321
Unify the implementation of strto{l,ul,ll,ull,imax,umax,q,uq} into one
...
version for signed and one version for unsigned data types.
Add a check for supported bases and set errno (userland) or panic
(kernel, libsa) otherwise.
Make strto{ll,ull,imax,umax} normal symbols and just keep the underscore
versions as strong alias.
Obtained from DragonFly, based on the wide char version from Citrus.
Reviewed by christos@
2008-08-20 12:42:26 +00:00
matt
c7572a70dd
Add assembly versions of atomic ops with ldrex/strex
2008-08-16 07:12:39 +00:00
skrll
d8054af5f4
Provide assembly _atomic_cas_up() as the compiler cannot be trusted to
...
generate fully restartable code sequences.
2008-08-11 21:54:51 +00:00
christos
ecd6bc7086
typo in comment and white-space fixes mostly from Stathis Kamperis
2008-08-11 05:54:21 +00:00
thorpej
4ce0dc3a15
Fix an issue introduced with the prop_stack change: It's not a good idea to
...
return a 3-value enum from a function declared to return bool. This broke
the recurse case for prop_object_equals(). Instead, declare the object type
equals routine to return a _prop_object_equals_rv_t.
Give the same treatment to the object type free routines: declare them to
return a _prop_object_free_rv_t, and consistently check those return values
againt the enum type.
Tidy up some whitespace while we're here.
2008-08-03 04:00:12 +00:00
thorpej
1d49730690
Fix a typo.
2008-08-03 03:11:28 +00:00
dholland
154fe9b1d9
Don't convert cpuid_t through int while testing it for being in range.
...
(Might truncate it, for one thing. Also, if the shift result is < 0 the
demons have already flown out of our nose.)
Fixes some -Wsign-compare warnings.
2008-07-27 05:47:56 +00:00
rmind
9dfcfe5db5
Add few KASSERTs.
2008-07-14 01:07:39 +00:00
matt
94bc3febe6
Changes to make lint STFU.
2008-06-30 20:54:19 +00:00
matt
5a4f0c6b2b
Change tree op members/typedefs to rbto_compare_* from rb_compare_*
2008-06-30 20:14:09 +00:00
matt
48717a981d
Move rb.c from sys/lib/libkern to common so it can be in both libc and libkern.
2008-06-30 19:03:59 +00:00
ad
d6c32b235a
+atomic_cas_*_ni
2008-06-23 10:33:52 +00:00
ad
7a21650601
Install manual pages for the atomic ops.
2008-06-23 10:22:40 +00:00
he
d6e5879de3
Be consistent in how cpuset_nentries is computed in the kernel and
...
in user-land. This fixes the user-land part. Now "cpuctl identify 0"
gives a result instead of getting EINVAL from the set-affinity syscall.
2008-06-22 21:49:31 +00:00
rmind
54ccd4a6fa
kcpuset_isset: remove if-check. It is not reasonable for kernel,
...
saves few cycles, and it is better for CPU cache.
2008-06-22 03:24:31 +00:00
christos
dfeefcdcb8
Separate cpuset and kcpuset, and only use the bits in userland. Requested
...
by yamt
2008-06-22 00:05:09 +00:00
thorpej
e0e4b153c9
_prop_rb_tree_insert_node() now returns true/false to indicate if the
...
insertion succeeded. Update existing usage that arranges for insertions
to always succeed to assert that they do.
2008-06-17 21:29:47 +00:00
christos
ddbb9c58dd
We don't need any of this in standalone mode.
2008-06-16 13:02:08 +00:00