Commit Graph

226 Commits

Author SHA1 Message Date
martin
11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
tsutsui
2be642537b Make this compile (missing register prefix). 2008-04-30 09:59:42 +00:00
ad
9ba64b51be Assembly _atomic_cas_up() for mips. PR lib/38482. 2008-04-30 00:17:34 +00:00
scw
4e2c4c42b4 Implement _atomic_cas_up() in assembly code as the compiler cannot be
trusted to generate fully restartable code sequences.

Addresses lib/38482 for ARM and m68000.
2008-04-29 20:57:50 +00:00
martin
3028e483e4 Convert to new 2 clause license 2008-04-29 06:53:00 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
nakayama
99adca9efa Use %xcc for 64-bit comparisons. 2008-04-09 12:49:05 +00:00
tsutsui
c3b0f346ec Fix pasto. 2008-04-06 04:01:56 +00:00
tsutsui
7dfcdee2a2 Use .c version atomic ops for m68010. 2008-04-05 22:28:36 +00:00
he
73e50f111b Do like the non-__OPTIMIZE_SIZE__ variant, and compile memset() unless
BZERO is defined, instead of requiring MEMSET to be defined.

Avoids violating the principle of least astonishment, and also fixes
the build of stand/ and kernels for (at least) alpha.
2008-03-29 14:03:22 +00:00
he
a58a2cddc0 Make the size-optimized memset() actually conform to the man page
by returning the first arg.
2008-03-29 12:25:32 +00:00
apb
f5c2801052 Add /* __OPTIMIZE_SIZE__ */ comments on relevant #else and #endif lines.
Also change some #ifdef to #if defined() for consistency.
2008-03-26 06:19:36 +00:00
christos
9f2bc34fb9 bcopy does not return ptr. 2008-03-25 23:23:34 +00:00
christos
93f951ce0d fix #ifdefs for BCOPY 2008-03-25 23:16:29 +00:00
christos
985a3d11e8 add bcopy and bzero for the benefit of loadfile. 2008-03-25 23:13:15 +00:00
christos
9e32ad04aa add __OPTIMIZE_SIZE__ versions. 2008-03-25 21:22:37 +00:00
kochi
2ead1ed5c4 Add atomic_cas_foo_ni alias. 2008-03-24 14:59:30 +00:00
kochi
473f1b48ee Add ia64 MI atomic ops.
(Not tested at all, just for reference)
2008-03-20 07:10:31 +00:00
ad
b0f548e27b oops 2008-03-07 02:18:34 +00:00
ad
bb9b5eb92c In libc, use the MI atomic_cas(). The assembly version is faster, but I
think there are PIC issues with it and I don't have a way to fix and test.
2008-03-07 01:18:54 +00:00
phx
e6d6e05cb1 Including assym.h is not needed and will break the build, because it does not
exist that early. Deleted it.
Approved by garbled.
2008-03-06 21:17:17 +00:00
cube
5b25d80ca0 Actually implement prop_dictionary_make_immutable. OK'd by thorpej@. 2008-03-05 07:47:09 +00:00
lukem
8346a6360d Use mkstemp() + fchmod() instead of mktemp(), since the latter
results in linker warnings.
2008-02-23 01:26:01 +00:00
garbled
2ba84f0f9e Add tuned powerpc assembler written by IBM and released under a 3-clause
BSD Lisc as part of the perflib project.
http://sourceforge.net/projects/ppcperflib/

Tested the new functions with microbenchmarks on a number of different
CPU types, and  found that most cpus either benefited greatly, or were
unaffected.  Primarily G4 CPU's were unaffected, and all others showed
speedups.  My 7044 (POWER3) went from a 70.6 to a 73.2 (thats good) in
bytebench with a complete release built with these.  Also passed
regression tests.
2008-02-21 17:35:47 +00:00
apb
267197ec1e For all files under src/common, as well as related man pages under
src/lib/libc, or related headers under src/sys/sys: change u_intNN_t to
uintNN_t.
2008-02-16 17:37:13 +00:00
apb
cf01a0f8c8 C99 is no longer "very recent". Adjust a comment accordingly, and
start using uintNN_t instead of u_intNN_t in the definitions of
sha2_{byte,word32,word64}.
2008-02-16 17:15:32 +00:00
dogcow
26a84bff72 add missing %. (hi matt!) 2008-02-13 03:55:54 +00:00
ad
2d0314d313 Always enable memory barriers in userspace, otherwise libpthread won't
work correctly on MP systems.
2008-02-12 18:40:28 +00:00
ad
b86eac67c4 Correct a dodgy alias. 2008-02-12 18:35:38 +00:00
matt
360e0475e3 Use %rN as all new code is supposed to. 2008-02-12 07:58:01 +00:00
matt
131790b421 Fix pthread problem. (export membar* to userland) 2008-02-12 07:35:04 +00:00
ad
eff625dc0e Put back a __predict_false removed during testing and fix atomic_cas_mp(). 2008-02-11 23:48:23 +00:00
ad
a3fb849dfc Clarify what membar_enter/membar_exit provide. 2008-02-11 15:12:07 +00:00
ad
1b2aff1f03 Note many of the restrictions, and clarify the section on global
visibility.
2008-02-11 15:01:24 +00:00
ad
b3193dc791 Only build atomic ops for libkern/libc. 2008-02-11 14:21:11 +00:00
ad
b5b3e9fb51 Enable the atomic ops in userspace. 2008-02-10 18:45:40 +00:00
ad
12190eee54 Fix name of the init function. 2008-02-10 13:41:02 +00:00
ad
646fc3baa9 Add atomic_cas_foo_ni(). 2008-02-10 13:40:31 +00:00
ad
cc655ebd16 Add atomic_cas_foo_ni(). 2008-02-10 13:25:46 +00:00
ad
a180c2a1f7 membar_enter was doing the wrong thing. For x86 we can alias:
membar_enter -> membar_consumer
	membar_exit -> membar_producer
2008-02-09 13:42:21 +00:00
ad
d418b9fe8b Some glue for atomic ops in userspace. 2008-02-09 13:30:54 +00:00
matt
350555cd1f Add the .C versions for the atomic ops. 2008-02-03 07:46:38 +00:00
nakayama
da1555e6a7 Search files in arch/sparc64/atomic before arch/sparc/atomic in case of
sparc64 32-bit kernel.

Make sparc64 32-bit kernel works again.
2008-01-22 12:34:58 +00:00
nakayama
b4ed00a22d Use __arch64__ instead of __sparc64__, since -D__sparc64__ is appended
to build option of sparc64 32-bit kernel.
2008-01-22 12:32:07 +00:00
christos
428727f47f PR/37838: Stathis Kamperis: proplib documentation enhancements 2008-01-21 22:15:03 +00:00
ad
607fd8ae21 atomic_and/atomic_or don't operate on pointers, so don't copy the return
to a0. From thorpej@.
2008-01-12 17:29:03 +00:00
ad
f6c08490ef Don't put membar in the delay slot. thorpej@ says it may be problematic. 2008-01-12 17:27:28 +00:00
simonb
d8de5b102b Remove support for NetBSD/pc532. 2008-01-09 11:25:58 +00:00
martin
ececdb7913 When passing char (or unsigned char) arguments as int, assign them to a
temporary char (resp. unsigned char) before comparing, to force truncation
to the proper domain. This makes the coresponding regression tests succeed.
2008-01-08 21:57:06 +00:00
ad
9324487752 Include sys/simplelock.h in prop_object_impl.h. 2008-01-05 01:15:02 +00:00