History log of /freebsd-9.3-release/lib/libkse/arch/i386/include/pthread_md.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 174112 30-Nov-2007 deischen

WARNS=3'ify.


# 172491 09-Oct-2007 obrien

Repo copy libpthreads to libkse.
This introduces the WITHOUT_LIBKSE nob,
and changes WITHOUT_LIBPTHREADS to mean with neither threading libs.
Approved by: re(kensmith)


# 147673 29-Jun-2005 peter

Clean out the leftovers from the i386_set_gsbase() TLS conversion.

Like on libthr, there is an i386_set_gsbase() stub implementation here
to avoid libc.so.5 issues. This should likely be a weak symbol and I
expect this will be fixed soon.

Approved by: re


# 145569 26-Apr-2005 peter

Remove the special _amd64_set_gsbase() code for #ifdef COMPAT_32BIT, now
that the amd64 kernel implements i386_get/set_gsbase(). All the rest of
the ldt backwards compat code should go away soon.


# 145039 13-Apr-2005 peter

Use the i386_set_gsbase() syscall if it is implemented in the kernel.

This is a little hairy here because the allocation and usage of this
functionality is split into two places in libpthread.


# 137295 06-Nov-2004 peter

i386_set_ldt() is not available when running 32 bit binaries on amd64
kernels. Use the recently exposed direct-set routines instead. This is
only activated for when we compile i386 support libraries on amd64.


# 134326 26-Aug-2004 davidxu

Add missing brackets. It was committed from wrong tree.


# 134319 25-Aug-2004 davidxu

gcc -O2 cleanup. tested for a long time.

Reviewed by: deischen


# 133801 16-Aug-2004 davidxu

1. Add macro DTV_OFFSET to calculate dtv offset in tcb.
2. Export symbols needed by debugger.


# 133756 15-Aug-2004 dfr

Add TLS support for i386 and amd64.


# 132125 13-Jul-2004 davidxu

Call kse_switchin to switch context when being debugged.


# 120263 19-Sep-2003 marcel

Make KSE_STACKSIZE machine dependent by moving it from thr_kern.c to
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.


# 118510 05-Aug-2003 deischen

Rethink the MD interfaces for libpthread to account for
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


# 118277 31-Jul-2003 deischen

Take the same approach for i386 as that for ia64 and amd64. Use
the userland version of [gs]etcontext to switch between a thread
and the UTS scheduler (and back again). This also fixes a bug
in i386 _thr_setcontext() which wasn't properly restoring the
context.

Reviewed by: davidxu


# 116771 23-Jun-2003 marcel

Untangle the inter-dependency of kse types and ksd types/functions
by moving the definition of struct ksd to pthread_md.h and removing
the inclusion of ksd.h from thr_private.h (which has the definition
of struct kse and kse_critical_t). This allows ksd.h to have inline
functions that use struct kse and kse_critical_t and generally
yields a cleaner implementation at the cost of not having all ksd
related types/definitions in one header.

Implement the ksd functionality on ia64 by using inline functions
and permanently remove ksd.c from the ia64 specific makefile.

This change does not clean up the i386 specific version of ksd.h.

NOTE: The ksd code on ia64 abuses the tp register in the same way
as it is abused in libthr in that it is incompatible with the
runtime specification. This will be address when support for TLS
hits the tree.


# 114295 30-Apr-2003 deischen

Move the mailbox to the beginning of the thread and align the
thread so that the context (SSE FPU state) is also aligned.


# 113661 18-Apr-2003 deischen

Sorry folks; I accidentally committed a patch from what I was working
on a couple of days ago. This should be the most recent changes.

Noticed by: davidxu


# 113656 18-Apr-2003 deischen

Add architecture dependent atomic ops (atomic_swap only), KSE specific
data, and userland versions of [gs]etcontext().

Modify the UTS entry and exit functions to account of FPU validity
and format.