Commit Graph

28 Commits

Author SHA1 Message Date
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
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
pooka
654753c2e1 include sys/param.h for _HARDKERNEL instead of homegrown def. 2009-01-12 02:53:29 +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
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
ad
ab62b04dc5 Allow atomic ops to be built as part of libpthread. 2008-09-29 08:43:00 +00:00
chs
6740bb5440 enable profiling of assembly functions. 2008-05-25 15:56:11 +00:00
yamt
78eb84d14c whitespace. 2008-05-03 05:43:05 +00:00
yamt
9093441576 rename END to ENDLABEL. i'll use END for other purpose. ok by Andrew Doran. 2008-05-03 05:40:21 +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
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
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
e16a661bf3 - Make __cpu_simple_lock and similar real functions and patch at runtime.
- Remove old x86 atomic ops.
- Drop text alignment back to 16 on i386 (really, this time).
- Minor cleanup.
2007-12-20 23:46:10 +00:00
ad
163e94a67e 64-bit atomic ops for i386. 2007-12-20 01:27:24 +00:00
ad
164992f1a5 Add missing strong aliases. 2007-12-09 17:38:51 +00:00
ad
6f3a041727 atomic_add_* takes signed integers, the others take unsigned. 2007-11-29 17:29:40 +00:00
ad
44fc0a18e5 A lock prefix on xchg is meaningless. 2007-11-28 18:02:29 +00:00
ad
0df165c04d Use xchgb, bswapl and not rotate/shift. 2007-11-28 17:03:35 +00:00
ad
b47fc5f5e0 Fix up a few minor problems. 2007-11-28 15:24:38 +00:00
ad
65728ed419 x86 atomic ops. 2007-11-28 01:33:47 +00:00
ad
51a2159851 Don't unconditionally clear the direction flag. The ABI says it must always
be clear when making a function call, and 'cld' takes about 50 clock cyles
on the P4.
2007-11-12 18:41:59 +00:00
yamt
88cde7b8a8 prefix local labels with ".L". 2006-04-07 12:07:55 +00:00
yamt
a30f264f2a don't rename bswap{16,32} if defined(_KERNEL) || defined(_STANDALONE).
(they are hidden by gcc-optimized versions, though.)
2005-12-27 09:38:11 +00:00
christos
37c9f0a654 Merge libkern + libc common files. As requested by core. 2005-12-20 19:28:49 +00:00