Date: Tue, 5 Aug 2003 20:15:20 -0700 (PDT) From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 35584 for review Message-ID: <200308060315.h763FKfl091233@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=35584 Change 35584 by marcel@marcel_nfs on 2003/08/05 20:14:38 IFC @35582 Affected files ... .. //depot/projects/ia64/bin/ps/ps.1#17 integrate .. //depot/projects/ia64/etc/mtree/BSD.local.dist#16 integrate .. //depot/projects/ia64/etc/mtree/BSD.usr.dist#24 integrate .. //depot/projects/ia64/etc/rc.d/Makefile#20 integrate .. //depot/projects/ia64/etc/rc.d/localdaemons#3 integrate .. //depot/projects/ia64/etc/rc.d/localpkg#1 branch .. //depot/projects/ia64/etc/rc.d/netoptions#3 integrate .. //depot/projects/ia64/games/fortune/datfiles/Makefile#5 integrate .. //depot/projects/ia64/gnu/usr.bin/groff/Makefile.inc#4 integrate .. //depot/projects/ia64/gnu/usr.bin/groff/tmac/mdoc.local#16 integrate .. //depot/projects/ia64/gnu/usr.bin/groff/tmac/ru.KOI8-R#2 integrate .. //depot/projects/ia64/lib/libc/i386/sys/i386_get_ldt.2#6 integrate .. //depot/projects/ia64/lib/libc/sys/kqueue.2#7 integrate .. //depot/projects/ia64/lib/libedit/makelist#3 integrate .. //depot/projects/ia64/lib/libpthread/arch/amd64/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/libpthread/arch/amd64/amd64/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libpthread/arch/amd64/include/ksd.h#3 delete .. //depot/projects/ia64/lib/libpthread/arch/amd64/include/pthread_md.h#3 integrate .. //depot/projects/ia64/lib/libpthread/arch/i386/Makefile.inc#3 integrate .. //depot/projects/ia64/lib/libpthread/arch/i386/i386/ksd.c#4 delete .. //depot/projects/ia64/lib/libpthread/arch/i386/i386/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libpthread/arch/i386/i386/thr_getcontext.S#3 integrate .. //depot/projects/ia64/lib/libpthread/arch/i386/include/ksd.h#5 delete .. //depot/projects/ia64/lib/libpthread/arch/i386/include/pthread_md.h#5 integrate .. //depot/projects/ia64/lib/libpthread/arch/ia64/Makefile.inc#4 integrate .. //depot/projects/ia64/lib/libpthread/arch/ia64/ia64/context.S#2 integrate .. //depot/projects/ia64/lib/libpthread/arch/ia64/ia64/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libpthread/arch/ia64/include/ksd.h#2 delete .. //depot/projects/ia64/lib/libpthread/arch/ia64/include/pthread_md.h#4 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_cancel.c#12 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_concurrency.c#6 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_create.c#13 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_init.c#14 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_kern.c#27 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_private.h#19 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_sig.c#20 integrate .. //depot/projects/ia64/release/Makefile#65 integrate .. //depot/projects/ia64/release/Makefile.inc.docports#11 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/errata/article.sgml#23 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/alpha/proc-alpha.sgml#25 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#114 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/errata/article.sgml#15 integrate .. //depot/projects/ia64/sbin/camcontrol/Makefile#7 integrate .. //depot/projects/ia64/sbin/camcontrol/camcontrol.c#11 integrate .. //depot/projects/ia64/sbin/camcontrol/modeedit.c#7 integrate .. //depot/projects/ia64/sbin/camcontrol/util.c#4 integrate .. //depot/projects/ia64/sbin/mdmfs/mdmfs.8#10 integrate .. //depot/projects/ia64/sbin/mdmfs/mdmfs.c#9 integrate .. //depot/projects/ia64/sbin/newfs/mkfs.c#30 integrate .. //depot/projects/ia64/sbin/route/Makefile#4 integrate .. //depot/projects/ia64/share/colldef/Makefile#15 integrate .. //depot/projects/ia64/share/man/man4/firewire.4#8 integrate .. //depot/projects/ia64/share/man/man7/release.7#24 integrate .. //depot/projects/ia64/share/mklocale/Makefile#13 integrate .. //depot/projects/ia64/share/mklocale/am_ET.UTF-8.src#1 branch .. //depot/projects/ia64/share/monetdef/Makefile#12 integrate .. //depot/projects/ia64/share/monetdef/am_ET.UTF-8.src#1 branch .. //depot/projects/ia64/share/msgdef/Makefile#12 integrate .. //depot/projects/ia64/share/msgdef/am_ET.UTF-8.src#1 branch .. //depot/projects/ia64/share/numericdef/Makefile#12 integrate .. //depot/projects/ia64/share/numericdef/am_ET.UTF-8.src#1 branch .. //depot/projects/ia64/share/termcap/termcap.src#16 integrate .. //depot/projects/ia64/share/timedef/Makefile#12 integrate .. //depot/projects/ia64/share/timedef/am_ET.UTF-8.src#1 branch .. //depot/projects/ia64/sys/alpha/alpha/critical.c#3 integrate .. //depot/projects/ia64/sys/alpha/include/critical.h#2 integrate .. //depot/projects/ia64/sys/amd64/amd64/busdma_machdep.c#7 integrate .. //depot/projects/ia64/sys/amd64/amd64/critical.c#3 integrate .. //depot/projects/ia64/sys/amd64/include/critical.h#2 integrate .. //depot/projects/ia64/sys/boot/powerpc/loader/start.c#2 integrate .. //depot/projects/ia64/sys/compat/linprocfs/linprocfs.c#20 integrate .. //depot/projects/ia64/sys/dev/bge/if_bge.c#36 integrate .. //depot/projects/ia64/sys/dev/digi/digi.h#5 integrate .. //depot/projects/ia64/sys/dev/en/if_en_pci.c#3 integrate .. //depot/projects/ia64/sys/dev/en/midway.c#20 integrate .. //depot/projects/ia64/sys/dev/en/midwayvar.h#7 integrate .. //depot/projects/ia64/sys/dev/firewire/firewire.c#35 integrate .. //depot/projects/ia64/sys/dev/firewire/firewire.h#11 integrate .. //depot/projects/ia64/sys/dev/firewire/firewirereg.h#21 integrate .. //depot/projects/ia64/sys/dev/firewire/fwdev.c#19 integrate .. //depot/projects/ia64/sys/dev/firewire/fwohci.c#31 integrate .. //depot/projects/ia64/sys/dev/firewire/fwohci_pci.c#22 integrate .. //depot/projects/ia64/sys/dev/md/md.c#32 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/feeder.c#12 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/feeder.h#4 integrate .. //depot/projects/ia64/sys/dev/sym/sym_fw.h#3 integrate .. //depot/projects/ia64/sys/dev/twe/twe.c#6 integrate .. //depot/projects/ia64/sys/dev/twe/twe_compat.h#6 integrate .. //depot/projects/ia64/sys/dev/twe/twe_freebsd.c#17 integrate .. //depot/projects/ia64/sys/dev/twe/twe_tables.h#3 integrate .. //depot/projects/ia64/sys/dev/twe/tweio.h#2 integrate .. //depot/projects/ia64/sys/dev/twe/twereg.h#4 integrate .. //depot/projects/ia64/sys/dev/twe/twevar.h#4 integrate .. //depot/projects/ia64/sys/fs/specfs/spec_vnops.c#20 integrate .. //depot/projects/ia64/sys/i386/i386/busdma_machdep.c#25 integrate .. //depot/projects/ia64/sys/i386/i386/critical.c#8 integrate .. //depot/projects/ia64/sys/i386/i386/exception.s#10 integrate .. //depot/projects/ia64/sys/i386/i386/sys_machdep.c#21 integrate .. //depot/projects/ia64/sys/i386/include/critical.h#3 integrate .. //depot/projects/ia64/sys/i386/include/sysarch.h#5 integrate .. //depot/projects/ia64/sys/i386/isa/if_rdp.c#10 integrate .. //depot/projects/ia64/sys/i386/isa/spic.c#7 integrate .. //depot/projects/ia64/sys/i386/isa/wt.c#10 integrate .. //depot/projects/ia64/sys/ia64/ia64/critical.c#2 integrate .. //depot/projects/ia64/sys/ia64/ia64/exception.S#4 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#86 integrate .. //depot/projects/ia64/sys/ia64/include/critical.h#2 integrate .. //depot/projects/ia64/sys/kern/kern_descrip.c#63 integrate .. //depot/projects/ia64/sys/kern/kern_fork.c#43 integrate .. //depot/projects/ia64/sys/kern/kern_proc.c#45 integrate .. //depot/projects/ia64/sys/kern/kern_thread.c#61 integrate .. //depot/projects/ia64/sys/kern/subr_trap.c#35 integrate .. //depot/projects/ia64/sys/kern/subr_witness.c#38 integrate .. //depot/projects/ia64/sys/kern/uipc_socket.c#34 integrate .. //depot/projects/ia64/sys/kern/uipc_syscalls.c#36 integrate .. //depot/projects/ia64/sys/kern/vfs_syscalls.c#51 integrate .. //depot/projects/ia64/sys/net/bpf.c#21 integrate .. //depot/projects/ia64/sys/net/bpfdesc.h#6 integrate .. //depot/projects/ia64/sys/net/if_atm.h#10 integrate .. //depot/projects/ia64/sys/netinet/if_atm.c#3 integrate .. //depot/projects/ia64/sys/netinet/ip_mroute.c#20 integrate .. //depot/projects/ia64/sys/netinet6/nd6.c#11 integrate .. //depot/projects/ia64/sys/netinet6/nd6.h#3 integrate .. //depot/projects/ia64/sys/netinet6/nd6_rtr.c#8 integrate .. //depot/projects/ia64/sys/pci/if_ti.c#25 integrate .. //depot/projects/ia64/sys/powerpc/include/critical.h#3 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/critical.c#2 integrate .. //depot/projects/ia64/sys/sparc64/include/critical.h#2 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/critical.c#3 integrate .. //depot/projects/ia64/sys/sys/buf.h#23 integrate .. //depot/projects/ia64/sys/sys/kse.h#14 integrate .. //depot/projects/ia64/sys/sys/param.h#39 integrate .. //depot/projects/ia64/sys/sys/proc.h#72 integrate .. //depot/projects/ia64/sys/sys/socketvar.h#30 integrate .. //depot/projects/ia64/sys/vm/default_pager.c#6 integrate .. //depot/projects/ia64/sys/vm/device_pager.c#14 integrate .. //depot/projects/ia64/sys/vm/phys_pager.c#10 integrate .. //depot/projects/ia64/sys/vm/swap_pager.c#37 integrate .. //depot/projects/ia64/sys/vm/vm_pager.c#15 integrate .. //depot/projects/ia64/sys/vm/vm_pager.h#9 integrate .. //depot/projects/ia64/sys/vm/vnode_pager.c#35 integrate .. //depot/projects/ia64/tools/tools/README#11 integrate .. //depot/projects/ia64/tools/tools/hcomp/Makefile#1 branch .. //depot/projects/ia64/tools/tools/hcomp/hcomp.pl#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/www/index.cgi#6 integrate .. //depot/projects/ia64/usr.bin/netstat/mroute.c#3 integrate .. //depot/projects/ia64/usr.bin/quota/quota.c#7 integrate .. //depot/projects/ia64/usr.bin/tr/extern.h#5 integrate .. //depot/projects/ia64/usr.bin/tr/str.c#7 integrate .. //depot/projects/ia64/usr.bin/tr/tr.1#7 integrate .. //depot/projects/ia64/usr.bin/truss/syscalls.c#10 integrate .. //depot/projects/ia64/usr.sbin/amd/include/newvers.sh#2 integrate .. //depot/projects/ia64/usr.sbin/fwcontrol/fwcontrol.8#8 integrate .. //depot/projects/ia64/usr.sbin/fwcontrol/fwcontrol.c#11 integrate .. //depot/projects/ia64/usr.sbin/mergemaster/mergemaster.sh#15 integrate .. //depot/projects/ia64/usr.sbin/named/Makefile.maninc#3 integrate .. //depot/projects/ia64/usr.sbin/ndp/ndp.8#4 integrate .. //depot/projects/ia64/usr.sbin/ndp/ndp.c#3 integrate Differences ... ==== //depot/projects/ia64/bin/ps/ps.1#17 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.63 2003/06/12 16:53:55 scottl Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.64 2003/08/05 10:31:28 brueffer Exp $ .\" .Dd April 18, 1994 .Dt PS 1 @@ -262,9 +262,9 @@ displayed using the ``%a6.15p'' format. Otherwise, the start time is displayed using the ``%e%b%y'' format. .It state -The state is given by a sequence of letters, for example, +The state is given by a sequence of characters, for example, .Dq Tn RWNA . -The first letter indicates the run state of the process: +The first character indicates the run state of the process: .Pp .Bl -tag -width indent -compact .It D ==== //depot/projects/ia64/etc/mtree/BSD.local.dist#16 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.99 2003/07/29 08:02:26 ache Exp $ +# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.100 2003/08/05 05:42:07 mtm Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -277,6 +277,8 @@ .. af_ZA.ISO8859-15 .. + am_ET.UTF-8 + .. bg_BG.CP1251 .. ca_ES.ISO8859-1 ==== //depot/projects/ia64/etc/mtree/BSD.usr.dist#24 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.277 2003/07/29 08:02:26 ache Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.278 2003/08/05 05:42:07 mtm Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -337,6 +337,8 @@ .. af_ZA.ISO8859-15 .. + am_ET.UTF-8 + .. bg_BG.CP1251 .. ca_ES.ISO8859-1 @@ -667,6 +669,8 @@ .. af_ZA.ISO8859-15 .. + am_ET.UTF-8 + .. bg_BG.CP1251 .. ca_ES.ISO8859-1 ==== //depot/projects/ia64/etc/rc.d/Makefile#20 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.23 2003/07/30 20:05:20 mtm Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.24 2003/08/06 00:35:13 mtm Exp $ .include <bsd.own.mk> @@ -19,7 +19,7 @@ ipnat ipsec ipxrouted isdnd \ jail \ kadmind kerberos keyserv kldxref kpasswdd \ - ldconfig local localdaemons lomac lpd \ + ldconfig local localdaemons localpkg lomac lpd \ motd mountcritlocal mountcritremote \ mountd moused mroute6d mrouted msgs \ named netif netoptions \ ==== //depot/projects/ia64/etc/rc.d/localdaemons#3 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/localdaemons,v 1.2 2003/05/05 15:38:41 mtm Exp $ +# $FreeBSD: src/etc/rc.d/localdaemons,v 1.3 2003/08/06 00:35:13 mtm Exp $ # # PROVIDE: localdaemons # REQUIRE: abi # BEFORE: securelevel -# KEYWORD: FreeBSD shutdown +# KEYWORD: FreeBSD nostart . /etc/rc.subr ==== //depot/projects/ia64/etc/rc.d/netoptions#3 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/netoptions,v 1.138 2003/06/29 05:09:48 mtm Exp $ +# $FreeBSD: src/etc/rc.d/netoptions,v 1.139 2003/08/06 00:35:13 mtm Exp $ # # PROVIDE: netoptions -# REQUIRE: localdaemons +# REQUIRE: localpkg # BEFORE: securelevel # KEYWORD: FreeBSD ==== //depot/projects/ia64/games/fortune/datfiles/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 4/19/94 -# $FreeBSD: src/games/fortune/datfiles/Makefile,v 1.30 2003/06/19 07:02:00 murray Exp $ +# $FreeBSD: src/games/fortune/datfiles/Makefile,v 1.32 2003/08/04 21:31:53 ache Exp $ FILES= fortunes fortunes2 freebsd-tips murphy startrek zippy BLDS= fortunes.dat fortunes2.dat murphy.dat startrek.dat zippy.dat \ @@ -37,6 +37,6 @@ strfile -Csx ${.ALLSRC} ${.TARGET} fortunes-o: fortunes-o.${TYPE} - tr a-zA-Z n-za-mN-ZA-M < ${.ALLSRC} > ${.TARGET} + LC_ALL=C tr a-zA-Z n-za-mN-ZA-M < ${.ALLSRC} > ${.TARGET} .include <bsd.prog.mk> ==== //depot/projects/ia64/gnu/usr.bin/groff/Makefile.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/groff/Makefile.inc,v 2.7 2003/05/01 13:22:18 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/groff/Makefile.inc,v 2.9 2003/08/04 21:31:52 ache Exp $ BINDIR?= /usr/bin SHELL= /bin/sh @@ -125,7 +125,7 @@ -e "s;@VERSION@;$(version)$(revision);g" \ -e "s;@MDATE@;`$(SHELL) ${GROFF_DIST}/mdate.sh $<`;g" \ -e "s;@g@;$(g);g" \ - -e "s;@G@;`echo $(g) | tr [a-z] [A-Z]`;g" \ + -e "s;@G@;`echo $(g) | LC_ALL=C tr a-z A-Z`;g" \ $< >$@ .SUFFIXES: .sh .pl ==== //depot/projects/ia64/gnu/usr.bin/groff/tmac/mdoc.local#16 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.27 2003/06/09 10:40:17 ru Exp $ +.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.28 2003/08/05 10:29:50 ru Exp $ .\" .\" %beginstrip% . @@ -49,6 +49,7 @@ .ds doc-str-Lb-librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc) .ds doc-str-Lb-libugidfw File System Firewall Interface Library (libugidfw, \-lugidfw) .ds doc-str-Lb-libusbhid USB HID access routines library (libusbhid, \-lusbhid) +.ds doc-str-Lb-libufs UFS File System Access Library (libufs, \-lufs) .ds doc-str-Lb-libvgl Video Graphics Library (libvgl, \-lvgl) . .\" Default .Os value ==== //depot/projects/ia64/gnu/usr.bin/groff/tmac/ru.KOI8-R#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/ru.KOI8-R,v 1.9 2002/10/09 08:51:52 ru Exp $ +.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/ru.KOI8-R,v 1.10 2003/08/05 10:29:50 ru Exp $ .\" .\" %beginstrip% . @@ -96,6 +96,7 @@ .ds doc-str-Lb-librpcsvc Библиотека служб RPC (librpcsvc, \-lrpcsvc) .ds doc-str-Lb-libskey S/Key Password Control Table Access Library (libskey, \-lskey) .ds doc-str-Lb-libtermcap Библиотека доступа к termcap (libtermcap, \-ltermcap) +.ds doc-str-Lb-libufs Библиотека доступа к файловой системе UFS (libufs, \-lufs) .ds doc-str-Lb-libusbhid Библиотека функций доступа к USB HID (libusbhid, \-lusbhid) .ds doc-str-Lb-libutil Библиотека системных утилит (libutil, \-lutil) .ds doc-str-Lb-libvgl Библиотека видео-графики (libvgl, \-lvgl) ==== //depot/projects/ia64/lib/libc/i386/sys/i386_get_ldt.2#6 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)fork.2 6.5 (Berkeley) 3/10/91 -.\" $FreeBSD: src/lib/libc/i386/sys/i386_get_ldt.2,v 1.18 2003/07/31 02:13:48 davidxu Exp $ +.\" $FreeBSD: src/lib/libc/i386/sys/i386_get_ldt.2,v 1.19 2003/08/04 19:11:56 julian Exp $ .\" .Dd September 20, 1993 .Dt I386_GET_LDT 2 @@ -76,7 +76,8 @@ .Pp If .Fa start_sel -is 0, +is +.Em LDT_AUTO_ALLOC , .Fa num_sels is 1 and the descriptor pointed to by .Fa descs ==== //depot/projects/ia64/lib/libc/sys/kqueue.2#7 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.32 2002/12/19 09:40:25 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.33 2003/08/05 07:12:49 jmg Exp $ .\" .Dd April 14, 2000 .Dt KQUEUE 2 @@ -265,6 +265,13 @@ This may be cleared by passing in EV_CLEAR, at which point the filter will resume waiting for data to become available before returning. +.It "BPF devices" +Returns when the BPF buffer is full, the BPF timeout has expired, or +when the BPF has +.Dq immediate mode +enabled and there is any data to read; +.Va data +contains the number of bytes available. .El .It EVFILT_WRITE Takes a descriptor as the identifier, and returns whenever @@ -274,7 +281,7 @@ will contain the amount of space remaining in the write buffer. The filter will set EV_EOF when the reader disconnects, and for the fifo case, this may be cleared by use of EV_CLEAR. -Note that this filter is not supported for vnodes. +Note that this filter is not supported for vnodes or BPF devices. .Pp For sockets, the low water mark and socket error handling is identical to the EVFILT_READ case. ==== //depot/projects/ia64/lib/libedit/makelist#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh - # $NetBSD: makelist,v 1.6 2000/09/04 23:45:18 lukem Exp $ -# $FreeBSD: src/lib/libedit/makelist,v 1.5 2002/04/22 13:44:24 des Exp $ +# $FreeBSD: src/lib/libedit/makelist,v 1.8 2003/08/04 21:31:51 ache Exp $ # # Copyright (c) 1992, 1993 # The Regents of the University of California. All rights reserved. @@ -146,7 +146,7 @@ # -fh) cat $FILES | $AWK '/el_action_t/ { print $3 }' | \ - sort | tr '[a-z]' '[A-Z]' | $AWK ' + sort | LC_ALL=C tr 'a-z' 'A-Z' | $AWK ' BEGIN { printf("/* Automatically generated file, do not edit */\n"); printf("#ifndef _h_fcns_c\n#define _h_fcns_c\n"); ==== //depot/projects/ia64/lib/libpthread/arch/amd64/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/lib/libpthread/arch/amd64/Makefile.inc,v 1.1 2003/07/19 04:44:21 deischen Exp $ +# $FreeBSD: src/lib/libpthread/arch/amd64/Makefile.inc,v 1.2 2003/08/05 22:45:59 deischen Exp $ .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} -SRCS+= context.S enter_uts.S +SRCS+= context.S enter_uts.S pthread_md.c ==== //depot/projects/ia64/lib/libpthread/arch/amd64/include/pthread_md.h#3 (text+ko) ==== @@ -1,29 +1,30 @@ -/* - * Copyright (c) 2003 Marcel Moolenaar +/*- + * Copyright (C) 2003 David Xu <davidxu@freebsd.org> + * Copyright (c) 2001 Daniel Eischen <deischen@freebsd.org> * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: - * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. + * 2. Neither the name of the author nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. * - * $FreeBSD: src/lib/libpthread/arch/amd64/include/pthread_md.h,v 1.2 2003/07/20 12:41:38 deischen Exp $ + * $FreeBSD: src/lib/libpthread/arch/amd64/include/pthread_md.h,v 1.3 2003/08/05 22:45:59 deischen Exp $ */ /* * Machine-dependent thread prototypes/definitions for the thread kernel. @@ -31,52 +32,224 @@ #ifndef _PTHREAD_MD_H_ #define _PTHREAD_MD_H_ +#include <sys/types.h> +#include <sys/kse.h> +#include <machine/sysarch.h> #include <ucontext.h> +/* <machine/sysarch.h> should define this, but doesn't. */ +extern int sysarch(int, void *); + #define THR_GETCONTEXT(ucp) \ (void)_amd64_save_context(&(ucp)->uc_mcontext) #define THR_SETCONTEXT(ucp) \ - (void)_amd64_restore_context(&(ucp)->uc_mcontext, NULL, NULL) + (void)_amd64_restore_context(&(ucp)->uc_mcontext, 0, NULL) + + +#define PER_KSE +#undef PER_THREAD -#define THR_ALIGNBYTES 15 -#define THR_ALIGN(td) (((uintptr_t)(td) + THR_ALIGNBYTES) & ~THR_ALIGNBYTES) +struct kse; +struct pthread; +struct tdv; /* - * KSE Specific Data. + * %fs points to a struct kcb. */ -struct ksd { - void *base; - long size; +struct kcb { + struct tcb *kcb_curtcb; + struct kcb *kcb_self; /* self reference */ + struct kse *kcb_kse; + struct kse_mailbox kcb_kmbx; +}; + +struct tcb { + struct tdv *tcb_tdv; + struct pthread *tcb_thread; + void *tcb_spare[2]; /* align tcb_tmbx to 16 bytes */ + struct kse_thr_mailbox tcb_tmbx; }; +/* + * Evaluates to the byte offset of the per-kse variable name. + */ +#define __kcb_offset(name) __offsetof(struct kcb, name) + +/* + * Evaluates to the type of the per-kse variable name. + */ +#define __kcb_type(name) __typeof(((struct kcb *)0)->name) + +/* + * Evaluates to the value of the per-kse variable name. + */ +#define KCB_GET64(name) ({ \ + __kcb_type(name) __result; \ + \ + u_long __i; \ + __asm __volatile("movq %%fs:%1, %0" \ + : "=r" (__i) \ + : "m" (*(u_long *)(__kcb_offset(name)))); \ + __result = *(__kcb_type(name) *)&__i; \ + \ + __result; \ +}) + +/* + * Sets the value of the per-kse variable name to value val. + */ +#define KCB_SET64(name, val) ({ \ + __kcb_type(name) __val = (val); \ + \ + u_long __i; \ + __i = *(u_long *)&__val; \ + __asm __volatile("movq %1,%%fs:%0" \ + : "=m" (*(u_long *)(__kcb_offset(name))) \ + : "r" (__i)); \ +}) + +static __inline u_long +__kcb_readandclear64(volatile u_long *addr) +{ + u_long result; + + __asm __volatile ( + " xorq %0, %0;" + " xchgq %%fs:%1, %0;" + "# __kcb_readandclear64" + : "=&r" (result) + : "m" (*addr)); + return (result); +} + +#define KCB_READANDCLEAR64(name) ({ \ + __kcb_type(name) __result; \ + \ + __result = (__kcb_type(name)) \ + __kcb_readandclear64((u_long *)__kcb_offset(name)); \ + __result; \ +}) + + +#define _kcb_curkcb() KCB_GET64(kcb_self) +#define _kcb_curtcb() KCB_GET64(kcb_curtcb) +#define _kcb_curkse() ((struct kse *)KCB_GET64(kcb_kmbx.km_udata)) +#define _kcb_get_tmbx() KCB_GET64(kcb_kmbx.km_curthread) +#define _kcb_set_tmbx(value) KCB_SET64(kcb_kmbx.km_curthread, (void *)value) +#define _kcb_readandclear_tmbx() KCB_READANDCLEAR64(kcb_kmbx.km_curthread) + +/* + * The constructors. + */ +struct tcb *_tcb_ctor(struct pthread *); +void _tcb_dtor(struct tcb *tcb); +struct kcb *_kcb_ctor(struct kse *); +void _kcb_dtor(struct kcb *); + +/* Called from the KSE to set its private data. */ +static __inline void +_kcb_set(struct kcb *kcb) +{ + void *addr = kcb; + + sysarch(AMD64_SET_FSBASE, &addr); +} + +/* Get the current kcb. */ +static __inline struct kcb * +_kcb_get(void) +{ + return (_kcb_curkcb()); +} + +static __inline struct kse_thr_mailbox * +_kcb_critical_enter(void) +{ + struct kse_thr_mailbox *crit; + + crit = _kcb_readandclear_tmbx(); + return (crit); +} + +static __inline void +_kcb_critical_leave(struct kse_thr_mailbox *crit) +{ + _kcb_set_tmbx(crit); +} + +static __inline int +_kcb_in_critical(void) +{ + return (_kcb_get_tmbx() == NULL); +} + +static __inline void +_tcb_set(struct kcb *kcb, struct tcb *tcb) +{ + kcb->kcb_curtcb = tcb; +} + +static __inline struct tcb * +_tcb_get(void) +{ + return (_kcb_curtcb()); +} + +static __inline struct pthread * +_get_curthread(void) +{ + struct tcb *tcb; + + tcb = _kcb_curtcb(); + if (tcb != NULL) + return (tcb->tcb_thread); + else + return (NULL); +} + +static __inline struct kse * +_get_curkse(void) +{ + return ((struct kse *)_kcb_curkse()); +} + void _amd64_enter_uts(struct kse_mailbox *km, kse_func_t uts, void *stack, size_t stacksz); int _amd64_restore_context(mcontext_t *mc, intptr_t val, intptr_t *loc); int _amd64_save_context(mcontext_t *mc); static __inline int -_thread_enter_uts(struct kse_thr_mailbox *tm, struct kse_mailbox *km) +_thread_enter_uts(struct tcb *tcb, struct kcb *kcb) { - if (tm == NULL) - return (-1); - if (!_amd64_save_context(&tm->tm_context.uc_mcontext)) { - _amd64_enter_uts(km, km->km_func, km->km_stack.ss_sp, - km->km_stack.ss_size); + int ret; + + ret = _amd64_save_context(&tcb->tcb_tmbx.tm_context.uc_mcontext); + if (ret == 0) { + _amd64_enter_uts(&kcb->kcb_kmbx, kcb->kcb_kmbx.km_func, + kcb->kcb_kmbx.km_stack.ss_sp, + kcb->kcb_kmbx.km_stack.ss_size); /* We should not reach here. */ return (-1); } + else if (ret < 0) + return (-1); return (0); } static __inline int -_thread_switch(struct kse_thr_mailbox *tm, struct kse_thr_mailbox **thrp) +_thread_switch(struct kcb *kcb, struct tcb *tcb, int setmbox) { - if (tm == NULL) + if ((kcb == NULL) || (tcb == NULL)) return (-1); - _amd64_restore_context(&tm->tm_context.uc_mcontext, (intptr_t)tm, - (intptr_t*)thrp); + kcb->kcb_curtcb = tcb; + if (setmbox != 0) + _amd64_restore_context(&tcb->tcb_tmbx.tm_context.uc_mcontext, + (intptr_t)&tcb->tcb_tmbx, + (intptr_t *)&kcb->kcb_kmbx.km_curthread); + else + _amd64_restore_context(&tcb->tcb_tmbx.tm_context.uc_mcontext, + 0, NULL); /* We should not reach here. */ return (-1); } - #endif ==== //depot/projects/ia64/lib/libpthread/arch/i386/Makefile.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/lib/libpthread/arch/i386/Makefile.inc,v 1.2 2003/07/31 21:09:10 deischen Exp $ +# $FreeBSD: src/lib/libpthread/arch/i386/Makefile.inc,v 1.3 2003/08/05 22:45:59 deischen Exp $ .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} -SRCS+= ksd.c thr_enter_uts.S thr_getcontext.S +SRCS+= thr_enter_uts.S thr_getcontext.S pthread_md.c ==== //depot/projects/ia64/lib/libpthread/arch/i386/i386/thr_getcontext.S#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <machine/asm.h> -__FBSDID("$FreeBSD: src/lib/libpthread/arch/i386/i386/thr_getcontext.S,v 1.3 2003/07/31 21:09:10 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libpthread/arch/i386/i386/thr_getcontext.S,v 1.4 2003/08/05 22:45:59 deischen Exp $"); /* * Where do we define these? @@ -74,7 +74,7 @@ movl 72(%edx), %esp /* switch to context defined stack */ pushl 60(%edx) /* push return address on stack */ pushl 44(%edx) /* push ecx on stack */ - push 48(%edx) /* push eax on stack */ + pushl 48(%edx) /* push eax on stack */ /* * if (mc_fpowned == MC_OWNEDFP_FPU || mc_fpowned == MC_OWNEDFP_PCB) { * if (mc_fpformat == MC_FPFMT_387) ==== //depot/projects/ia64/lib/libpthread/arch/i386/include/pthread_md.h#5 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libpthread/arch/i386/include/pthread_md.h,v 1.5 2003/07/31 21:09:11 deischen Exp $ + * $FreeBSD: src/lib/libpthread/arch/i386/include/pthread_md.h,v 1.6 2003/08/05 22:45:59 deischen Exp $ */ /* * Machine-dependent thread prototypes/definitions for the thread kernel. @@ -37,34 +37,193 @@ extern int _thr_setcontext(mcontext_t *, intptr_t, intptr_t *); extern int _thr_getcontext(mcontext_t *); -#define THR_GETCONTEXT(ucp) _thr_getcontext(&(ucp)->uc_mcontext); -#define THR_SETCONTEXT(ucp) _thr_setcontext(&(ucp)->uc_mcontext, NULL, NULL); +#define THR_GETCONTEXT(ucp) _thr_getcontext(&(ucp)->uc_mcontext) +#define THR_SETCONTEXT(ucp) _thr_setcontext(&(ucp)->uc_mcontext, 0, NULL) + +#define PER_KSE +#undef PER_THREAD -#define THR_ALIGNBYTES 15 -#define THR_ALIGN(td) (((unsigned)(td) + THR_ALIGNBYTES) & ~THR_ALIGNBYTES) +struct kse; +struct pthread; +struct tdv; /* - * KSE Specific Data. + * %gs points to a struct kcb. */ -struct ksd { - int ldt; -#define KSDF_INITIALIZED 0x01 - long flags; - void *base; - long size; +struct kcb { + struct tcb *kcb_curtcb; + struct kcb *kcb_self; /* self reference */ + int kcb_ldt; + struct kse *kcb_kse; + struct kse_mailbox kcb_kmbx; +}; + +struct tcb { + struct tdv *tcb_tdv; + struct pthread *tcb_thread; + void *tcb_addr; /* allocated tcb address */ + void *tcb_spare; /* align tcb_tmbx to 16 bytes */ + struct kse_thr_mailbox tcb_tmbx; }; -extern void _i386_enter_uts(struct kse_mailbox *, kse_func_t, void *, long); +/* + * Evaluates to the byte offset of the per-kse variable name. + */ +#define __kcb_offset(name) __offsetof(struct kcb, name) + +/* + * Evaluates to the type of the per-kse variable name. + */ +#define __kcb_type(name) __typeof(((struct kcb *)0)->name) + +/* + * Evaluates to the value of the per-kse variable name. + */ +#define KCB_GET32(name) ({ \ + __kcb_type(name) __result; \ + \ + u_int __i; \ + __asm __volatile("movl %%gs:%1, %0" \ + : "=r" (__i) \ + : "m" (*(u_int *)(__kcb_offset(name)))); \ + __result = *(__kcb_type(name) *)&__i; \ + \ + __result; \ +}) + +/* + * Sets the value of the per-kse variable name to value val. + */ +#define KCB_SET32(name, val) ({ \ + __kcb_type(name) __val = (val); \ + \ + u_int __i; \ + __i = *(u_int *)&__val; \ + __asm __volatile("movl %1,%%gs:%0" \ + : "=m" (*(u_int *)(__kcb_offset(name))) \ + : "r" (__i)); \ +}) + +static __inline u_long +__kcb_readandclear32(volatile u_long *addr) +{ + u_long result; + + __asm __volatile ( + " xorl %0, %0;" + " xchgl %%gs:%1, %0;" + "# __kcb_readandclear32" + : "=&r" (result) + : "m" (*addr)); + return (result); +} + +#define KCB_READANDCLEAR32(name) ({ \ + __kcb_type(name) __result; \ + \ + __result = (__kcb_type(name)) \ + __kcb_readandclear32((u_long *)__kcb_offset(name)); \ + __result; \ +}) + + +#define _kcb_curkcb() KCB_GET32(kcb_self) +#define _kcb_curtcb() KCB_GET32(kcb_curtcb) +#define _kcb_curkse() ((struct kse *)KCB_GET32(kcb_kmbx.km_udata)) +#define _kcb_get_tmbx() KCB_GET32(kcb_kmbx.km_curthread) +#define _kcb_set_tmbx(value) KCB_SET32(kcb_kmbx.km_curthread, (void *)value) +#define _kcb_readandclear_tmbx() KCB_READANDCLEAR32(kcb_kmbx.km_curthread) + + +/* + * The constructors. + */ +struct tcb *_tcb_ctor(struct pthread *); +void _tcb_dtor(struct tcb *tcb); +struct kcb *_kcb_ctor(struct kse *); +void _kcb_dtor(struct kcb *); + +/* Called from the KSE to set its private data. */ +static __inline void +_kcb_set(struct kcb *kcb) +{ + int val; + + val = (kcb->kcb_ldt << 3) | 7; + __asm __volatile("movl %0, %%gs" : : "r" (val)); +} + +/* Get the current kcb. */ +static __inline struct kcb * +_kcb_get(void) +{ + return (_kcb_curkcb()); +} + +static __inline struct kse_thr_mailbox * +_kcb_critical_enter(void) +{ + struct kse_thr_mailbox *crit; + + crit = _kcb_readandclear_tmbx(); + return (crit); +} + +static __inline void +_kcb_critical_leave(struct kse_thr_mailbox *crit) +{ + _kcb_set_tmbx(crit); +} + +static __inline int +_kcb_in_critical(void) +{ + return (_kcb_get_tmbx() == NULL); +} + +static __inline void +_tcb_set(struct kcb *kcb, struct tcb *tcb) +{ + kcb->kcb_curtcb = tcb; +} + +static __inline struct tcb * +_tcb_get(void) +{ + return (_kcb_curtcb()); +} + +static __inline struct pthread * +_get_curthread(void) +{ + struct tcb *tcb; + + tcb = _kcb_curtcb(); + if (tcb != NULL) + return (tcb->tcb_thread); + else + return (NULL); +} + +static __inline struct kse * +_get_curkse(void) +{ + return ((struct kse *)_kcb_curkse()); +} + +void _i386_enter_uts(struct kse_mailbox *km, kse_func_t uts, void *stack, + size_t stacksz); static __inline int -_thread_enter_uts(struct kse_thr_mailbox *tmbx, struct kse_mailbox *kmbx) +_thread_enter_uts(struct tcb *tcb, struct kcb *kcb) { int ret; - ret = _thr_getcontext(&tmbx->tm_context.uc_mcontext); + ret = _thr_getcontext(&tcb->tcb_tmbx.tm_context.uc_mcontext); if (ret == 0) { - _i386_enter_uts(kmbx, kmbx->km_func, - kmbx->km_stack.ss_sp, kmbx->km_stack.ss_size); + _i386_enter_uts(&kcb->kcb_kmbx, kcb->kcb_kmbx.km_func, + kcb->kcb_kmbx.km_stack.ss_sp, + kcb->kcb_kmbx.km_stack.ss_size); /* We should not reach here. */ return (-1); } >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308060315.h763FKfl091233>