Date: Thu, 3 Jul 2003 13:39:02 -0700 (PDT) From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 34033 for review Message-ID: <200307032039.h63Kd2re003291@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=34033 Change 34033 by marcel@marcel_nfs on 2003/07/03 13:38:24 IFC @34032 Affected files ... .. //depot/projects/ia64/contrib/groff/tmac/doc-common#11 integrate .. //depot/projects/ia64/contrib/groff/tmac/doc.tmac#6 integrate .. //depot/projects/ia64/contrib/groff/tmac/groff_mdoc.man#8 integrate .. //depot/projects/ia64/etc/motd#3 integrate .. //depot/projects/ia64/lib/libc/gen/exec.3#6 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_kern.c#23 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_select.c#3 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_mutex.c#12 integrate .. //depot/projects/ia64/share/man/man5/group.5#4 integrate .. //depot/projects/ia64/share/man/man5/linprocfs.5#5 integrate .. //depot/projects/ia64/share/man/man9/bus_dma.9#5 integrate .. //depot/projects/ia64/share/mk/bsd.dep.mk#12 integrate .. //depot/projects/ia64/sys/alpha/alpha/mp_machdep.c#11 integrate .. //depot/projects/ia64/sys/alpha/alpha/pmap.c#34 integrate .. //depot/projects/ia64/sys/amd64/amd64/pmap.c#9 integrate .. //depot/projects/ia64/sys/dev/firewire/fwohci_pci.c#19 integrate .. //depot/projects/ia64/sys/dev/fxp/if_fxp.c#37 integrate .. //depot/projects/ia64/sys/dev/lge/if_lge.c#13 integrate .. //depot/projects/ia64/sys/dev/nge/if_nge.c#21 integrate .. //depot/projects/ia64/sys/dev/pccbb/pccbb.c#30 integrate .. //depot/projects/ia64/sys/dev/txp/if_txp.c#12 integrate .. //depot/projects/ia64/sys/dev/wi/if_wi.c#43 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_vnops.c#20 integrate .. //depot/projects/ia64/sys/i386/i386/pmap.c#47 integrate .. //depot/projects/ia64/sys/i386/isa/pcvt/pcvt_drv.c#9 integrate .. //depot/projects/ia64/sys/ia64/ia64/pmap.c#70 integrate .. //depot/projects/ia64/sys/kern/kern_sig.c#56 integrate .. //depot/projects/ia64/sys/kern/kern_thr.c#9 integrate .. //depot/projects/ia64/sys/kern/kern_thread.c#56 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/pmap.c#26 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/pmap.c#40 integrate .. //depot/projects/ia64/sys/sys/param.h#37 integrate .. //depot/projects/ia64/sys/sys/signalvar.h#14 integrate .. //depot/projects/ia64/sys/vm/pmap.h#19 integrate .. //depot/projects/ia64/sys/vm/vm_map.c#59 integrate Differences ... ==== //depot/projects/ia64/contrib/groff/tmac/doc-common#11 (text+ko) ==== @@ -101,7 +101,7 @@ .nr Ft 8n\" ? .nr Fx 1 .nr Ic 10n -.nr In 12n\" ? +.nr In 12n .nr It 8n\" ? .nr Lb 11n .nr Li 16n @@ -587,6 +587,25 @@ .. . . +.\" NS doc-check-depth macro +.\" NS check paired macros +. +.de doc-check-depth +. if \n[doc-list-depth] \{\ +. tm mdoc warning: A .Bl directive has no matching .El (#\n[.c]) +. nr doc-list-depth 0 +. \} +. if \n[doc-display-depth] \{\ +. tm mdoc warning: A .Bd directive has no matching .Ed (#\n[.c]) +. nr doc-display-depth 0 +. \} +. if \n[doc-fontmode-depth] \{\ +. tm mdoc warning: A .Bf directive has no matching .Ef (#\n[.c]) +. nr doc-fontmode-depth 0 +. \} +.. +. +. .\" NS doc-end-macro macro .\" NS finish output . @@ -603,8 +622,7 @@ . pl +3v . fl . -. if \n[doc-list-depth] \ -. tm mdoc warning: list open at EOF! A .Bl directive has no matching .El +. doc-check-depth . . if \n[cR] \{\ . sp @@ -834,6 +852,8 @@ . . in +\n[doc-subheader-indent]u . ns +. +. doc-check-depth . \} .. . @@ -898,6 +918,8 @@ . ne 2 . br . ns +. +. doc-check-depth . \} .. . ==== //depot/projects/ia64/contrib/groff/tmac/doc.tmac#6 (text+ko) ==== @@ -683,7 +683,7 @@ . nr doc-curr-size \n[.ps] . . ie \n[doc-in-synopsis-section] \{\ -. if "\*[doc-macro-name]"Cd" \{\ +. ie "\*[doc-macro-name]"Cd" \{\ . br . if !\n[doc-indent-synopsis] \ . nr doc-indent-synopsis \n[doc-display-indent]u @@ -694,6 +694,10 @@ . doc-print-recursive . if !\n[doc-indent-synopsis-active] \ . in -\n[doc-indent-synopsis]u +. \} +. el \{\ +. nop \*[doc-Nm-font]\c +. doc-print-recursive . \}\} . el \{\ . nop \*[doc-Nm-font]\c @@ -820,22 +824,64 @@ . . .\" NS In user macro -.\" NS #include statement - not callable +.\" NS #include statement in SYNOPSIS +.\" NS <header.h> if not in SYNOPSIS .\" NS .\" NS this function causes a break; it uses the `Fd' font .\" NS +.\" NS modifies: +.\" NS doc-arg-ptr +.\" NS doc-curr-font +.\" NS doc-curr-size +.\" NS doc-indent-synopsis +.\" NS doc-macro-name +.\" NS .\" NS width register `In' set in doc-common . .de In -. ie ((\n[.$] == 1) & (\n[doc-arg-limit] == 0)) \{\ -. doc-do-func-decl -. nop \*[doc-Fd-font]#include <\$1> -. br -. ft \n[doc-curr-font] -. ps \n[doc-curr-size]u +. if !\n[doc-arg-limit] \{\ +. ie \n[.$] \{\ +. ds doc-macro-name In +. doc-parse-args \$@ +. \} +. el \ +. tm Usage: .In include_file ... (#\n[.c]) . \} +. +. if !\n[doc-arg-limit] \ +. return +. +. nr doc-arg-ptr +1 +. doc-print-prefixes +. ie ((\n[doc-arg-limit] >= \n[doc-arg-ptr]) & (\n[doc-type\n[doc-arg-ptr]] == 2)) \{\ +. nr doc-curr-font \n[.f] +. nr doc-curr-size \n[.ps] +. +. ie \n[doc-in-synopsis-section] \{\ +. ie "\*[doc-macro-name]"In" \{\ +. doc-do-func-decl +. nop \*[doc-Fd-font]#include <\*[doc-arg\n[doc-arg-ptr]]> +. ft \n[doc-curr-font] +. ps \n[doc-curr-size]u +. br +. nr doc-arg-ptr +1 +. ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \ +. doc-print-recursive +. el \ +. doc-reset-args +. \} +. el \{\ +. ds doc-arg\n[doc-arg-ptr] "<\*[doc-Pa-font]\*[doc-arg\n[doc-arg-ptr]] +. as doc-arg\n[doc-arg-ptr] \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]> +. doc-print-recursive +. \}\} +. el \{\ +. ds doc-arg\n[doc-arg-ptr] "<\*[doc-Pa-font]\*[doc-arg\n[doc-arg-ptr]] +. as doc-arg\n[doc-arg-ptr] \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]> +. doc-print-recursive +. \}\} . el \{\ -. tm Usage: .In include_file -- In is not callable (#\n[.c]) +. tm Usage: .In include_file ... (#\n[.c]) . doc-reset-args . \} .. @@ -4676,13 +4722,16 @@ . ds doc-arg\n[doc-arg-ptr] "\*[doc-func-arg] . . if (\n[doc-func-arg-count] > 1) \{\ -. nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\|,\)\c +. nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\|\c +. if !"\*[doc-arg\n[doc-arg-ptr]]"/*" \ +. if !"\*[doc-arg\n[doc-arg-ptr]]"*/" \ +. nop ,\)\c . nop \)\*[doc-space\n[doc-arg-ptr]]\*[doc-Fa-font]\c . nop \)\*[doc-arg\n[doc-arg-ptr]]\f[]\s[0]\c . \} . . if (\n[doc-func-arg-count] == 1) \{\ -. nop \|\*[doc-Fa-font]\*[doc-arg\n[doc-arg-ptr]]\c +. nop \)\*[doc-Fa-font]\*[doc-arg\n[doc-arg-ptr]]\c . nop \f[]\s[0]\c . \} . nr doc-func-arg-count +1 @@ -4755,7 +4804,7 @@ . . br . if !\n[doc-indent-synopsis] \ -. nr doc-indent-synopsis (8u * \n[doc-fixed-width]u) +. nr doc-indent-synopsis (4u * \n[doc-fixed-width]u) . if !\n[doc-indent-synopsis-active] \ . in +\n[doc-indent-synopsis]u . ti -\n[doc-indent-synopsis]u @@ -4833,7 +4882,10 @@ . if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ . if (\n[doc-type\n[doc-arg-ptr]] == 2) \{\ . nr doc-reg-ddfa (\n[doc-arg-ptr] - 1) -. nop \|\f[\n[doc-curr-font]]\s[\n[doc-curr-size]u],\)\c +. nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\|\c +. if !"\*[doc-arg\n[doc-arg-ptr]]"/*" \ +. if !"\*[doc-arg\n[doc-arg-ptr]]"*/" \ +. nop ,\)\c . nop \)\*[doc-space\n[doc-reg-ddfa]]\f[]\s[0]\|\c . doc-do-func-args . \}\} @@ -4917,7 +4969,7 @@ . . br . if !\n[doc-indent-synopsis] \ -. nr doc-indent-synopsis (8u * \n[doc-fixed-width]u) +. nr doc-indent-synopsis (4u * \n[doc-fixed-width]u) . \} . . \" start function box @@ -6133,19 +6185,19 @@ . .ds doc-str-Rv-std-prefix "The .ds doc-str-Rv-std-suffix "function returns the value\~0 if successful; -.as doc-str-Rv-std-suffix " otherwise the value\~-1 is returned and +.as doc-str-Rv-std-suffix " otherwise the value\~\-1 is returned and .as doc-str-Rv-std-suffix " the global variable \*[doc-Va-font]errno\f[] .as doc-str-Rv-std-suffix " is set to indicate the error. . .ds doc-str-Rv-stds-prefix "The .ds doc-str-Rv-stds-and "and .ds doc-str-Rv-stds-suffix "functions return the value\~0 if successful; -.as doc-str-Rv-stds-suffix " otherwise the value\~-1 is returned and +.as doc-str-Rv-stds-suffix " otherwise the value\~\-1 is returned and .as doc-str-Rv-stds-suffix " the global variable \*[doc-Va-font]errno\f[] .as doc-str-Rv-stds-suffix " is set to indicate the error. . .ds doc-str-Rv-std0 "Upon successful completion, the value\~0 is returned; -.as doc-str-Rv-std0 " otherwise the value\~-1 is returned and +.as doc-str-Rv-std0 " otherwise the value\~\-1 is returned and .as doc-str-Rv-std0 " the global variable \*[doc-Va-font]errno\f[] .as doc-str-Rv-std0 " is set to indicate the error. . ==== //depot/projects/ia64/contrib/groff/tmac/groff_mdoc.man#8 (text+ko) ==== @@ -1398,15 +1398,25 @@ .Pp The .Ql .In -.Li ( #include -statement) -macro is the short form of the above example. +macro, while in the +.Sx SYNOPSIS +section, represents the +.Li #include +statement, and is the short form of the above example. It specifies the C\~header file as being included in a C\~program. -It also causes a line break, and is neither callable nor parsed. +It also causes a line break. +.Pp +While not in the +.Sx SYNOPSIS +section, it represents the header file enclosed in angle brackets. .Pp .Dl Usage: .In Ao header file Ac .Pp .Bl -tag -width ".Li .In\ stdio.h" -compact -offset 15n +.nr in-synopsis-section 1 +.It Li ".In stdio.h" +.In stdio.h +.nr in-synopsis-section 0 .It Li ".In stdio.h" .In stdio.h .El ==== //depot/projects/ia64/etc/motd#3 (text+ko) ==== @@ -17,7 +17,7 @@ `uname -a', along with any relevant error messages, and email it as a question to the questions@FreeBSD.org mailing list. If you are unfamiliar with FreeBSD's directory layout, please refer to the hier(7) -man page. If you are not familiar with man pages, type `man man'. +manual page. If you are not familiar with manual pages, type `man man'. You may also use sysinstall(8) to re-enter the installation and configuration utility. Edit /etc/motd to change this login announcement. ==== //depot/projects/ia64/lib/libc/gen/exec.3#6 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)exec.3 8.3 (Berkeley) 1/24/94 -.\" $FreeBSD: src/lib/libc/gen/exec.3,v 1.21 2003/06/29 17:33:34 gordon Exp $ +.\" $FreeBSD: src/lib/libc/gen/exec.3,v 1.22 2003/07/03 18:14:39 ru Exp $ .\" .Dd January 24, 1994 .Dt EXEC 3 @@ -50,11 +50,17 @@ .In unistd.h .Vt extern char **environ ; .Ft int -.Fn execl "const char *path" "const char *arg" "... /*" "(char *)0*/" +.Fn execl "const char *path" "const char *arg" ... /* "(char *)0" */ .Ft int -.Fn execlp "const char *file" "const char *arg" "... /*" "(char *)0*/" +.Fn execlp "const char *file" "const char *arg" ... /* "(char *)0" */ .Ft int -.Fn execle "const char *path" "const char *arg" "... /*" "(char *)0" "char *const envp[]*/" +.Fo execle +.Fa "const char *path" "const char *arg" ... +.Fa /* +.Bk -words +.Fa "(char *)0" "char *const envp[]" */ +.Ek +.Fc .Ft int .Fn exect "const char *path" "char *const argv[]" "char *const envp[]" .Ft int ==== //depot/projects/ia64/lib/libpthread/thread/thr_kern.c#23 (text+ko) ==== @@ -33,7 +33,7 @@ * */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libpthread/thread/thr_kern.c,v 1.74 2003/06/30 06:16:50 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libpthread/thread/thr_kern.c,v 1.75 2003/07/03 10:12:21 davidxu Exp $"); #include <sys/types.h> #include <sys/kse.h> @@ -673,7 +673,8 @@ /* * This thread is being resumed; check for cancellations. */ - if ((psf.psf_valid || curthread->check_pending)) { + if ((psf.psf_valid || + (curthread->check_pending && !THR_IN_CRITICAL(curthread)))) { resume_once = 0; THR_GETCONTEXT(&uc); if (resume_once == 0) { ==== //depot/projects/ia64/lib/libpthread/thread/thr_select.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libpthread/thread/thr_select.c,v 1.24 2003/04/18 05:04:16 deischen Exp $ + * $FreeBSD: src/lib/libpthread/thread/thr_select.c,v 1.25 2003/07/03 13:36:29 davidxu Exp $ */ #include <unistd.h> #include <errno.h> @@ -50,11 +50,16 @@ struct timeval *timeout) { struct pthread *curthread = _get_curthread(); + struct timespec ts; int ret; - _thr_enter_cancellation_point(curthread); - ret = __sys_select(numfds, readfds, writefds, exceptfds, timeout); - _thr_leave_cancellation_point(curthread); - + if (numfds == 0 && timeout != NULL) { + TIMEVAL_TO_TIMESPEC(timeout, &ts); + return nanosleep(&ts, NULL); + } else { + _thr_enter_cancellation_point(curthread); + ret = __sys_select(numfds, readfds, writefds, exceptfds, timeout); + _thr_leave_cancellation_point(curthread); + } return ret; } ==== //depot/projects/ia64/lib/libthr/thread/thr_mutex.c#12 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.15 2003/07/02 02:05:23 mtm Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.16 2003/07/03 13:28:53 mtm Exp $ */ #include <stdlib.h> #include <errno.h> @@ -301,11 +301,16 @@ return (ret); } +/* + * Libc internal. + */ int _pthread_mutex_trylock(pthread_mutex_t *mutex) { int ret = 0; + _thread_sigblock(); + if (mutex == NULL) ret = EINVAL; @@ -317,6 +322,9 @@ (ret = mutex_init(mutex, 1)) == 0) ret = mutex_lock_common(mutex, 1); + if (ret != 0) + _thread_sigunblock(); + return (ret); } ==== //depot/projects/ia64/share/man/man5/group.5#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)group.5 8.3 (Berkeley) 4/19/94 -.\" $FreeBSD: src/share/man/man5/group.5,v 1.25 2003/02/20 17:32:26 ceri Exp $ +.\" $FreeBSD: src/share/man/man5/group.5,v 1.26 2003/07/03 06:03:12 jkoshy Exp $ .\" .Dd September 29, 1994 .Dt GROUP 5 @@ -146,6 +146,7 @@ .Xr initgroups 3 , .Xr nsswitch.conf 5 , .Xr passwd 5 , +.Xr pw 8 , .Xr yp 8 .Sh BUGS The ==== //depot/projects/ia64/share/man/man5/linprocfs.5#5 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/share/man/man5/linprocfs.5,v 1.11 2002/12/12 17:25:57 ru Exp $ +.\" $FreeBSD: src/share/man/man5/linprocfs.5,v 1.12 2003/07/03 06:07:26 jkoshy Exp $ .\" Written by Garrett Wollman .\" This file is in the public domain. .\" @@ -22,14 +22,12 @@ .Nm provides a two-level view of process space. At the highest level, processes themselves are named, according to -their process ids in decimal, with no leading zeros. There is also a -special node called +their process ids in decimal, with no leading zeros. +There is also a special node called .Pa self which always refers to the process making the lookup request. .Pp -Each node is a directory which contains the following entries: -.Pp -Each directory contains several files: +Each node is a directory containing several files: .Bl -tag -width status .It Pa exe A reference to the vnode from which the process text was read. @@ -51,21 +49,21 @@ .Sh FILES .Bl -tag -width /compat/linux/proc/self/XXXXXXX -compact .It Pa /compat/linux/proc -normal mount point for the +The normal mount point for the .Nm . .It Pa /compat/linux/proc/cpuinfo CPU vendor and model information in human-readable form. .It Pa /compat/linux/proc/meminfo System memory information in human-readable form. .It Pa /compat/linux/proc/pid -directory containing process information for process +A directory containing process information for process .Pa pid . .It Pa /compat/linux/proc/self -directory containing process information for the current process +A directory containing process information for the current process. .It Pa /compat/linux/proc/self/exe -executable image +The executable image for the current process. .It Pa /compat/linux/proc/self/mem -the complete virtual address space of the process +The complete virtual address space of the current process. .El .Sh SEE ALSO .Xr mount 2 , ==== //depot/projects/ia64/share/man/man9/bus_dma.9#5 (text+ko) ==== @@ -57,7 +57,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/bus_dma.9,v 1.4 2003/06/30 20:20:51 jmg Exp $ +.\" $FreeBSD: src/share/man/man9/bus_dma.9,v 1.6 2003/07/03 09:07:03 scottl Exp $ .\" $NetBSD: bus_dma.9,v 1.25 2002/10/14 13:43:16 wiz Exp $ .\" .Dd May 28, 2003 @@ -83,7 +83,8 @@ .Fn bus_dma_tag_create "bus_dma_tag_t parent" "bus_size_t alignment" \ "bus_size_t boundary" "bus_addr_t lowaddr" "bus_addr_t highaddr" \ "bus_dma_filter_t *filtfunc" "void *filtfuncarg" "bus_size_t maxsize" \ -"int nsegments" "bus_size_t maxsegsz" "int flags" "bus_dma_tag_t *dmat" +"int nsegments" "bus_size_t maxsegsz" "int flags" "bus_dma_lock_t *lockfunc" \ +"void *lockfuncarg" "bus_dma_tag_t *dmat" .Ft int .Fn bus_dma_tag_destroy "bus_dma_tag_t dmat" .Ft int @@ -260,12 +261,45 @@ Perform any synchronization required after a combination of DMA read and write operations. .El +.It Vt bus_dma_lock_t +Client specified lock/mutex manipulation method. This will be called from +within busdma whenever a client lock needs to be manipulated. +This method is of the format: +.Bl -tag -width compact +.It Ft void +.Fn "lockfunc" "void *lockfunc_arg" "bus_dma_lock_op_t op" +.El +.sp +Two +.Vt lockfunc +implementations are provided for convenience. +.Fn busdma_lock_mutex +performs standard mutex operations on the sleep mutex provided via the +.Fa lockfuncarg . +passed into +.Fn bus_dma_tag_create . +.Fn dflt_lock +will generate a system panic if it is called. It is substituted into +the tag when +.Fa lockfunc +is passed as NULL to +.Fn bus_dma_tag_create . +.It Vt bus_dma_lock_op_t +Operations to be performed by the client-specified +.Fn lockfunc . +.Bl -tag -width BUS_DMA_UNLOCK +.It Dv BUS_DMA_LOCK +Aquires and/or locks the client locking primitive. +.It Dv BUS_DMA_UNLOCK +Releases and/or unlocks the client locking primitive. +.El .El +.sp .Sh FUNCTIONS .Bl -tag -width compact .It Fn bus_dma_tag_create "parent" "alignment" "boundary" "lowaddr" \ "highaddr" "*filtfunc" "*filtfuncarg" "maxsize" "nsegments" "maxsegsz" \ -"flags" "*dmat" +"flags" "lockfunc" "lockfuncarg" "*dmat" Allocates a device specific DMA tag, and initializes it according to the arguments provided: .Bl -tag -width *filtfuncarg -compact @@ -354,6 +388,14 @@ .Er ENOMEM is returned. .El +.It Fa lockfunc +Optional lock manipulation function (may be NULL) to be called when busdma +needs to manipulate a lock on behalf of the client. If NULL is specified, +.Fn dflt_lock +is used. +.It Fa lockfuncarg +Optional argument to be passed to the function specified by +.Fa lockfunc . .It Fa dmat Pointer to a bus_dma_tag_t where the resulting DMA tag will be stored. ==== //depot/projects/ia64/share/mk/bsd.dep.mk#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.dep.mk,v 1.40 2003/07/02 16:43:07 ru Exp $ +# $FreeBSD: src/share/mk/bsd.dep.mk,v 1.41 2003/07/03 11:43:57 bde Exp $ # # The include file <bsd.dep.mk> handles Makefile dependencies. # @@ -166,14 +166,12 @@ .endif .if !target(checkdpadd) && (defined(DPADD) || defined(LDADD)) +_LDADD_FROM_DPADD= ${DPADD:C;^/usr/lib/lib(.*)\.a$;-l\1;} +_LDADD_CANONICALIZED= ${LDADD:S/$//} checkdpadd: - @ldadd=`echo \`for lib in ${DPADD} ; do \ - echo $$lib | sed 's;^/usr/lib/lib\(.*\)\.a;-l\1;' ; \ - done \`` ; \ - ldadd1=`echo ${LDADD}` ; \ - if [ "$$ldadd" != "$$ldadd1" ] ; then \ - echo ${.CURDIR} ; \ - echo "DPADD -> $$ldadd" ; \ - echo "LDADD -> $$ldadd1" ; \ - fi +.if ${_LDADD_FROM_DPADD} != ${_LDADD_CANONICALIZED} + @echo ${.CURDIR} + @echo "DPADD -> ${_LDADD_FROM_DPADD}" + @echo "LDADD -> ${_LDADD_CANONICALIZED}" +.endif .endif ==== //depot/projects/ia64/sys/alpha/alpha/mp_machdep.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.43 2003/07/02 16:09:00 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.44 2003/07/03 14:33:17 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -379,7 +379,7 @@ } continue; } - if (resource_disabled("cpu", i)) + if (resource_disabled("cpu", i)) { printf("CPU %d disabled by loader.\n", i); continue; } ==== //depot/projects/ia64/sys/alpha/alpha/pmap.c#34 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.128 2003/06/29 21:20:02 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.129 2003/07/03 20:18:00 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -2070,7 +2070,6 @@ return (void *) ALPHA_PHYS_TO_K0SEG(pa - (i * PAGE_SIZE)); } -#define MAX_INIT_PT (96) /* * pmap_object_init_pt preloads the ptes for a given object * into the specified pmap. This eliminates the blast of soft @@ -2079,112 +2078,12 @@ void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, - vm_size_t size, int limit) + vm_size_t size) { - vm_offset_t tmpidx; - int psize; - vm_page_t p, mpte; - int objpgs; - if (pmap == NULL || object == NULL) - return; - VM_OBJECT_LOCK(object); - psize = alpha_btop(size); - - if ((object->type != OBJT_VNODE) || - ((limit & MAP_PREFAULT_PARTIAL) && (psize > MAX_INIT_PT) && - (object->resident_page_count > MAX_INIT_PT))) { - goto unlock_return; - } - - if (psize + pindex > object->size) { - if (object->size < pindex) - goto unlock_return; - psize = object->size - pindex; - } - - mpte = NULL; - /* - * if we are processing a major portion of the object, then scan the - * entire thing. - */ - if (psize > (object->resident_page_count >> 2)) { - objpgs = psize; - - for (p = TAILQ_FIRST(&object->memq); - ((objpgs > 0) && (p != NULL)); - p = TAILQ_NEXT(p, listq)) { - - tmpidx = p->pindex; - if (tmpidx < pindex) { - continue; - } - tmpidx -= pindex; - if (tmpidx >= psize) { - continue; - } - /* - * don't allow an madvise to blow away our really - * free pages allocating pv entries. - */ - if ((limit & MAP_PREFAULT_MADVISE) && - cnt.v_free_count < cnt.v_free_reserved) { - break; - } - vm_page_lock_queues(); - if (((p->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL) && - (p->busy == 0) && - (p->flags & (PG_BUSY | PG_FICTITIOUS)) == 0) { - if ((p->queue - p->pc) == PQ_CACHE) - vm_page_deactivate(p); - vm_page_busy(p); - vm_page_unlock_queues(); - VM_OBJECT_UNLOCK(object); - mpte = pmap_enter_quick(pmap, - addr + alpha_ptob(tmpidx), p, mpte); - VM_OBJECT_LOCK(object); - vm_page_lock_queues(); - vm_page_wakeup(p); - } - vm_page_unlock_queues(); - objpgs -= 1; - } - } else { - /* - * else lookup the pages one-by-one. - */ - for (tmpidx = 0; tmpidx < psize; tmpidx += 1) { - /* - * don't allow an madvise to blow away our really - * free pages allocating pv entries. - */ - if ((limit & MAP_PREFAULT_MADVISE) && - cnt.v_free_count < cnt.v_free_reserved) { - break; - } - p = vm_page_lookup(object, tmpidx + pindex); - if (p == NULL) - continue; - vm_page_lock_queues(); - if ((p->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL && - (p->busy == 0) && - (p->flags & (PG_BUSY | PG_FICTITIOUS)) == 0) { - if ((p->queue - p->pc) == PQ_CACHE) - vm_page_deactivate(p); - vm_page_busy(p); - vm_page_unlock_queues(); - VM_OBJECT_UNLOCK(object); - mpte = pmap_enter_quick(pmap, - addr + alpha_ptob(tmpidx), p, mpte); - VM_OBJECT_LOCK(object); - vm_page_lock_queues(); - vm_page_wakeup(p); - } - vm_page_unlock_queues(); - } - } -unlock_return: - VM_OBJECT_UNLOCK(object); + VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + KASSERT(object->type == OBJT_DEVICE, + ("pmap_object_init_pt: non-device object")); } /* ==== //depot/projects/ia64/sys/amd64/amd64/pmap.c#9 (text+ko) ==== @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.418 2003/06/29 21:20:03 alc Exp $ + * $FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.419 2003/07/03 20:18:01 alc Exp $ */ /*- * Copyright (c) 2003 Networks Associates Technology, Inc. @@ -2057,31 +2057,22 @@ return ((void *)crashdumpmap); } -#define MAX_INIT_PT (96) /* - * pmap_object_init_pt preloads the ptes for a given object - * into the specified pmap. This eliminates the blast of soft - * faults on process startup and immediately after an mmap. + * This code maps large physical mmap regions into the + * processor address space. Note that some shortcuts + * are taken, but the code works. */ void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, - vm_size_t size, int limit) + vm_size_t size) { - vm_pindex_t tmpidx; - int psize; - vm_page_t p, mpte; + vm_page_t p; - if (pmap == NULL || object == NULL) - return; - VM_OBJECT_LOCK(object); - /* - * This code maps large physical mmap regions into the - * processor address space. Note that some shortcuts - * are taken, but the code works. - */ - if ((object->type == OBJT_DEVICE) && - ((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { + VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + KASSERT(object->type == OBJT_DEVICE, + ("pmap_object_init_pt: non-device object")); + if (((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { int i; vm_page_t m[1]; int npdes; @@ -2089,7 +2080,7 @@ pde = pmap_pde(pmap, addr); if (pde != 0 && (*pde & PG_V) != 0) - goto unlock_return; + return; retry: p = vm_page_lookup(object, pindex); if (p != NULL) { @@ -2099,14 +2090,14 @@ } else { p = vm_page_alloc(object, pindex, VM_ALLOC_NORMAL); if (p == NULL) - goto unlock_return; + return; m[0] = p; if (vm_pager_get_pages(object, m, 1, 0) != VM_PAGER_OK) { vm_page_lock_queues(); vm_page_free(p); vm_page_unlock_queues(); - goto unlock_return; + return; } p = vm_page_lookup(object, pindex); @@ -2116,9 +2107,8 @@ vm_page_unlock_queues(); ptepa = VM_PAGE_TO_PHYS(p); - if (ptepa & (NBPDR - 1)) { - goto unlock_return; - } + if (ptepa & (NBPDR - 1)) + return; p->valid = VM_PAGE_BITS_ALL; @@ -2130,65 +2120,7 @@ pde++; } pmap_invalidate_all(kernel_pmap); - goto unlock_return; - } - - psize = amd64_btop(size); - - if ((object->type != OBJT_VNODE) || - ((limit & MAP_PREFAULT_PARTIAL) && (psize > MAX_INIT_PT) && - (object->resident_page_count > MAX_INIT_PT))) { - goto unlock_return; } - - if (psize + pindex > object->size) { - if (object->size < pindex) - goto unlock_return; - psize = object->size - pindex; - } - - mpte = NULL; - - if ((p = TAILQ_FIRST(&object->memq)) != NULL) { - if (p->pindex < pindex) { - p = vm_page_splay(pindex, object->root); - if ((object->root = p)->pindex < pindex) - p = TAILQ_NEXT(p, listq); - } - } - /* - * Assert: the variable p is either (1) the page with the - * least pindex greater than or equal to the parameter pindex - * or (2) NULL. - */ - for (; - p != NULL && (tmpidx = p->pindex - pindex) < psize; - p = TAILQ_NEXT(p, listq)) { - /* - * don't allow an madvise to blow away our really - * free pages allocating pv entries. - */ - if ((limit & MAP_PREFAULT_MADVISE) && - cnt.v_free_count < cnt.v_free_reserved) { - break; - } - vm_page_lock_queues(); - if ((p->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL && - (p->busy == 0) && - (p->flags & (PG_BUSY | PG_FICTITIOUS)) == 0) { - if ((p->queue - p->pc) == PQ_CACHE) - vm_page_deactivate(p); - vm_page_busy(p); - vm_page_unlock_queues(); - mpte = pmap_enter_quick(pmap, - addr + amd64_ptob(tmpidx), p, mpte); - vm_page_lock_queues(); - vm_page_wakeup(p); - } - vm_page_unlock_queues(); - } -unlock_return: - VM_OBJECT_UNLOCK(object); } /* ==== //depot/projects/ia64/sys/dev/firewire/fwohci_pci.c#19 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.27 2003/07/01 15:51:56 scottl Exp $ + * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.28 2003/07/03 14:00:56 imp Exp $ */ #define BOUNCE_BUFFER_TEST 0 @@ -403,9 +403,11 @@ { fwohci_softc_t *sc = device_get_softc(dev); +#ifndef BURN_BRIDGES device_printf(dev, "fwohci_pci_resume: power_state = 0x%08x\n", pci_get_powerstate(dev)); pci_set_powerstate(dev, PCI_POWERSTATE_D0); +#endif fwohci_pci_init(dev); fwohci_resume(sc, dev); return 0; ==== //depot/projects/ia64/sys/dev/fxp/if_fxp.c#37 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.185 2003/07/01 15:51:56 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.186 2003/07/03 14:00:56 imp Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -193,7 +193,9 @@ static void fxp_init(void *xsc); static void fxp_init_body(struct fxp_softc *sc); static void fxp_tick(void *xsc); +#ifndef BURN_BRIDGES static void fxp_powerstate_d0(device_t dev); +#endif static void fxp_start(struct ifnet *ifp); static void fxp_start_body(struct ifnet *ifp); static void fxp_stop(struct fxp_softc *sc); @@ -335,6 +337,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307032039.h63Kd2re003291>
