summaryrefslogtreecommitdiff
path: root/lib/libpthread/arch/amd64
Commit message (Collapse)AuthorAgeFilesLines
* Repo copy libpthreads to libkse.David E. O'Brien2007-10-096-670/+0
| | | | | | | | | This introduces the WITHOUT_LIBKSE nob, and changes WITHOUT_LIBPTHREADS to mean with neither threading libs. Approved by: re(kensmith) Notes: svn path=/head/; revision=172492
* Fix a race condition introduced when redzones were added. Use anDaniel Eischen2006-02-241-5/+4
| | | | | | | | | atomic operation to return and adjust the stack. Submitted by: luoqi Notes: svn path=/head/; revision=155990
* Cosmetic tweaks to reduce diffs to the i386 counterpart.Peter Wemm2004-11-061-2/+3
| | | | Notes: svn path=/head/; revision=137294
* gcc -O2 cleanup. tested for a long time.David Xu2004-08-251-2/+2
| | | | | | | Reviewed by: deischen Notes: svn path=/head/; revision=134319
* 1. Add macro DTV_OFFSET to calculate dtv offset in tcb.David Xu2004-08-161-0/+2
| | | | | | | 2. Export symbols needed by debugger. Notes: svn path=/head/; revision=133801
* Add TLS support for i386 and amd64.Doug Rabson2004-08-152-8/+18
| | | | Notes: svn path=/head/; revision=133756
* Save context in kernel fashion, so it can be restored byDavid Xu2004-07-311-2/+5
| | | | | | | kse_switchin syscall. Notes: svn path=/head/; revision=132928
* Remove unused field.David Xu2004-07-311-1/+0
| | | | Notes: svn path=/head/; revision=132927
* Macro optimize, this increases context switch speed about 2% on myDavid Xu2004-07-311-2/+2
| | | | | | | athlon64 machine. Notes: svn path=/head/; revision=132913
* Call kse_switchin to switch context when being debugged.David Xu2004-07-131-8/+22
| | | | Notes: svn path=/head/; revision=132125
* Avoid clobbering the red zone when running on the new context's stack inTim J. Robbins2004-06-071-0/+5
| | | | | | | _amd64_restore_context(). Notes: svn path=/head/; revision=130206
* Apply a second fix for stack alignment with libkse. This time, enter thePeter Wemm2003-12-051-2/+2
| | | | | | | | | | | | | | UTS with the stack correctly aligned. Also, while here, use an indirect jump rather than the pushq/ret hack. This fixes threaded apps that use floating point for me, although it hasn't solved all the problems. It is an improvement though. Preservation of the 128 byte red zone hasn't been resolved yet. Approved by: re (scottl) Notes: svn path=/head/; revision=123155
* Use amd64_set_fsbase() instead of calling sysarch() directly.Peter Wemm2003-10-231-6/+1
| | | | Notes: svn path=/head/; revision=121409
* Update context code for my last ABI breakage of mcontext. I'm worriedPeter Wemm2003-10-171-7/+8
| | | | | | | | | | about the fpu code here. It should be using fxsave/fxrstor instead of saving/restoring the control word. The SSE registers are used a lot in gcc generated code on amd64. I'm not sure how this all fits together though. Notes: svn path=/head/; revision=121163
* Make KSE_STACKSIZE machine dependent by moving it from thr_kern.c toMarcel Moolenaar2003-09-191-1/+2
| | | | | | | | | pthread_md.h. This commit only moves the definition; it does not change it for any of the platforms. This more easily allows 64-bit architectures (in particular) to pick a slightly larger stack size. Notes: svn path=/head/; revision=120263
* Remove a comment that questioned why the size of the FPUDaniel Eischen2003-09-161-10/+1
| | | | | | | | | | | | | | state for amd64 was twice as large as necessary. Peter recently fixed this, so the comment no longer applies. Also, since the size of struct mcontext changed, adjust the threads library version of get&set context to match. FYI, any change layout/size change to any arch's struct mcontext will likely need some minor changes in libpthread. Notes: svn path=/head/; revision=120108
* Don't assume sizeof(long) = sizeof(int) on x86; use intDaniel Eischen2003-09-031-3/+11
| | | | | | | | | | | | | | | instead of long types for low-level locks. Add prototypes for some internal libc functions that are wrapped by the library as cancellation points. Add memory barriers to alpha atomic swap functions (submitted by davidxu). Requested by: bde Notes: svn path=/head/; revision=119723
* Don't forget to set kcb_self.David Xu2003-08-121-0/+1
| | | | Notes: svn path=/head/; revision=118844
* Rethink the MD interfaces for libpthread to account forDaniel Eischen2003-08-054-167/+280
| | | | | | | | | | | | archs that can (or are required to) have per-thread registers. Tested on i386, amd64; marcel is testing on ia64 and will have some follow-up commits. Reviewed by: davidxu Notes: svn path=/head/; revision=118510
* -15 is incorrect to be used to align stack to 16 bytes, use ~15 instead.David Xu2003-08-021-1/+1
| | | | Notes: svn path=/head/; revision=118368
* Use FSBase to map kse, GCC generates code which uses %fs to access TLS data.David Xu2003-07-311-4/+4
| | | | | | | Reminded by: marcel Notes: svn path=/head/; revision=118285
* Set GSBASE for kse. Finally make libkse work on AMD64.David Xu2003-07-311-6/+3
| | | | Notes: svn path=/head/; revision=118257
* Fix some typos, correctly jump into UTS.David Xu2003-07-311-2/+2
| | | | Notes: svn path=/head/; revision=118256
* Fix typo.David Xu2003-07-261-5/+5
| | | | Notes: svn path=/head/; revision=118037
* Add missing arguments to _amd64_restore_context() when called fromDaniel Eischen2003-07-201-2/+4
| | | | | | | THR_SETCONTEXT(). Notes: svn path=/head/; revision=117807
* Add some very beta amd64 bits. These will also need some tweaking.Daniel Eischen2003-07-196-0/+528
Notes: svn path=/head/; revision=117756