Module Name: src Committed By: joerg Date: Thu Feb 24 04:28:49 UTC 2011
Modified Files: src/lib/libc/arch/alpha/gen: _lwp.c src/lib/libc/arch/arm/gen: _lwp.c src/lib/libc/arch/hppa/gen: _lwp.c src/lib/libc/arch/i386/gen: _lwp.c src/lib/libc/arch/m68k/gen: _lwp.c src/lib/libc/arch/mips/gen: _lwp.c src/lib/libc/arch/powerpc/gen: _lwp.c src/lib/libc/arch/sh3/gen: _lwp.c src/lib/libc/arch/sparc/gen: _lwp.c src/lib/libc/arch/sparc64/gen: _lwp.c src/lib/libc/arch/x86_64/gen: _lwp.c src/lib/libpthread: pthread_int.h src/lib/libpthread/arch/i386: pthread_md.h src/sys/arch/alpha/alpha: machdep.c sys_machdep.c src/sys/arch/alpha/include: mcontext.h types.h src/sys/arch/amd64/amd64: machdep.c netbsd32_machdep.c src/sys/arch/amd64/include: mcontext.h types.h src/sys/arch/arm/arm: sig_machdep.c src/sys/arch/arm/include: mcontext.h src/sys/arch/hppa/hppa: hppa_machdep.c trap.S vm_machdep.c src/sys/arch/hppa/include: mcontext.h types.h src/sys/arch/i386/i386: machdep.c src/sys/arch/i386/include: mcontext.h types.h src/sys/arch/m68k/include: mcontext.h src/sys/arch/m68k/m68k: sig_machdep.c src/sys/arch/mips/include: mcontext.h types.h src/sys/arch/mips/mips: cpu_subr.c netbsd32_machdep.c src/sys/arch/powerpc/include: mcontext.h types.h src/sys/arch/sh3/include: mcontext.h types.h src/sys/arch/sh3/sh3: sh3_machdep.c src/sys/arch/sparc/include: mcontext.h types.h src/sys/arch/sparc/sparc: machdep.c vm_machdep.c src/sys/arch/sparc64/sparc64: netbsd32_machdep.c vm_machdep.c Log Message: Allow storing and receiving the LWP private pointer via ucontext_t on all platforms except VAX and IA64. Add fast access via register for AMD64, i386 and SH3 ports. Use this fast access in libpthread to replace the stack based pthread_self(). Implement skeleton support for Alpha, HPPA, PowerPC, SPARC and SPARC64, but leave it disabled. Ports that support this feature provide __HAVE____LWP_GETPRIVATE_FAST in machine/types.h and a corresponding __lwp_getprivate_fast in machine/mcontext.h. This material is based upon work partially supported by The NetBSD Foundation under a contract with Joerg Sonnenberger. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/alpha/gen/_lwp.c cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/arm/gen/_lwp.c cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/hppa/gen/_lwp.c cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/i386/gen/_lwp.c cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/m68k/gen/_lwp.c cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/mips/gen/_lwp.c cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/powerpc/gen/_lwp.c cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/sh3/gen/_lwp.c cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/sparc/gen/_lwp.c cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/sparc64/gen/_lwp.c cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/x86_64/gen/_lwp.c cvs rdiff -u -r1.73 -r1.74 src/lib/libpthread/pthread_int.h cvs rdiff -u -r1.18 -r1.19 src/lib/libpthread/arch/i386/pthread_md.h cvs rdiff -u -r1.328 -r1.329 src/sys/arch/alpha/alpha/machdep.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/alpha/alpha/sys_machdep.c cvs rdiff -u -r1.5 -r1.6 src/sys/arch/alpha/include/mcontext.h cvs rdiff -u -r1.43 -r1.44 src/sys/arch/alpha/include/types.h cvs rdiff -u -r1.158 -r1.159 src/sys/arch/amd64/amd64/machdep.c cvs rdiff -u -r1.72 -r1.73 src/sys/arch/amd64/amd64/netbsd32_machdep.c cvs rdiff -u -r1.12 -r1.13 src/sys/arch/amd64/include/mcontext.h cvs rdiff -u -r1.35 -r1.36 src/sys/arch/amd64/include/types.h cvs rdiff -u -r1.38 -r1.39 src/sys/arch/arm/arm/sig_machdep.c cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/include/mcontext.h cvs rdiff -u -r1.23 -r1.24 src/sys/arch/hppa/hppa/hppa_machdep.c cvs rdiff -u -r1.53 -r1.54 src/sys/arch/hppa/hppa/trap.S cvs rdiff -u -r1.48 -r1.49 src/sys/arch/hppa/hppa/vm_machdep.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/hppa/include/mcontext.h cvs rdiff -u -r1.17 -r1.18 src/sys/arch/hppa/include/types.h cvs rdiff -u -r1.699 -r1.700 src/sys/arch/i386/i386/machdep.c cvs rdiff -u -r1.8 -r1.9 src/sys/arch/i386/include/mcontext.h cvs rdiff -u -r1.70 -r1.71 src/sys/arch/i386/include/types.h cvs rdiff -u -r1.7 -r1.8 src/sys/arch/m68k/include/mcontext.h cvs rdiff -u -r1.45 -r1.46 src/sys/arch/m68k/m68k/sig_machdep.c cvs rdiff -u -r1.14 -r1.15 src/sys/arch/mips/include/mcontext.h cvs rdiff -u -r1.48 -r1.49 src/sys/arch/mips/include/types.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/mips/mips/cpu_subr.c cvs rdiff -u -r1.5 -r1.6 src/sys/arch/mips/mips/netbsd32_machdep.c cvs rdiff -u -r1.10 -r1.11 src/sys/arch/powerpc/include/mcontext.h cvs rdiff -u -r1.36 -r1.37 src/sys/arch/powerpc/include/types.h cvs rdiff -u -r1.7 -r1.8 src/sys/arch/sh3/include/mcontext.h cvs rdiff -u -r1.30 -r1.31 src/sys/arch/sh3/include/types.h cvs rdiff -u -r1.90 -r1.91 src/sys/arch/sh3/sh3/sh3_machdep.c cvs rdiff -u -r1.10 -r1.11 src/sys/arch/sparc/include/mcontext.h cvs rdiff -u -r1.55 -r1.56 src/sys/arch/sparc/include/types.h cvs rdiff -u -r1.305 -r1.306 src/sys/arch/sparc/sparc/machdep.c cvs rdiff -u -r1.104 -r1.105 src/sys/arch/sparc/sparc/vm_machdep.c cvs rdiff -u -r1.93 -r1.94 src/sys/arch/sparc64/sparc64/netbsd32_machdep.c cvs rdiff -u -r1.95 -r1.96 src/sys/arch/sparc64/sparc64/vm_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.