freebsd-dev/lib/libc/amd64/sys
Konstantin Belousov 35dfc644f5 Copy the fencing of the algorithm to do lock-less update and reading
of the timehands, from the kern_tc.c implementation to vdso.  Add
comments giving hints where to look for the algorithm explanation.

To compensate the removal of rmb() in userspace binuptime(), add
explicit lfence instruction before rdtsc.  On i386, add usual
complications to detect SSE2 presence; assume that old CPUs which do
not implement SSE2 also execute rdtsc almost in order.

Reviewed by:	alc, bde (previous version)
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2015-08-04 12:33:51 +00:00
..
__vdso_gettc.c Copy the fencing of the algorithm to do lock-less update and reading 2015-08-04 12:33:51 +00:00
amd64_get_fsbase.c
amd64_get_gsbase.c
amd64_set_fsbase.c
amd64_set_gsbase.c
brk.S libc/amd64: Do not export .cerror. 2012-09-06 20:59:49 +00:00
cerror.S
exect.S libc/amd64: Do not export .cerror. 2012-09-06 20:59:49 +00:00
getcontext.S Introduce a WEAK_REFERENCE() alias and use it. Get rid of the CNAME and the 2013-11-21 21:25:58 +00:00
Makefile.inc Remove reboot.S (part of libc). It's not needed and was actually 2015-07-07 09:25:51 +00:00
pipe.S Introduce a WEAK_REFERENCE() alias and use it. Get rid of the CNAME and the 2013-11-21 21:25:58 +00:00
ptrace.S libc/amd64: Do not export .cerror. 2012-09-06 20:59:49 +00:00
sbrk.S libc/amd64: Do not export .cerror. 2012-09-06 20:59:49 +00:00
setlogin.S Introduce a WEAK_REFERENCE() alias and use it. Get rid of the CNAME and the 2013-11-21 21:25:58 +00:00
sigreturn.S
vfork.S Introduce a WEAK_REFERENCE() alias and use it. Get rid of the CNAME and the 2013-11-21 21:25:58 +00:00