From owner-svn-src-user@FreeBSD.ORG Sun Nov 8 00:11:16 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB3BE1065670; Sun, 8 Nov 2009 00:11:16 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AA0D08FC14; Sun, 8 Nov 2009 00:11:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA80BG7U067753; Sun, 8 Nov 2009 00:11:16 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA80BGpw067751; Sun, 8 Nov 2009 00:11:16 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911080011.nA80BGpw067751@svn.freebsd.org> From: Kip Macy Date: Sun, 8 Nov 2009 00:11:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199033 - user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Nov 2009 00:11:16 -0000 Author: kmacy Date: Sun Nov 8 00:11:16 2009 New Revision: 199033 URL: http://svn.freebsd.org/changeset/base/199033 Log: - ensure that bcopy always happens when cloning - bypass buf infrastructure for blocks less than PAGE_SIZE Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Nov 7 23:37:29 2009 (r199032) +++ user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Nov 8 00:11:16 2009 (r199033) @@ -1305,6 +1305,7 @@ arc_getblk(arc_buf_t *buf) arc_buf_contents_t type = buf->b_hdr->b_type; spa_t *spa = buf->b_hdr->b_spa; off_t blkno = buf->b_hdr->b_dva.dva_word[1] & ~(1UL<<63); + void *data; struct buf *newbp, *bp; arc_buf_t *tbuf; struct vnode *vp; @@ -1323,11 +1324,12 @@ arc_getblk(arc_buf_t *buf) bo = &vp->v_bufobj; newbp = NULL; - if ((size < PAGE_SIZE) || - (buf->b_hdr->b_flags & ARC_BUF_CLONING) || - BUF_EMPTY(buf->b_hdr)) { - + if ((size < PAGE_SIZE)) { + data = zio_buf_alloc(size); + } else if ((buf->b_hdr->b_flags & ARC_BUF_CLONING) || + BUF_EMPTY(buf->b_hdr)) { newbp = geteblk(size, flags); + data = newbp->b_data; } else { /* * We need to be careful to handle the case where the buffer @@ -1358,13 +1360,15 @@ arc_getblk(arc_buf_t *buf) newbp = getblk(vp, blkno, size, 0, 0, flags); newbp->b_offset = buf->b_hdr->b_birth; + data = newbp->b_data; } - if ((size >= PAGE_SIZE) && (buf->b_hdr->b_flags & ARC_BUF_CLONING)) { + if (buf->b_hdr->b_flags & ARC_BUF_CLONING) { vp = spa_get_vnode(spa); bcopy(buf->b_next->b_data, newbp->b_data, size); - arc_binval(buf, blkno, vp, size, newbp); + if (size >= PAGE_SIZE) + arc_binval(buf, blkno, vp, size, newbp); buf->b_hdr->b_flags &= ~ARC_BUF_CLONING; } @@ -1379,7 +1383,7 @@ arc_getblk(arc_buf_t *buf) BUF_KERNPROC(newbp); buf->b_bp = newbp; - buf->b_data = newbp->b_data; + buf->b_data = data; } static void @@ -1388,6 +1392,11 @@ arc_brelse(arc_buf_t *buf, void *data, s struct buf *bp; bp = buf->b_bp; + if (bp == NULL) { + zio_buf_free(buf->b_data, size); + return; + } + #ifdef INVARIANTS if (bp->b_vp) { KASSERT((buf->b_bp->b_xflags & (BX_VNCLEAN|BX_VNDIRTY)) == BX_VNCLEAN, ("brelse() on buffer that is not clean")); @@ -1717,6 +1726,7 @@ arc_evict(arc_state_t *state, spa_t *spa if (type == ARC_BUFC_METADATA) { offset = 0; + list_count = ARC_BUFC_NUMMETADATALISTS; list_start = &state->arcs_lists[0]; evicted_list_start = &evicted_state->arcs_lists[0]; From owner-svn-src-user@FreeBSD.ORG Sun Nov 8 00:50:12 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BAD17106566B; Sun, 8 Nov 2009 00:50:12 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A9FD88FC08; Sun, 8 Nov 2009 00:50:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA80oCFs068517; Sun, 8 Nov 2009 00:50:12 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA80oCmB068515; Sun, 8 Nov 2009 00:50:12 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911080050.nA80oCmB068515@svn.freebsd.org> From: Kip Macy Date: Sun, 8 Nov 2009 00:50:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199034 - user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Nov 2009 00:50:12 -0000 Author: kmacy Date: Sun Nov 8 00:50:12 2009 New Revision: 199034 URL: http://svn.freebsd.org/changeset/base/199034 Log: newbp can be null, copy direct to data Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Nov 8 00:11:16 2009 (r199033) +++ user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Nov 8 00:50:12 2009 (r199034) @@ -1366,7 +1366,7 @@ arc_getblk(arc_buf_t *buf) if (buf->b_hdr->b_flags & ARC_BUF_CLONING) { vp = spa_get_vnode(spa); - bcopy(buf->b_next->b_data, newbp->b_data, size); + bcopy(buf->b_next->b_data, data, size); if (size >= PAGE_SIZE) arc_binval(buf, blkno, vp, size, newbp); buf->b_hdr->b_flags &= ~ARC_BUF_CLONING; From owner-svn-src-user@FreeBSD.ORG Sun Nov 8 20:17:15 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3684106566B; Sun, 8 Nov 2009 20:17:15 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 92B768FC12; Sun, 8 Nov 2009 20:17:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA8KHFci096648; Sun, 8 Nov 2009 20:17:15 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA8KHFHv096646; Sun, 8 Nov 2009 20:17:15 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <200911082017.nA8KHFHv096646@svn.freebsd.org> From: Doug Barton Date: Sun, 8 Nov 2009 20:17:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199056 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Nov 2009 20:17:15 -0000 Author: dougb Date: Sun Nov 8 20:17:15 2009 New Revision: 199056 URL: http://svn.freebsd.org/changeset/base/199056 Log: First run at package support! This version is functional and fairly well tested but I'm sure there are bugs and things that don't work as expected Supports the following new options: -P|--packages and -PP|--packages-only ala portupgrade --packages-if-newer This feature will allow package installation if the available package is newer than the installed version, even if it's not the latest version according to your ports tree. [1] Still to come: Support for packages on filesystem, instead of http [1] Special funding committment for this feature and package support generally by: Modirum MDpay Sponsored by: http://dougbarton.us/portmaster-proposal.html Funded by: Christer Solskogen Funded by: Douglas Berry Funded by: Beat Gatzi Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Sun Nov 8 20:03:52 2009 (r199055) +++ user/dougb/portmaster/portmaster Sun Nov 8 20:17:15 2009 (r199056) @@ -224,6 +224,7 @@ usage () { echo '' echo 'Usage:' echo "Common flags: [--force-config] [-CGHKgntvw B|b f|i D|d]" + echo " [--packages|--packages-only] [-P|-PP] [--packages-if-newer]" echo " [-m ]" echo " [-x ]" echo "${0##*/} [Common flags] " @@ -289,6 +290,12 @@ usage () { echo '-R used with -[rf] to skip ports updated on a previous run' echo '-a check all ports, update as necessary' echo '' + echo 'NOTE: The package options imply -G' + echo '-P|--packages use packages, but build port if not available' + echo '-PP|--packages-only fail if no package is available' + echo '--packages-if-newer use package if newer than installed even' + echo ' if the package is not the latest according to the ports tree' + echo '' echo '-l list installed ports by category' echo '-L list installed ports by category, and search for updates' echo '' @@ -366,10 +373,24 @@ if [ "$$" -eq "$PM_PARENT_PID" ]; then export pd pdb distdir fi -echo '' ; echo "Debug> #: $# @: $@" +pmuex () { +fail "The -P/--packages and -PP/--packages-only options are mutually exclusive" +} +# XXX for var in "$@" ; do case "$var" in + -P|--packages) [ "$PM_PACKAGES" = only ] && pmuex + NO_RECURSIVE_CONFIG=Gopt; ARGS="-G $ARGS" + PM_PACKAGES=first ; export PM_PACKAGES ;; + -PP|--packages-only) [ "$PM_PACKAGES" = first ] && pmuex + NO_RECURSIVE_CONFIG=Gopt; ARGS="-G $ARGS" + PM_PACKAGES=only ; export PM_PACKAGES ;; + --packages-if-newer) [ -z "$PM_PACKAGES" ] && { + PM_PACKAGES=newer ; export PM_PACKAGES; + NO_RECURSIVE_CONFIG=Gopt; ARGS="-G $ARGS"; } + PM_PACKAGES_NEWER=pm_packages_newer + export PM_PACKAGES_NEWER ;; -[A-Za-z0-9]*) newopts="$newopts $var" ;; --help) usage 0 ;; --version) version ; exit 0 ;; @@ -389,8 +410,6 @@ done set -- $newopts unset var newopts -echo '' ; echo "Debug> #: $# @: $@" - #=============== Begin functions relevant to --features and main =============== iport_from_origin () { @@ -1693,7 +1712,6 @@ dependency_check () { echo "===>>> Dependency check complete for $portdir" case "$PM_DEPTH" in *\>\>*) echo " $PM_DEPTH" ;; esac fi - echo '' } create_master_rb_list () { @@ -1837,7 +1855,8 @@ if [ "$$" -eq "$PM_PARENT_PID" -a -z "$S [ -z "$NO_BACKUP" -a -z "$BACKUP" ] && export NB_DELETE # Set the file name here so it's visible to the children - if [ -z "$DONT_SCRUB_DISTFILES" -a -z "$FETCH_ONLY" ]; then + if [ -z "$DONT_SCRUB_DISTFILES" -a -z "$FETCH_ONLY" \ + -a -z "$PM_PACKAGES" ]; then export DI_FILES=`pm_mktemp DI-FILES` fi @@ -2089,7 +2108,7 @@ check_state || { safe_exit 1; } # Do not start this in the background until we are sure we are going to build -if [ "$$" -eq "$PM_PARENT_PID" -a -z "$SHOW_WORK" \ +if [ "$$" -eq "$PM_PARENT_PID" -a -z "$SHOW_WORK" -a -z "$PM_PACKAGES" \ -a -z "$DONT_SCRUB_DISTFILES" -a -z "$FETCH_ONLY" ]; then echo ''; (read_distinfos)& fi @@ -2110,7 +2129,9 @@ dofetch () { } # Handle the problem of manual fetching - master_sites=`pm_make_b -V MASTER_SITES` +# XXX Not for -P/-PP + [ -z "$PM_PACKAGES" ] && master_sites=`pm_make_b -V MASTER_SITES` + if [ -n "$master_sites" ]; then # PATCHFILES may get added post-config, but we want to # do as much of this as we can, as early as we can, and @@ -2134,7 +2155,7 @@ dofetch () { fi unset master_sites - if [ -z "$FETCH_ONLY" ]; then + if [ -z "$FETCH_ONLY" -a ! "$PM_PACKAGES" = only ]; then TESTINT=`grep -l ^IS_INTERACTIVE Makefile` else [ -n "$ALL_FETCH" ] && safe_exit @@ -2217,8 +2238,10 @@ cd $pd/$portdir if [ -z "$NO_DEP_UPDATES" ]; then if [ -z "$RECURSE_THOROUGH" ]; then - echo "===>>> Starting check for build dependencies" - dependency_check build-depends-list + if [ ! "$PM_PACKAGES" = only ]; then + echo "===>>> Starting check for build dependencies" + dependency_check build-depends-list + fi else echo "===>>> Starting check for all dependencies" dependency_check all-depends-list @@ -2234,32 +2257,174 @@ if [ -n "$NO_ACTION" -a -z "$CONFIG_ONLY safe_exit fi -[ -z "$DONT_PRE_CLEAN" ] && { - pm_make clean NOCLEANDEPENDS=ncd || fail 'make clean failed'; echo ''; } +new_port=`pm_make -V PKGNAME` -sleep=3 -fl_read=`echo ${TMPDIR}/f-${PM_PARENT_PID}-fetchlog-${portdir#*/}.*` -while [ -f "$fl_read" ]; do - echo "===>>> Waiting on fetch & checksum for $portdir <<<===" - tail -10 $fl_read 2>/dev/null - echo '' ; echo '' - sleep $sleep +# XXX Build or package? + +if [ -n "$PM_PACKAGES" ]; then + if [ -z "$PACKAGESITE" ]; then + release=`uname -r` + #release=7.0-RELEASE-p12 + #release=8.0-RC1 + #release=8.0-STABLE + + case "$release" in + [678]\.[0-9]-STABLE) + release=packages-${release%%\.*}-stable ;; + [678]\.[0-9]-RELEASE*) + release=packages-${release%-RELEASE*}-release ;; + 9\.0-CURRENT) release=packages-8-current ;; # XXX + *RC[0-9]*) release=${release%-RC[0-9]} + release=packages-${release}-release ;; + *BETA[0-9]*) release=${release%-BETA[0-9]} + release=packages-${release}-release ;; + esac - if [ $sleep -eq 10 ]; then - sleep=3 + sitepath="${PACKAGEROOT:-"http://ftp.freebsd.org"}/pub/FreeBSD/ports/`uname -p`/${release}/" + unset release else - sleep=$(( $sleep + 1 )) + sitepath="$PACKAGESITE" + fi + + sitepath="${sitepath%/}/${portdir%/*}/" + +#echo "Debug> sitepath: $sitepath" + + [ -n "$PM_VERBOSE" ] && echo "===>>> Checking package repository" + latest_link=`pm_make -V LATEST_LINK` + latest_pv=`fetch -q -o - ${sitepath} 2>/dev/null | grep ">$latest_link"` + unset latest_link + + if [ -z "$latest_pv" ]; then + echo "===>>> Package and/or archive not found at:" + echo "${sitepath}" + echo '' + echo " Check the pkg_add(1) man page for information" + echo " on setting the PACKAGESITE environment variable" + fail 'No package archive found' + fi + latest_pv=${latest_pv#*tbz\">} + latest_pv=${latest_pv%%\.tbz*} + +#echo "Debug> new_port: $new_port latest_pv: $latest_pv" + +notnewer () { + echo '' + echo "===>>> The newest available package ($latest_pv)" + echo " is not newer than the installed version ($upg_port)" +} + + if [ "$latest_pv" = "$new_port" ]; then + use_package=up_equal + [ -n "$PM_VERBOSE" ] && + echo "===>>> Available package ($latest_pv) matches the ports tree" + elif [ -n "$PM_PACKAGES_NEWER" ]; then + if [ -n "$upg_port" ]; then + case `pkg_version -t $upg_port $latest_pv` in + \<) use_package=up_newer + [ -n "$PM_VERBOSE" ] && { + echo "===>>> Available package ($latest_pv)"; + echo " is newer than installed ($upg_port)"; } ;; + =) if [ -n "$PM_FORCE" ]; then + use_package=up_force + else + notnewer + fi ;; + *) notnewer ;; + esac + else + use_package=up_no_installed + [ -n "$PM_VERBOSE" ] && + echo "===>>> There is a package available ($latest_pv)" + fi + else + # Could happen if ports tree is out of date + case `pkg_version -t $new_port $latest_pv` in + \<) use_package=up_old_tree + [ -n "$PM_VERBOSE" ] && { + echo "===>>> Available package ($latest_pv)"; + echo " is newer than ports tree ($new_port)"; } ;; + =) ;; # Should not be reached + *) echo '' + echo "===>>> The newest available package ($latest_pv)" + echo " is older than the version in ports ($new_port)" + if [ "$PM_PACKAGES" = only ]; then + if [ -n "$PM_FORCE" ]; then + use_package=up_force2 + echo "===>>> Installing anyway due to -f" + else + fail "Try --packages-if-newer, or do not use -PP/--packages-only" + fi + fi ;; + esac fi -done -unset sleep -if [ -n "$HIDE_BUILD" ]; then - port_log=`mktemp -t port_log-${PM_PARENT_PID}-${portdir#*/}` - port_log_args=">> $port_log 2>&1" - echo "===>>> Logging build to $port_log" + if [ -n "$use_package" ]; then + new_port=$latest_pv + else + if [ "$PM_PACKAGES" = only ]; then + fail "There is no valid package to install" + else + echo '' +echo "===>>> There is no valid package to install, building port instead" + echo '' + fi + fi fi -eval pm_make $port_log_args || fail "make failed for $portdir" +if [ -z "$use_package" ]; then + [ -z "$DONT_PRE_CLEAN" ] && { pm_make clean NOCLEANDEPENDS=ncd || + fail 'make clean failed'; echo ''; } + + sleep=3 + fl_read=`echo ${TMPDIR}/f-${PM_PARENT_PID}-fetchlog-${portdir#*/}.*` + while [ -f "$fl_read" ]; do + echo "===>>> Waiting on fetch & checksum for $portdir <<<===" + tail -10 $fl_read 2>/dev/null + echo '' ; echo '' + sleep $sleep + + if [ $sleep -eq 10 ]; then + sleep=3 + else + sleep=$(( $sleep + 1 )) + fi + done + unset sleep + + if [ -n "$HIDE_BUILD" ]; then + port_log=`mktemp -t port_log-${PM_PARENT_PID}-${portdir#*/}` + port_log_args=">> $port_log 2>&1" + echo "===>>> Logging build to $port_log" + fi + + eval pm_make $port_log_args || fail "make failed for $portdir" +else + # XXX fetch + + # Duplicated from pkg_init() + packages=`pm_make -f/usr/share/mk/bsd.port.mk -V PACKAGES` + [ -n "$packages" ] || fail 'The value of PACKAGES cannot be empty' + + ppd=$packages/portmaster-download + + if [ ! -d "$ppd" ]; then + [ -n "$PM_SU_VERBOSE" ] && + echo "===>>> Creating $ppd" + pm_mkdir_s $ppd + fi + export ppd + + [ -n "$PM_VERBOSE" ] && echo "===>>> Starting package fetch" + + fetch_args=`pm_make -f/usr/share/mk/bsd.port.mk -V FETCH_ARGS` + fetch $fetch_args -o $ppd ${sitepath}${latest_pv}.tbz 2>/dev/null || { + pm_unlink ${ppd}/${latest_pv}.tbz; + fetch $fetch_args -o $ppd ${sitepath}${latest_pv}.tbz || + fail "Fetch for ${latest_pv}.tbz failed"; } +fi + +# XXX Build or package? # Ignore if no old port exists if [ -n "$upg_port" ]; then @@ -2319,25 +2484,37 @@ if [ -z "$RECURSE_THOROUGH" -a -z "$NO_D cd $pd/$portdir fi -new_port=`pm_make -V PKGNAME` - -if [ -n "$PM_SU_UNSET_PORT_LOG_ARGS" ]; then - unset port_log_args -else - [ -n "$HIDE_BUILD" ] && echo "===>>> Logging install to $port_log" -fi - -# Defining NO_DEPENDS ensures that we will control the installation of the -# depends, not bsd.port.mk. -[ -n "$PM_SU_VERBOSE" ] && echo "===>>> Running make install" - -eval pm_make_s -DNO_DEPENDS install $port_log_args || { +install_failed () { if [ -z "$NO_BACKUP" -a -n "$upg_port" ]; then echo '' echo "===>>> A backup package for $upg_port should" echo " be located in $pbu" fi - fail "Installation of $new_port ($portdir) failed"; } + fail "Installation of $1 ($portdir) failed" +} + +echo '' +if [ -z "$use_package" ]; then + [ -n "$PM_SU_VERBOSE" ] && echo "===>>> Running make install" + + if [ -n "$PM_SU_UNSET_PORT_LOG_ARGS" ]; then + unset port_log_args + else + [ -n "$HIDE_BUILD" ] && + echo "===>>> Logging install to $port_log" + fi + + # Defining NO_DEPENDS ensures that we will control the installation + # of the depends, not bsd.port.mk. + eval pm_make_s -DNO_DEPENDS install $port_log_args || + install_failed $new_port +else + # XXX Install the package + echo "===>>> Installing package" + pkg_add --no-deps --force ${ppd}/${latest_pv}.tbz || + install_failed ${latest_pv}.tbz +fi +echo '' # Remove saved libs that match newly installed files @@ -2367,7 +2544,7 @@ fi unset temp # This will serve for *delete*distfiles() as well -distfiles=`pm_make -V ALLFILES | sed -e 's# *$##g'` +[ -z "$use_package" ] && distfiles=`pm_make -V ALLFILES | sed -e 's# *$##g'` if [ -n "$distfiles" ]; then distfiles=" ${distfiles} " @@ -2417,7 +2594,8 @@ if [ -n "$MAKE_PACKAGE" ]; then echo " ===>>> Package saved to $packages/All" ; echo '' fi -[ -z "$DONT_POST_CLEAN" ] && { pm_make clean NOCLEANDEPENDS=ncd2 ; echo ''; } +[ -z "$DONT_POST_CLEAN" -a -z "$use_package" ] && { + pm_make clean NOCLEANDEPENDS=ncd2 ; echo ''; } check_dependency_files $portdir $new_port if [ -s "$grep_deps" ]; then From owner-svn-src-user@FreeBSD.ORG Sun Nov 8 21:31:36 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1ED1106566B; Sun, 8 Nov 2009 21:31:36 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C124F8FC14; Sun, 8 Nov 2009 21:31:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA8LVagj098611; Sun, 8 Nov 2009 21:31:36 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA8LVaQD098609; Sun, 8 Nov 2009 21:31:36 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911082131.nA8LVaQD098609@svn.freebsd.org> From: Kip Macy Date: Sun, 8 Nov 2009 21:31:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199063 - user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Nov 2009 21:31:36 -0000 Author: kmacy Date: Sun Nov 8 21:31:36 2009 New Revision: 199063 URL: http://svn.freebsd.org/changeset/base/199063 Log: - don't call BUF_KERNPROC if newbp is not set - don't try to print bp->b_flags if bp is NULL Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Nov 8 21:08:50 2009 (r199062) +++ user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Nov 8 21:31:36 2009 (r199063) @@ -1381,7 +1381,8 @@ arc_getblk(arc_buf_t *buf) newbp, newbp->b_flags); #endif - BUF_KERNPROC(newbp); + if (newbp != NULL) + BUF_KERNPROC(newbp); buf->b_bp = newbp; buf->b_data = data; } @@ -3424,7 +3425,7 @@ arc_write_done(zio_t *zio) off_t blkno = hdr->b_dva.dva_word[1] & ~(1UL<<63); CTR3(KTR_SPARE2, "arc_write_done() bp=%p flags %X blkno %ld", - bp, bp->b_flags, blkno); + bp, bp ? bp->b_flags : 0, blkno); arc_cksum_verify(buf); From owner-svn-src-user@FreeBSD.ORG Sun Nov 8 21:42:02 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7B82D106568F; Sun, 8 Nov 2009 21:42:02 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 50EED8FC19; Sun, 8 Nov 2009 21:42:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA8Lg0Io098892; Sun, 8 Nov 2009 21:42:00 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA8Lg0u1098890; Sun, 8 Nov 2009 21:42:00 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911082142.nA8Lg0u1098890@svn.freebsd.org> From: Kip Macy Date: Sun, 8 Nov 2009 21:42:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199064 - user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Nov 2009 21:42:02 -0000 Author: kmacy Date: Sun Nov 8 21:42:00 2009 New Revision: 199064 URL: http://svn.freebsd.org/changeset/base/199064 Log: validate bp before checking or setting flags Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Nov 8 21:31:36 2009 (r199063) +++ user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Nov 8 21:42:00 2009 (r199064) @@ -2708,9 +2708,11 @@ arc_read_done(zio_t *zio) arc_cksum_compute(buf, B_FALSE); - buf->b_bp->b_flags &= ~B_INVAL; - buf->b_bp->b_flags |= B_CACHE; - + if (buf->b_bp != NULL) { + buf->b_bp->b_flags &= ~B_INVAL; + buf->b_bp->b_flags |= B_CACHE; + } + /* create copies of the data buffer for the callers */ abuf = buf; for (acb = callback_list; acb; acb = acb->acb_next) { @@ -2969,16 +2971,18 @@ top: * We hit in the page cache * */ - if ((buf->b_bp->b_flags & (B_CACHE|B_INVAL)) == B_CACHE) { - /* - * track the number of times - * the buffer was found in the cache - */ - ARCSTAT_BUMP(arcstat_page_cache_hits); - mutex_exit(hash_lock); - goto top; - } else + if (buf->b_bp != NULL) { + if ((buf->b_bp->b_flags & (B_CACHE|B_INVAL)) == B_CACHE) { + /* + * track the number of times + * the buffer was found in the cache + */ + ARCSTAT_BUMP(arcstat_page_cache_hits); + mutex_exit(hash_lock); + goto top; + } buf->b_bp->b_offset = bp->blk_birth; + } acb = kmem_zalloc(sizeof (arc_callback_t), KM_SLEEP); acb->acb_done = done; @@ -3449,6 +3453,7 @@ arc_write_done(zio_t *zio) exists = buf_hash_insert(hdr, &hash_lock); ASSERT3P(exists, ==, NULL); } else if ((hdr->b_buf == buf) && + (bp != NULL) && (bp->b_bufobj == NULL) && (bp->b_bcount >= PAGE_SIZE)) { arc_binval(buf, blkno, vp, bp->b_bcount, bp); From owner-svn-src-user@FreeBSD.ORG Mon Nov 9 07:19:25 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 740011065670; Mon, 9 Nov 2009 07:19:25 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 63D948FC15; Mon, 9 Nov 2009 07:19:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA97JPdD011733; Mon, 9 Nov 2009 07:19:25 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA97JPdF011731; Mon, 9 Nov 2009 07:19:25 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <200911090719.nA97JPdF011731@svn.freebsd.org> From: Doug Barton Date: Mon, 9 Nov 2009 07:19:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199068 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Nov 2009 07:19:25 -0000 Author: dougb Date: Mon Nov 9 07:19:25 2009 New Revision: 199068 URL: http://svn.freebsd.org/changeset/base/199068 Log: Pick the latest version of the package from a different spot in the HTML. This should avoid the problem of the web server truncating the file name, but adds the tiny cost of needing to sub out the URL encoding for the ',' character if it's present. Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Mon Nov 9 02:54:16 2009 (r199067) +++ user/dougb/portmaster/portmaster Mon Nov 9 07:19:25 2009 (r199068) @@ -2288,7 +2288,9 @@ if [ -n "$PM_PACKAGES" ]; then sitepath="${sitepath%/}/${portdir%/*}/" +#echo '' #echo "Debug> sitepath: $sitepath" +#echo '' [ -n "$PM_VERBOSE" ] && echo "===>>> Checking package repository" latest_link=`pm_make -V LATEST_LINK` @@ -2303,10 +2305,15 @@ if [ -n "$PM_PACKAGES" ]; then echo " on setting the PACKAGESITE environment variable" fail 'No package archive found' fi - latest_pv=${latest_pv#*tbz\">} + latest_pv=${latest_pv#*href=\"} latest_pv=${latest_pv%%\.tbz*} + case "$latest_pv" in + *%2[cC]*) latest_pv=`echo $latest_pv | sed s#%2[cC]#,#` ;; + esac +#echo '' #echo "Debug> new_port: $new_port latest_pv: $latest_pv" +#echo '' notnewer () { echo '' From owner-svn-src-user@FreeBSD.ORG Mon Nov 9 08:34:45 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2958F1065670; Mon, 9 Nov 2009 08:34:45 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0036E8FC24; Mon, 9 Nov 2009 08:34:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA98YinY013482; Mon, 9 Nov 2009 08:34:44 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA98YiWb013481; Mon, 9 Nov 2009 08:34:44 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200911090834.nA98YiWb013481@svn.freebsd.org> From: Ed Schouten Date: Mon, 9 Nov 2009 08:34:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199070 - user/ed/newcons X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Nov 2009 08:34:45 -0000 Author: ed Date: Mon Nov 9 08:34:44 2009 New Revision: 199070 URL: http://svn.freebsd.org/changeset/base/199070 Log: Add a new SVN branch for my Newcons bits. Added: - copied from r199069, head/ Directory Properties: user/ed/newcons/ (props changed) From owner-svn-src-user@FreeBSD.ORG Mon Nov 9 08:48:02 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 489C5106566C; Mon, 9 Nov 2009 08:48:02 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 386D08FC0A; Mon, 9 Nov 2009 08:48:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA98m27E013820; Mon, 9 Nov 2009 08:48:02 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA98m2BB013818; Mon, 9 Nov 2009 08:48:02 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <200911090848.nA98m2BB013818@svn.freebsd.org> From: Doug Barton Date: Mon, 9 Nov 2009 08:48:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199071 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Nov 2009 08:48:02 -0000 Author: dougb Date: Mon Nov 9 08:48:01 2009 New Revision: 199071 URL: http://svn.freebsd.org/changeset/base/199071 Log: 1. Be more robust in choosing the string to search for: a. If there is a '.' in PKGNAME use ${PKGNAME%%\.*} to handle ports like lang/tcl* whose LATEST_LINK is different. This also saves an external call to make in the common case b. If there is no '.', then use LATEST_LINK. 2. Change the grep for finding the latest package version to pick from the anchor tag just like the truncation code in the previous commit Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Mon Nov 9 08:34:44 2009 (r199070) +++ user/dougb/portmaster/portmaster Mon Nov 9 08:48:01 2009 (r199071) @@ -2293,9 +2293,13 @@ if [ -n "$PM_PACKAGES" ]; then #echo '' [ -n "$PM_VERBOSE" ] && echo "===>>> Checking package repository" - latest_link=`pm_make -V LATEST_LINK` - latest_pv=`fetch -q -o - ${sitepath} 2>/dev/null | grep ">$latest_link"` - unset latest_link + + case "$new_port" in + *\.*) s=${new_port%%\.*} ;; + *) s=`pm_make -V LATEST_LINK` ;; + esac + latest_pv=`fetch -q -o - ${sitepath} 2>/dev/null | grep "href=\"${s}"` + unset s if [ -z "$latest_pv" ]; then echo "===>>> Package and/or archive not found at:" From owner-svn-src-user@FreeBSD.ORG Mon Nov 9 08:54:48 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 165EC1065670; Mon, 9 Nov 2009 08:54:48 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 01FA68FC16; Mon, 9 Nov 2009 08:54:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA98slIE014008; Mon, 9 Nov 2009 08:54:47 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA98slWJ013992; Mon, 9 Nov 2009 08:54:47 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200911090854.nA98slWJ013992@svn.freebsd.org> From: Ed Schouten Date: Mon, 9 Nov 2009 08:54:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199072 - in user/ed/newcons: etc/etc.amd64 etc/etc.arm etc/etc.i386 etc/etc.ia64 etc/etc.mips etc/etc.powerpc etc/etc.sparc64 etc/mtree include sbin/init sys/conf sys/dev/usb/input sys... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Nov 2009 08:54:48 -0000 Author: ed Date: Mon Nov 9 08:54:47 2009 New Revision: 199072 URL: http://svn.freebsd.org/changeset/base/199072 Log: Import Newcons patchset from Perforce. Added: user/ed/newcons/sys/dev/vt/ user/ed/newcons/sys/dev/vt/font/ user/ed/newcons/sys/dev/vt/font/font_default.c (contents, props changed) user/ed/newcons/sys/dev/vt/hw/ user/ed/newcons/sys/dev/vt/hw/intel/ user/ed/newcons/sys/dev/vt/hw/intel/intel.c (contents, props changed) user/ed/newcons/sys/dev/vt/hw/intel/intel_reg.h (contents, props changed) user/ed/newcons/sys/dev/vt/hw/vga/ user/ed/newcons/sys/dev/vt/hw/vga/vga.c (contents, props changed) user/ed/newcons/sys/dev/vt/hw/vga/vga_reg.h (contents, props changed) user/ed/newcons/sys/dev/vt/hw/xboxfb/ user/ed/newcons/sys/dev/vt/hw/xboxfb/xboxfb.c (contents, props changed) user/ed/newcons/sys/dev/vt/logo/ user/ed/newcons/sys/dev/vt/logo/logo_freebsd.c (contents, props changed) user/ed/newcons/sys/dev/vt/tools/ user/ed/newcons/sys/dev/vt/tools/fontcvt/ user/ed/newcons/sys/dev/vt/tools/fontcvt/Makefile user/ed/newcons/sys/dev/vt/tools/fontcvt/fontcvt.c (contents, props changed) user/ed/newcons/sys/dev/vt/tools/fontcvt/terminus.sh user/ed/newcons/sys/dev/vt/tools/mkkfont/ user/ed/newcons/sys/dev/vt/tools/mkkfont/Makefile user/ed/newcons/sys/dev/vt/tools/mkkfont/mkkfont.c (contents, props changed) user/ed/newcons/sys/dev/vt/tools/mkkfont/terminus.sh user/ed/newcons/sys/dev/vt/tools/setfont/ user/ed/newcons/sys/dev/vt/tools/setfont/Makefile user/ed/newcons/sys/dev/vt/tools/setfont/setfont.c (contents, props changed) user/ed/newcons/sys/dev/vt/vt.h (contents, props changed) user/ed/newcons/sys/dev/vt/vt_buf.c (contents, props changed) user/ed/newcons/sys/dev/vt/vt_consolectl.c (contents, props changed) user/ed/newcons/sys/dev/vt/vt_core.c (contents, props changed) user/ed/newcons/sys/dev/vt/vt_font.c (contents, props changed) user/ed/newcons/sys/dev/vt/vt_history.c (contents, props changed) user/ed/newcons/sys/dev/vt/vt_sysmouse.c (contents, props changed) user/ed/newcons/sys/kern/subr_terminal.c (contents, props changed) user/ed/newcons/sys/sys/terminal.h (contents, props changed) Modified: user/ed/newcons/etc/etc.amd64/ttys user/ed/newcons/etc/etc.arm/ttys user/ed/newcons/etc/etc.i386/ttys user/ed/newcons/etc/etc.ia64/ttys user/ed/newcons/etc/etc.mips/ttys user/ed/newcons/etc/etc.powerpc/ttys user/ed/newcons/etc/etc.sparc64/ttys user/ed/newcons/etc/mtree/BSD.include.dist user/ed/newcons/include/Makefile user/ed/newcons/sbin/init/init.c user/ed/newcons/sys/conf/files user/ed/newcons/sys/conf/files.i386 user/ed/newcons/sys/dev/usb/input/ukbd.c user/ed/newcons/sys/i386/conf/XBOX user/ed/newcons/sys/kern/kern_intr.c user/ed/newcons/sys/kern/tty.c user/ed/newcons/sys/modules/dtrace/lockstat/Makefile user/ed/newcons/sys/sys/consio.h user/ed/newcons/sys/sys/tty.h Modified: user/ed/newcons/etc/etc.amd64/ttys ============================================================================== --- user/ed/newcons/etc/etc.amd64/ttys Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/etc/etc.amd64/ttys Mon Nov 9 08:54:47 2009 (r199072) @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25. +# For virtual consoles, the correct type is typically xterm. # Other common values include network for network connections on # pseudo-terminals, dialup for incoming modem ports, and unknown # when the terminal type cannot be predetermined. @@ -30,15 +30,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. Modified: user/ed/newcons/etc/etc.arm/ttys ============================================================================== --- user/ed/newcons/etc/etc.arm/ttys Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/etc/etc.arm/ttys Mon Nov 9 08:54:47 2009 (r199072) @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25. +# For virtual consoles, the correct type is typically xterm. # Other common values include network for network connections on # pseudo-terminals, dialup for incoming modem ports, and unknown # when the terminal type cannot be predetermined. @@ -30,15 +30,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 off secure +ttyv0 "/usr/libexec/getty Pc" xterm off secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 off secure -ttyv2 "/usr/libexec/getty Pc" cons25 off secure -ttyv3 "/usr/libexec/getty Pc" cons25 off secure -ttyv4 "/usr/libexec/getty Pc" cons25 off secure -ttyv5 "/usr/libexec/getty Pc" cons25 off secure -ttyv6 "/usr/libexec/getty Pc" cons25 off secure -ttyv7 "/usr/libexec/getty Pc" cons25 off secure +ttyv1 "/usr/libexec/getty Pc" xterm off secure +ttyv2 "/usr/libexec/getty Pc" xterm off secure +ttyv3 "/usr/libexec/getty Pc" xterm off secure +ttyv4 "/usr/libexec/getty Pc" xterm off secure +ttyv5 "/usr/libexec/getty Pc" xterm off secure +ttyv6 "/usr/libexec/getty Pc" xterm off secure +ttyv7 "/usr/libexec/getty Pc" xterm off secure #ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. Modified: user/ed/newcons/etc/etc.i386/ttys ============================================================================== --- user/ed/newcons/etc/etc.i386/ttys Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/etc/etc.i386/ttys Mon Nov 9 08:54:47 2009 (r199072) @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25. +# For virtual consoles, the correct type is typically xterm. # Other common values include network for network connections on # pseudo-terminals, dialup for incoming modem ports, and unknown # when the terminal type cannot be predetermined. @@ -30,15 +30,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. Modified: user/ed/newcons/etc/etc.ia64/ttys ============================================================================== --- user/ed/newcons/etc/etc.ia64/ttys Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/etc/etc.ia64/ttys Mon Nov 9 08:54:47 2009 (r199072) @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25. +# For virtual consoles, the correct type is typically xterm. # Other common values include network for network connections on # pseudo-terminals, dialup for incoming modem ports, and unknown # when the terminal type cannot be predetermined. @@ -30,15 +30,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 off secure +ttyv0 "/usr/libexec/getty Pc" xterm off secure # Virtual terminals. -ttyv1 "/usr/libexec/getty Pc" cons25 off secure -ttyv2 "/usr/libexec/getty Pc" cons25 off secure -ttyv3 "/usr/libexec/getty Pc" cons25 off secure -ttyv4 "/usr/libexec/getty Pc" cons25 off secure -ttyv5 "/usr/libexec/getty Pc" cons25 off secure -ttyv6 "/usr/libexec/getty Pc" cons25 off secure -ttyv7 "/usr/libexec/getty Pc" cons25 off secure +ttyv1 "/usr/libexec/getty Pc" xterm off secure +ttyv2 "/usr/libexec/getty Pc" xterm off secure +ttyv3 "/usr/libexec/getty Pc" xterm off secure +ttyv4 "/usr/libexec/getty Pc" xterm off secure +ttyv5 "/usr/libexec/getty Pc" xterm off secure +ttyv6 "/usr/libexec/getty Pc" xterm off secure +ttyv7 "/usr/libexec/getty Pc" xterm off secure ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals. The 'dialup' keyword identifies dialin lines to login, # fingerd etc. Modified: user/ed/newcons/etc/etc.mips/ttys ============================================================================== --- user/ed/newcons/etc/etc.mips/ttys Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/etc/etc.mips/ttys Mon Nov 9 08:54:47 2009 (r199072) @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25. +# For virtual consoles, the correct type is typically xterm. # Other common values include network for network connections on # pseudo-terminals, dialup for incoming modem ports, and unknown # when the terminal type cannot be predetermined. Modified: user/ed/newcons/etc/etc.powerpc/ttys ============================================================================== --- user/ed/newcons/etc/etc.powerpc/ttys Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/etc/etc.powerpc/ttys Mon Nov 9 08:54:47 2009 (r199072) @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25. +# For virtual consoles, the correct type is typically xterm. # Other common values include network for network connections on # pseudo-terminals, dialup for incoming modem ports, and unknown # when the terminal type cannot be predetermined. @@ -30,15 +30,15 @@ # when going to single-user mode. console none unknown off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure #ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. Modified: user/ed/newcons/etc/etc.sparc64/ttys ============================================================================== --- user/ed/newcons/etc/etc.sparc64/ttys Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/etc/etc.sparc64/ttys Mon Nov 9 08:54:47 2009 (r199072) @@ -15,7 +15,7 @@ # # type The initial terminal type for this port. For hardwired # terminal lines, this will contain the type of terminal used. -# For virtual consoles, the correct type is typically cons25. +# For virtual consoles, the correct type is typically xterm. # Other common values include network for network connections on # pseudo-terminals, dialup for incoming modem ports, and unknown # when the terminal type cannot be predetermined. @@ -34,15 +34,15 @@ screen "/usr/libexec/getty Pc" vt100 of ttya "/usr/libexec/getty 3wire.9600" vt100 off secure ttyb "/usr/libexec/getty 3wire.9600" vt100 off secure # syscons(4) -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. Modified: user/ed/newcons/etc/mtree/BSD.include.dist ============================================================================== --- user/ed/newcons/etc/mtree/BSD.include.dist Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/etc/mtree/BSD.include.dist Mon Nov 9 08:54:47 2009 (r199072) @@ -285,6 +285,8 @@ .. sys .. + teken + .. ufs ffs .. Modified: user/ed/newcons/include/Makefile ============================================================================== --- user/ed/newcons/include/Makefile Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/include/Makefile Mon Nov 9 08:54:47 2009 (r199072) @@ -206,6 +206,9 @@ copies: cd ${.CURDIR}/../sys/rpc; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 types.h \ ${DESTDIR}${INCLUDEDIR}/rpc + cd ${.CURDIR}/../sys/teken; \ + ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 teken.h \ + ${DESTDIR}${INCLUDEDIR}/teken symlinks: @${ECHO} "Setting up symlinks to kernel source tree..." Modified: user/ed/newcons/sbin/init/init.c ============================================================================== --- user/ed/newcons/sbin/init/init.c Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/sbin/init/init.c Mon Nov 9 08:54:47 2009 (r199072) @@ -586,13 +586,27 @@ setctty(const char *name) revoke(name); if ((fd = open(name, O_RDWR)) == -1) { - stall("can't open %s: %m", name); - _exit(1); + warning("can't open %s: %m", name); + goto null; } if (login_tty(fd) == -1) { - stall("can't get %s for controlling terminal: %m", name); + warning("can't get %s for controlling terminal: %m", name); + close(fd); + goto null; + } + return; + +null: + if ((fd = open(_PATH_DEVNULL, O_RDWR)) == -1) { + stall("can't open %s: %m", _PATH_DEVNULL); _exit(1); } + setsid(); + (void) dup2(fd, 0); + (void) dup2(fd, 1); + (void) dup2(fd, 2); + if (fd > 2) + (void) close(fd); } static const char * Modified: user/ed/newcons/sys/conf/files ============================================================================== --- user/ed/newcons/sys/conf/files Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/sys/conf/files Mon Nov 9 08:54:47 2009 (r199072) @@ -90,7 +90,7 @@ pccarddevs.h standard \ compile-with "${AWK} -f $S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \ no-obj no-implicit-rule before-depend \ clean "pccarddevs.h" -teken_state.h optional sc \ +teken_state.h optional sc | vt \ dependency "$S/teken/gensequences $S/teken/sequences" \ compile-with "${AWK} -f $S/teken/gensequences $S/teken/sequences > teken_state.h" \ no-obj no-implicit-rule before-depend \ @@ -1721,6 +1721,16 @@ dev/utopia/utopia.c optional utopia dev/vge/if_vge.c optional vge dev/vkbd/vkbd.c optional vkbd dev/vr/if_vr.c optional vr pci +dev/vt/font/font_default.c optional vt +dev/vt/hw/intel/intel.c optional vt vt_intel +dev/vt/hw/vga/vga.c optional vt vt_vga +dev/vt/logo/logo_freebsd.c optional vt +dev/vt/vt_buf.c optional vt +dev/vt/vt_consolectl.c optional vt +dev/vt/vt_core.c optional vt +dev/vt/vt_font.c optional vt +dev/vt/vt_history.c optional vt +dev/vt/vt_sysmouse.c optional vt dev/vx/if_vx.c optional vx dev/vx/if_vx_eisa.c optional vx eisa dev/vx/if_vx_pci.c optional vx pci @@ -2075,6 +2085,7 @@ kern/subr_sleepqueue.c standard kern/subr_smp.c standard kern/subr_stack.c optional ddb | stack | ktr kern/subr_taskqueue.c standard +kern/subr_terminal.c optional vt kern/subr_trap.c standard kern/subr_turnstile.c standard kern/subr_unit.c standard @@ -2650,7 +2661,7 @@ security/mac_portacl/mac_portacl.c optio security/mac_seeotheruids/mac_seeotheruids.c optional mac_seeotheruids security/mac_stub/mac_stub.c optional mac_stub security/mac_test/mac_test.c optional mac_test -teken/teken.c optional sc +teken/teken.c optional sc | vt ufs/ffs/ffs_alloc.c optional ffs ufs/ffs/ffs_balloc.c optional ffs ufs/ffs/ffs_inode.c optional ffs Modified: user/ed/newcons/sys/conf/files.i386 ============================================================================== --- user/ed/newcons/sys/conf/files.i386 Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/sys/conf/files.i386 Mon Nov 9 08:54:47 2009 (r199072) @@ -228,6 +228,7 @@ dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_i386.c optional uart dev/acpica/acpi_if.m standard dev/acpi_support/acpi_wmi_if.m standard +dev/vt/hw/xboxfb/xboxfb.c optional vt_xboxfb dev/wpi/if_wpi.c optional wpi i386/acpica/OsdEnvironment.c optional acpi i386/acpica/acpi_machdep.c optional acpi Modified: user/ed/newcons/sys/dev/usb/input/ukbd.c ============================================================================== --- user/ed/newcons/sys/dev/usb/input/ukbd.c Mon Nov 9 08:48:01 2009 (r199071) +++ user/ed/newcons/sys/dev/usb/input/ukbd.c Mon Nov 9 08:54:47 2009 (r199072) @@ -617,6 +617,20 @@ ukbd_intr_callback(struct usb_xfer *xfer } } + for (i = 0; i < UKBD_NKEYCODE; i++) { + switch (sc->sc_ndata.keycode[i]) { + case 0x68: + sc->sc_ndata.keycode[i] = 0x46; + break; + case 0x69: + sc->sc_ndata.keycode[i] = 0x47; + break; + case 0x6a: + sc->sc_ndata.keycode[i] = 0x48; + break; + } + } + ukbd_interrupt(sc); if (!(sc->sc_flags & UKBD_FLAG_TIMER_RUNNING)) { Added: user/ed/newcons/sys/dev/vt/font/font_default.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ed/newcons/sys/dev/vt/font/font_default.c Mon Nov 9 08:54:47 2009 (r199072) @@ -0,0 +1,2146 @@ +/*- + * Copyright (c) 2008 Dimitar Toshkov Zhekov + * 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. + * + * 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. + * + * Please contribute any changes back to . + */ + +#include +__FBSDID("$FreeBSD$"); + +#include + +static uint8_t font_bytes[1383 * 16] = { + 0x00, 0x00, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x24, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0x7e, 0x24, 0x24, + 0x7e, 0x24, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7c, + 0x92, 0x90, 0x90, 0x7c, 0x12, 0x12, 0x92, 0x7c, 0x10, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x64, 0x94, 0x68, 0x08, 0x10, 0x10, 0x20, 0x2c, 0x52, 0x4c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x24, 0x18, 0x30, 0x4a, + 0x44, 0x44, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x10, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x10, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x24, 0x18, 0x7e, 0x18, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, + 0x20, 0x20, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, + 0x42, 0x46, 0x4a, 0x52, 0x62, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x18, 0x28, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x04, 0x08, + 0x10, 0x20, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, + 0x42, 0x02, 0x1c, 0x02, 0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x06, 0x0a, 0x12, 0x22, 0x42, 0x7e, 0x02, 0x02, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x7c, 0x02, + 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x20, + 0x40, 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x3c, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, + 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x10, 0x08, 0x04, + 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, + 0x42, 0x42, 0x04, 0x08, 0x08, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0x82, 0x9e, 0xa2, 0xa2, 0xa2, 0xa6, 0x9a, 0x80, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x7e, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x42, + 0x42, 0x42, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40, 0x40, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, + 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x4e, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x44, + 0x48, 0x50, 0x60, 0x60, 0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xc6, 0xaa, 0x92, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x42, 0x62, 0x52, 0x4a, 0x46, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x7c, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x4a, 0x3c, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x50, 0x48, 0x44, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x3c, 0x02, + 0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, + 0x24, 0x24, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x92, 0xaa, 0xc6, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18, 0x24, 0x24, 0x42, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x44, 0x28, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x02, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, + 0x08, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x7c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x02, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, + 0x7e, 0x40, 0x40, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x10, + 0x10, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, + 0x02, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x7c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, + 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x04, 0x00, 0x0c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x42, 0x44, 0x48, + 0x70, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7c, + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5e, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x40, 0x40, 0x3c, 0x02, 0x02, 0x7c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x7c, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x92, + 0x92, 0x92, 0x92, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x42, 0x24, 0x18, 0x24, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, + 0x02, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x04, 0x08, + 0x10, 0x20, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x10, + 0x10, 0x10, 0x20, 0x10, 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x08, 0x08, 0x08, 0x04, 0x08, + 0x08, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x92, 0x8c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7c, 0x92, 0x90, + 0x90, 0x90, 0x92, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x20, 0x20, 0x78, 0x20, 0x20, 0x20, 0x22, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x44, 0x38, 0x44, 0x44, 0x44, 0x38, 0x44, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x7c, + 0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, + 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x44, 0x40, 0x30, 0x48, 0x44, 0x44, 0x24, 0x18, 0x04, 0x44, + 0x38, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, + 0x81, 0x99, 0xa5, 0xa1, 0xa5, 0x99, 0x81, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x04, 0x3c, 0x44, 0x3c, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x24, 0x48, + 0x90, 0x48, 0x24, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7e, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x81, 0xb9, 0xa5, 0xb9, + 0xa9, 0xa5, 0x81, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7c, + 0x10, 0x10, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x08, + 0x10, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x04, 0x18, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x46, 0x7a, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x00, 0x7e, 0x92, 0x92, 0x92, 0x92, 0x72, 0x12, 0x12, 0x12, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, + 0x00, 0x10, 0x30, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0x7c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x48, 0x24, 0x12, 0x24, 0x48, 0x90, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x60, 0x20, 0x22, 0x24, 0x08, 0x10, 0x22, 0x46, 0x8a, 0x1e, + 0x02, 0x02, 0x00, 0x00, 0x00, 0x20, 0x60, 0x20, 0x22, 0x24, 0x08, 0x10, + 0x20, 0x4c, 0x92, 0x04, 0x08, 0x1e, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x60, + 0x12, 0xe4, 0x08, 0x10, 0x22, 0x46, 0x8a, 0x1e, 0x02, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x00, 0x10, 0x10, 0x20, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x7e, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, + 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x7e, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3c, + 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x24, 0x18, 0x3c, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x90, 0x90, 0x90, 0xfc, 0x90, + 0x90, 0x90, 0x90, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, + 0x42, 0x40, 0x40, 0x40, 0x40, 0x42, 0x42, 0x3c, 0x10, 0x10, 0x20, 0x00, + 0x10, 0x08, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x78, + 0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x7e, + 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x24, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x38, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x48, 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x44, + 0x42, 0x42, 0xf2, 0x42, 0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x4c, 0x00, 0x42, 0x42, 0x62, 0x52, 0x4a, 0x46, 0x42, 0x42, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3c, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x24, 0x18, 0x24, 0x42, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3a, 0x44, 0x46, 0x4a, 0x4a, 0x52, + 0x52, 0x62, 0x22, 0x5c, 0x40, 0x00, 0x00, 0x00, 0x10, 0x08, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x82, 0x82, 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7c, 0x42, 0x42, 0x42, + 0x42, 0x7c, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, + 0x44, 0x48, 0x7c, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x08, 0x00, 0x3c, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x02, 0x3e, + 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x00, 0x3c, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x32, 0x4c, 0x00, 0x3c, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3c, 0x02, 0x3e, + 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x18, 0x3c, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x12, 0x72, 0x9e, 0x90, 0x90, 0x6c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x40, + 0x40, 0x40, 0x42, 0x3c, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x10, 0x08, + 0x00, 0x3c, 0x42, 0x42, 0x7e, 0x40, 0x40, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x42, 0x7e, 0x40, 0x40, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3c, 0x42, 0x42, + 0x7e, 0x40, 0x40, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, + 0x00, 0x3c, 0x42, 0x42, 0x7e, 0x40, 0x40, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x10, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x30, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, + 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x48, 0x48, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x10, 0x28, 0x3c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x4c, + 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x08, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x32, 0x4c, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x00, 0x7c, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x3c, 0x46, 0x4a, 0x52, 0x62, 0x42, 0xbc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x3c, 0x00, + 0x00, 0x00, 0x40, 0x40, 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7c, + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x42, + 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x7e, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, + 0x00, 0x3c, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, + 0x02, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x3e, + 0x42, 0x42, 0x42, 0x3e, 0x02, 0x04, 0x03, 0x00, 0x08, 0x10, 0x00, 0x3c, + 0x42, 0x42, 0x40, 0x40, 0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, + 0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x3c, 0x42, 0x40, + 0x40, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x3c, + 0x42, 0x42, 0x40, 0x40, 0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x18, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x02, 0x02, + 0x02, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x0f, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x78, 0x40, + 0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, + 0x00, 0x3c, 0x42, 0x42, 0x7e, 0x40, 0x40, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x18, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x3c, 0x42, 0x42, + 0x7e, 0x40, 0x40, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x7e, + 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x00, 0x3c, 0x42, 0x42, 0x7e, 0x40, 0x40, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x78, 0x40, + 0x40, 0x40, 0x40, 0x7e, 0x02, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3c, 0x42, 0x42, 0x7e, 0x40, 0x40, 0x3c, 0x08, 0x10, 0x0c, 0x00, + 0x18, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x4e, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3e, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x3c, 0x00, 0x24, 0x18, 0x00, 0x3c, + 0x42, 0x42, 0x40, 0x4e, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x18, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, + 0x02, 0x02, 0x3c, 0x00, 0x10, 0x10, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x4e, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, + 0x00, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x3c, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x4e, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x10, 0x10, 0x20, 0x00, 0x04, 0x08, 0x08, 0x00, 0x3e, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x3c, 0x00, 0x18, 0x24, 0x00, 0x42, + 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0x12, 0x40, 0x40, 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xff, 0x42, 0x42, 0x7e, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf8, + 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x4c, 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x58, 0x00, 0x30, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x38, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x78, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x48, 0x30, 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x30, + 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, + 0x10, 0x20, 0x18, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x30, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x38, 0x10, 0x20, 0x18, 0x00, 0x10, 0x10, 0x00, 0x38, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x52, 0x52, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x00, 0xc6, 0x42, 0x42, 0x42, 0x42, 0x42, 0xe2, 0x12, 0x12, 0x0c, 0x00, + 0x0c, 0x12, 0x00, 0x0e, 0x04, 0x04, 0x04, 0x04, 0x04, 0x44, 0x44, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x12, 0x00, 0x0c, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x42, 0x44, + 0x48, 0x50, 0x60, 0x60, 0x50, 0x48, 0x44, 0x42, 0x00, 0x10, 0x10, 0x20, + 0x00, 0x00, 0x40, 0x40, 0x40, 0x42, 0x44, 0x48, 0x70, 0x48, 0x44, 0x42, + 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x44, 0x48, + 0x70, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x7e, 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0x30, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x10, 0x10, 0x20, + 0x24, 0x18, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x48, 0x30, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0x40, 0x40, 0x44, 0x44, 0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x10, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x10, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x60, 0xc0, + 0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, + 0x10, 0x10, 0x18, 0x30, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x42, 0x42, 0x42, 0x62, 0x52, 0x4a, 0x46, 0x42, 0x42, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x42, 0x62, 0x52, 0x4a, 0x46, 0x42, 0x42, 0x42, 0x00, 0x10, 0x10, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x00, 0x10, 0x10, 0x20, 0x24, 0x18, 0x42, 0x42, 0x42, 0x62, 0x52, 0x4a, + 0x46, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, + 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x40, 0x80, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x62, 0x52, 0x4a, + 0x46, 0x42, 0x42, 0x42, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x02, 0x02, 0x04, 0x00, + 0x3c, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x3c, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x18, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x12, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x24, + 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0x90, 0x90, 0x90, 0x9c, 0x90, 0x90, 0x90, 0x90, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x92, 0x92, + 0x9e, 0x90, 0x90, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7c, + 0x42, 0x42, 0x42, 0x7c, 0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x10, 0x00, 0x5e, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x7c, + 0x50, 0x48, 0x44, 0x42, 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5e, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x80, + 0x24, 0x18, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x7c, 0x50, 0x48, 0x44, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x5e, 0x60, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, + 0x42, 0x40, 0x40, 0x3c, 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x08, 0x00, 0x3e, 0x40, 0x40, 0x3c, 0x02, 0x02, 0x7c, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x3c, + 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x00, 0x3e, 0x40, 0x40, 0x3c, 0x02, 0x02, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x3c, 0x02, 0x02, 0x42, 0x42, 0x3c, + 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x40, 0x40, + 0x3c, 0x02, 0x02, 0x7c, 0x10, 0x10, 0x20, 0x00, 0x24, 0x18, 0x00, 0x3c, + 0x42, 0x40, 0x40, 0x3c, 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x18, 0x00, 0x3e, 0x40, 0x40, 0x3c, 0x02, 0x02, 0x7c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0x10, 0x10, + 0x10, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0e, 0x04, 0x04, 0x08, 0x00, + 0x24, 0x18, 0x00, 0xfe, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x10, + 0x10, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x10, 0x7c, 0x10, 0x38, 0x10, 0x10, 0x10, 0x0e, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x4c, + 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x18, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x18, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x18, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x12, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x24, 0x00, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x08, 0x10, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, + 0x02, 0x04, 0x03, 0x00, 0x30, 0x48, 0x00, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x92, 0xaa, 0xc6, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, + 0x00, 0x82, 0x82, 0x92, 0x92, 0x92, 0x92, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x44, 0x00, 0x82, 0x82, 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7e, 0x02, 0x04, 0x08, 0x10, + 0x20, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x00, 0x7e, 0x04, 0x08, 0x10, 0x20, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x00, 0x7e, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x40, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x7e, 0x04, 0x08, + 0x10, 0x20, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x7e, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x18, 0x00, 0x7e, 0x04, 0x08, 0x10, 0x20, 0x40, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x02, 0x02, + 0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x02, + 0x02, 0x02, 0x1e, 0x02, 0x02, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x38, 0x40, + 0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x12, + 0x10, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0x60, 0x00, + 0x00, 0x00, 0x42, 0x42, 0x42, 0x62, 0x52, 0x4a, 0x46, 0x42, 0x42, 0x42, + 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x7e, 0x02, + 0x04, 0x08, 0x1c, 0x02, 0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x3c, 0x02, 0x02, 0x42, 0x42, 0x3c, + 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x40, 0x40, + 0x3c, 0x02, 0x02, 0x7c, 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0xfe, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, 0x10, 0x20, + 0x00, 0x00, 0x10, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0e, + 0x00, 0x04, 0x04, 0x08, 0x7c, 0x00, 0x82, 0x82, 0x44, 0x44, 0x28, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, + 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x3c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, + 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3c, 0x42, 0x42, 0x7e, 0x02, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x02, 0x7e, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x40, + 0x38, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x40, 0x40, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x02, 0x04, 0x08, 0x1c, 0x02, 0x02, + 0x42, 0x42, 0x3c, 0x00, 0x08, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x03, 0x00, 0x32, 0x4c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x12, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x40, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x7e, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x80, 0x7e, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x40, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x38, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x80, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x82, 0x82, 0x44, 0x44, 0x28, + 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x3c, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x24, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x48, 0x48, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, + 0x28, 0x28, 0x44, 0x44, 0x44, 0x82, 0x82, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x5a, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x28, 0x28, 0x44, 0x44, + 0x44, 0x82, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, + 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x08, + 0x10, 0x20, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x7c, + 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x7c, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x7c, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x24, 0x24, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x00, 0x3a, 0x46, 0x44, 0x44, 0x44, 0x46, 0x3a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x40, 0x38, 0x40, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x00, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x46, 0x44, + 0x44, 0x44, 0x46, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, + 0x44, 0x48, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x10, + 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x3e, 0x10, 0x08, 0x3c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x04, + 0x08, 0x10, 0x20, 0x40, 0x40, 0x40, 0x40, 0x3c, 0x02, 0x02, 0x04, 0x00, + 0x00, 0x00, 0x38, 0x44, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x44, 0x44, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, + 0x10, 0x10, 0x28, 0x28, 0x44, 0x44, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3e, 0x40, 0x40, 0x40, 0x3c, 0x40, 0x40, 0x40, 0x40, 0x3c, + 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x40, 0x3c, + 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xfe, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x92, 0x92, + 0x92, 0x92, 0x92, 0x7c, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18, 0x24, 0x24, 0x42, 0x42, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x7c, + 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x82, 0x92, + 0x92, 0x92, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x48, + 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x00, 0x44, 0x82, 0x92, 0x92, 0x92, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x20, 0x20, 0x3c, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x02, 0x04, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7e, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x50, 0x90, 0x9c, 0x92, 0x92, + 0x92, 0x92, 0x92, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, + 0x90, 0x9c, 0xf2, 0x92, 0x92, 0x92, 0x92, 0x9c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0x20, 0x20, 0x3c, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x42, 0x44, 0x48, 0x50, 0x60, 0x60, + 0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x42, 0x42, + 0x42, 0x46, 0x4a, 0x52, 0x62, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x18, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x02, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x40, + 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xfe, + 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x54, 0x38, 0x54, + 0x92, 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x42, 0x46, 0x4a, 0x52, 0x62, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x18, 0x42, 0x42, 0x42, 0x46, 0x4a, 0x52, 0x62, 0x42, 0x42, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x12, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x7c, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x7c, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3f, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, + 0x92, 0x92, 0x92, 0x7f, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, + 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x82, 0x82, 0x82, 0xf2, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0xf2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x1e, 0x02, + 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x92, + 0x92, 0x92, 0x92, 0xf2, 0x92, 0x92, 0x92, 0x8c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x0a, 0x12, 0x22, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x40, 0x40, 0x7c, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, + 0x44, 0x48, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x02, 0x3c, 0x40, 0x40, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x54, + 0x38, 0x54, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3c, 0x42, 0x02, 0x1c, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x22, 0x22, 0x22, 0x22, 0x22, 0x42, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xc6, 0xaa, + 0x92, 0x82, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x7c, 0x92, 0x92, + 0x92, 0x92, 0x92, 0x7c, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3f, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, + 0x92, 0x92, 0x92, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x7f, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x20, 0x3c, 0x22, 0x22, 0x22, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0xf2, + 0x8a, 0x8a, 0x8a, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x40, 0x78, 0x44, 0x44, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x1e, 0x02, 0x42, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x92, 0x92, + 0xf2, 0x92, 0x92, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3e, 0x42, 0x42, 0x3e, 0x12, 0x22, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0xf8, 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x02, 0x02, + 0x3c, 0x40, 0x40, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3c, 0x42, 0x40, 0x78, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x90, 0x9c, 0x92, 0x92, 0x92, 0x9c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x9c, + 0xf2, 0x92, 0x92, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x00, 0x42, 0x44, 0x48, 0x70, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x18, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, + 0x02, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x02, 0x02, 0x7e, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x20, 0x3c, 0x02, 0x02, 0x3c, 0x40, 0x40, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0xf8, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7e, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c, 0x42, 0x42, 0x42, 0x42, + 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x40, + 0x78, 0x44, 0x44, 0x44, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, + 0x92, 0x54, 0x38, 0x54, 0x92, 0x92, 0x92, 0x93, 0x01, 0x01, 0x00, 0x00, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Mon Nov 9 17:47:49 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EECA1106568B; Mon, 9 Nov 2009 17:47:49 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DEFF48FC1B; Mon, 9 Nov 2009 17:47:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA9HlnMn028798; Mon, 9 Nov 2009 17:47:49 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA9HlnuB028796; Mon, 9 Nov 2009 17:47:49 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <200911091747.nA9HlnuB028796@svn.freebsd.org> From: Doug Barton Date: Mon, 9 Nov 2009 17:47:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199093 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Nov 2009 17:47:50 -0000 Author: dougb Date: Mon Nov 9 17:47:49 2009 New Revision: 199093 URL: http://svn.freebsd.org/changeset/base/199093 Log: pkg_add generally requires that the user add "/Latest" to the end of PACKAGESITE if the user specifies it, but we don't want that so strip it off. Submitted by: beat Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Mon Nov 9 17:26:16 2009 (r199092) +++ user/dougb/portmaster/portmaster Mon Nov 9 17:47:49 2009 (r199093) @@ -2283,7 +2283,8 @@ if [ -n "$PM_PACKAGES" ]; then sitepath="${PACKAGEROOT:-"http://ftp.freebsd.org"}/pub/FreeBSD/ports/`uname -p`/${release}/" unset release else - sitepath="$PACKAGESITE" + sitepath="${PACKAGESITE%/}" + sitepath="${sitepath%Latest}" fi sitepath="${sitepath%/}/${portdir%/*}/" From owner-svn-src-user@FreeBSD.ORG Mon Nov 9 18:06:38 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E3AC106568B; Mon, 9 Nov 2009 18:06:38 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 14B938FC17; Mon, 9 Nov 2009 18:06:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA9I6b54029320; Mon, 9 Nov 2009 18:06:37 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA9I6bp6029316; Mon, 9 Nov 2009 18:06:37 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <200911091806.nA9I6bp6029316@svn.freebsd.org> From: Doug Barton Date: Mon, 9 Nov 2009 18:06:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199094 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Nov 2009 18:06:38 -0000 Author: dougb Date: Mon Nov 9 18:06:37 2009 New Revision: 199094 URL: http://svn.freebsd.org/changeset/base/199094 Log: 1. Begin the process of decrementing the now-obsolete -p option 2. Document that +IGNOREME files only apply to installed ports 3. Document that if no port is installed -x runs vs. $origin Modified: user/dougb/portmaster/portmaster user/dougb/portmaster/portmaster.8 Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Mon Nov 9 17:47:49 2009 (r199093) +++ user/dougb/portmaster/portmaster Mon Nov 9 18:06:37 2009 (r199094) @@ -233,7 +233,6 @@ usage () { echo "${0##*/} [Common flags] Multiple full names/paths from $pdb|$pd" echo " and/or multiple globs from $pdb" echo '' - echo "${0##*/} [Common flags] -p " echo "${0##*/} [Common flags] . [Use in $pd/foo/bar to build that port]" echo '' echo "${0##*/} --show-work [-Gv] [-m ] " Modified: user/dougb/portmaster/portmaster.8 ============================================================================== --- user/dougb/portmaster/portmaster.8 Mon Nov 9 17:47:49 2009 (r199093) +++ user/dougb/portmaster/portmaster.8 Mon Nov 9 18:06:37 2009 (r199094) @@ -54,9 +54,6 @@ This is a change from pre-version-2.3 be and/or multiple globs from /var/db/pkg .Nm .Op Common Flags -.Fl p Ar port directory in /usr/ports -.Nm -.Op Common Flags . (Use in /usr/ports/foo/bar to build that port) .Nm .Fl -show-work @@ -306,8 +303,13 @@ any arguments to supply to .It Fl x avoid building or updating ports that match this pattern. Can be specified more than once. +If a port is not already installed the exclude pattern will +be run against the directory name from +.Pa /usr/ports . .It Fl p Ar port directory in /usr/ports -specify the full path to a port directory +specify the full path to a port directory. +This option is generally not necessary and may be +removed in future versions. .It Fl -show-work show what dependent ports are, and are not installed (implies .Fl t ) . @@ -478,11 +480,13 @@ along with their related options. .Ed .Pp .It Pa /var/db/pkg/*/+IGNOREME -If this file exists, several things will happen: +If this file exists for a port that is already installed, +several things will happen: .Bl -tag -width F1 -.It 1. The port will be ignored for all purposes, including -dependency updates, if there is no directory for it in -.Pa /usr/ports , +.It 1. The port will be ignored for all purposes. +This includes dependency updates even if there is no +directory for the port in +.Pa /usr/ports and there is no entry for it in .Pa /usr/ports/MOVED . If the From owner-svn-src-user@FreeBSD.ORG Tue Nov 10 04:02:04 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71E4C106566C; Tue, 10 Nov 2009 04:02:04 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 61EF88FC28; Tue, 10 Nov 2009 04:02:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAA4233U046224; Tue, 10 Nov 2009 04:02:03 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAA423R8046222; Tue, 10 Nov 2009 04:02:03 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <200911100402.nAA423R8046222@svn.freebsd.org> From: Doug Barton Date: Tue, 10 Nov 2009 04:02:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199129 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Nov 2009 04:02:04 -0000 Author: dougb Date: Tue Nov 10 04:02:03 2009 New Revision: 199129 URL: http://svn.freebsd.org/changeset/base/199129 Log: 1. New feature: --packages-build. This option will switch to --packages-only mode to install dependencies that are only used for the build of the "parent" port that is specified on the command line, but will build the ports on the local system for anything that is a runtime dependency, and the port itself. [1] At this point it can only be used with one port on the command line, multiport and -a support are "on the list," as is compatibility with the -t option. This new option required some more complex error handling for the --package* options which has been broken out into its own function. 2. Modify fail() to be less finicky about the input comments 3. Twiddle some whitespace [1] Special funding committment for this feature and package support generally by: Modirum MDpay Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Tue Nov 10 03:56:51 2009 (r199128) +++ user/dougb/portmaster/portmaster Tue Nov 10 04:02:03 2009 (r199129) @@ -55,7 +55,7 @@ version () { } fail () { - echo '' ; echo "===>>> $1" ; echo "===>>> Aborting update" + echo '' ; echo "===>>> $*" ; echo "===>>> Aborting update" [ "$$" -eq "$PM_PARENT_PID" ] && trap_exit fail safe_exit 1 } @@ -224,8 +224,8 @@ usage () { echo '' echo 'Usage:' echo "Common flags: [--force-config] [-CGHKgntvw B|b f|i D|d]" - echo " [--packages|--packages-only] [-P|-PP] [--packages-if-newer]" - echo " [-m ]" + echo " [[--packages|--packages-only] [-P|-PP] | [--packages-build]" + echo " [--packages-if-newer] [-m ]" echo " [-x ]" echo "${0##*/} [Common flags] " echo "${0##*/} [Common flags] " @@ -289,9 +289,10 @@ usage () { echo '-R used with -[rf] to skip ports updated on a previous run' echo '-a check all ports, update as necessary' echo '' - echo 'NOTE: The package options imply -G' + echo 'NOTE: The -P[P] options imply -G' echo '-P|--packages use packages, but build port if not available' echo '-PP|--packages-only fail if no package is available' + echo '--packages-build use packages for all build dependencies' echo '--packages-if-newer use package if newer than installed even' echo ' if the package is not the latest according to the ports tree' echo '' @@ -372,25 +373,39 @@ if [ "$$" -eq "$PM_PARENT_PID" ]; then export pd pdb distdir fi -pmuex () { -fail "The -P/--packages and -PP/--packages-only options are mutually exclusive" +# XXX + +packages_init () { + local e1 e2 + +e1="The -P/--packages and -PP/--packages-only options are mutually exclusive" +e2="The --packages-build option and the -P[P] options are mutually exclusive" + + case "$1" in + first) [ "$PM_PACKAGES" = only ] && fail $e1 + [ -n "$PM_PACKAGES_BUILD" ] && fail $e2 ;; + only) [ "$PM_PACKAGES" = first ] && fail $e1 + [ -n "$PM_PACKAGES_BUILD" ] && fail $e2 ;; + build) case "$PM_PACKAGES" in first|only) fail $e2 ;; esac ;; + newer) [ -z "$PM_PACKAGES" -a -z "$PM_PACKAGES_BUILD" ] && { + PM_PACKAGES=newer ; export PM_PACKAGES; } ;; + esac } -# XXX for var in "$@" ; do case "$var" in - -P|--packages) [ "$PM_PACKAGES" = only ] && pmuex - NO_RECURSIVE_CONFIG=Gopt; ARGS="-G $ARGS" + -P|--packages) packages_init first PM_PACKAGES=first ; export PM_PACKAGES ;; - -PP|--packages-only) [ "$PM_PACKAGES" = first ] && pmuex - NO_RECURSIVE_CONFIG=Gopt; ARGS="-G $ARGS" - PM_PACKAGES=only ; export PM_PACKAGES ;; - --packages-if-newer) [ -z "$PM_PACKAGES" ] && { - PM_PACKAGES=newer ; export PM_PACKAGES; - NO_RECURSIVE_CONFIG=Gopt; ARGS="-G $ARGS"; } - PM_PACKAGES_NEWER=pm_packages_newer + -PP|--packages-only) packages_init only + PM_PACKAGES=only ; export PM_PACKAGES ;; + --packages-build) packages_init build + unset PM_PACKAGES + PM_PACKAGES_BUILD=pmp_build + export PM_PACKAGES_BUILD ;; + --packages-if-newer) packages_init newer + PM_PACKAGES_NEWER=pmp_newer export PM_PACKAGES_NEWER ;; - -[A-Za-z0-9]*) newopts="$newopts $var" ;; + -[A-Za-z0-9]*) newopts="$newopts $var" ;; --help) usage 0 ;; --version) version ; exit 0 ;; --clean-distfiles) CLEAN_DISTFILES=clean_distfiles ;; @@ -402,12 +417,15 @@ for var in "$@" ; do --force-config) export FORCE_CONFIG=force_config ;; --*) echo "Illegal option $var" ; echo '' echo "===>>> Try ${0##*/} --help"; exit 1 ;; - *) newopts="$newopts $var" ;; + *) newopts="$newopts $var" ;; esac done +[ -n "$PM_PACKAGES" ] && { NO_RECURSIVE_CONFIG=Gopt; ARGS="-G $ARGS"; } + set -- $newopts unset var newopts +unset -f packages_init #=============== Begin functions relevant to --features and main =============== @@ -866,7 +884,9 @@ while getopts 'BCDFGHKLRabde:fghilm:nop: p) portdir="${OPTARG#$pd/}" ; portdir=${portdir%/} ;; r) UPDATE_REQ_BYS=ropt ; portdir=`origin_from_pdb $OPTARG` ;; s) CLEAN_STALE=sopt ;; - t) RECURSE_THOROUGH=topt; ARGS="-t $ARGS" ;; + t) [ "$PM_PACKAGES" = build ] && + fail 'The --packages-build and -t options are mutually exclusive' + RECURSE_THOROUGH=topt; ARGS="-t $ARGS" ;; u) echo "===>>> The -u option has been deprecated" ; echo '' ;; v) PM_VERBOSE=vopt; ARGS="-v $ARGS" ;; w) SAVE_SHARED=wopt; ARGS="-w $ARGS" ;; @@ -1612,6 +1632,26 @@ dependency_check () { fi fi +# XXX + if [ "$PM_PACKAGES_BUILD" = pmp_doing_build_deps ]; then + local rundeps dep build_only build_and_run build_only_dep + + rundeps=`pm_make run-depends-list | sort -u` + for dep in $d_port_list; do + case "$rundeps" in + *${dep}*) build_and_run="$build_and_run $dep" ;; + *) build_only="$build_only $dep" ;; + esac + done + +#echo '' ; echo "Debug> d_port_list: $d_port_list" +#echo "Debug> build_only: $build_only" +#echo "Debug> build_and_run: $build_and_run" +#echo '' + + d_port_list="$build_only $build_and_run" + fi + local d_port origin iport conflicts glob confl_p udf # Do not export, for THIS parent process only @@ -1691,6 +1731,14 @@ dependency_check () { esac fi +# XXX + case "$build_only" in + *${d_port}*) +#echo '' ; echo "Debug> $origin is build-only" ; echo '' + build_only_dep=build_only_dep + PM_PACKAGES=only ; export PM_PACKAGES ;; + esac + if [ -n "$iport" ]; then # No check_interactive here because we want to tell # the user whether or not there is a new version first @@ -1699,6 +1747,8 @@ dependency_check () { check_interactive $origin || continue update_port $origin fi + + [ -n "$build_only_dep" ] && unset PM_PACKAGES done [ -n "$CONFIG_ONLY" ] && unset doing_dep_check @@ -2129,7 +2179,7 @@ dofetch () { # Handle the problem of manual fetching # XXX Not for -P/-PP - [ -z "$PM_PACKAGES" ] && master_sites=`pm_make_b -V MASTER_SITES` + [ -z "$PM_PACKAGES" ] && master_sites=`pm_make_b -V MASTER_SITES` if [ -n "$master_sites" ]; then # PATCHFILES may get added post-config, but we want to @@ -2238,6 +2288,11 @@ cd $pd/$portdir if [ -z "$NO_DEP_UPDATES" ]; then if [ -z "$RECURSE_THOROUGH" ]; then if [ ! "$PM_PACKAGES" = only ]; then +# XXX + if [ "$$" -eq "$PM_PARENT_PID" ]; then + [ -n "$PM_PACKAGES_BUILD" ] && + PM_PACKAGES_BUILD=pmp_doing_build_deps + fi echo "===>>> Starting check for build dependencies" dependency_check build-depends-list fi @@ -2245,6 +2300,10 @@ if [ -z "$NO_DEP_UPDATES" ]; then echo "===>>> Starting check for all dependencies" dependency_check all-depends-list fi + if [ "$$" -eq "$PM_PARENT_PID" ]; then + [ -n "$PM_PACKAGES_BUILD" ] && + unset PM_PACKAGES_BUILD PM_PACKAGES + fi cd $pd/$portdir elif [ -z "$NO_RECURSIVE_CONFIG" -a "$$" -eq "$PM_PARENT_PID" ]; then echo "===>>> The 'make config' check found no dependencies to update" @@ -2360,7 +2419,7 @@ notnewer () { echo "===>>> The newest available package ($latest_pv)" echo " is older than the version in ports ($new_port)" if [ "$PM_PACKAGES" = only ]; then - if [ -n "$PM_FORCE" ]; then + if [ -n "$PM_FORCE" ]; then use_package=up_force2 echo "===>>> Installing anyway due to -f" else From owner-svn-src-user@FreeBSD.ORG Tue Nov 10 17:35:20 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8CBD1106566C; Tue, 10 Nov 2009 17:35:20 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7AC118FC1C; Tue, 10 Nov 2009 17:35:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAAHZKi3066697; Tue, 10 Nov 2009 17:35:20 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAAHZKUY066695; Tue, 10 Nov 2009 17:35:20 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200911101735.nAAHZKUY066695@svn.freebsd.org> From: Ed Schouten Date: Tue, 10 Nov 2009 17:35:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199144 - user/ed/newcons/sys/amd64/amd64 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Nov 2009 17:35:20 -0000 Author: ed Date: Tue Nov 10 17:35:19 2009 New Revision: 199144 URL: http://svn.freebsd.org/changeset/base/199144 Log: Revert this recent change in my branch. Prevents my systems from booting. Modified: user/ed/newcons/sys/amd64/amd64/initcpu.c Modified: user/ed/newcons/sys/amd64/amd64/initcpu.c ============================================================================== --- user/ed/newcons/sys/amd64/amd64/initcpu.c Tue Nov 10 16:51:15 2009 (r199143) +++ user/ed/newcons/sys/amd64/amd64/initcpu.c Tue Nov 10 17:35:19 2009 (r199144) @@ -47,13 +47,6 @@ __FBSDID("$FreeBSD$"); static int hw_instruction_sse; SYSCTL_INT(_hw, OID_AUTO, instruction_sse, CTLFLAG_RD, &hw_instruction_sse, 0, "SIMD/MMX2 instructions available in CPU"); -/* - * -1: automatic (default) - * 0: keep enable CLFLUSH - * 1: force disable CLFLUSH - */ -static int hw_clflush_disable = -1; -TUNABLE_INT("hw.clflush_disable", &hw_clflush_disable); int cpu; /* Are we 386, 386sx, 486, etc? */ u_int cpu_feature; /* Feature flags */ @@ -176,16 +169,6 @@ initializecpu(void) * XXXKIB: (temporary) hack to work around traps generated when * CLFLUSHing APIC registers window. */ - TUNABLE_INT_FETCH("hw.clflush_disable", &hw_clflush_disable); - if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS) && - hw_clflush_disable == -1) - cpu_feature &= ~CPUID_CLFSH; - /* - * Allow to disable CLFLUSH feature manually by - * hw.clflush_disable tunable. This may help Xen guest on some AMD - * CPUs. - */ - if (hw_clflush_disable == 1) { + if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS)) cpu_feature &= ~CPUID_CLFSH; - } } From owner-svn-src-user@FreeBSD.ORG Tue Nov 10 17:45:55 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 265B11065672; Tue, 10 Nov 2009 17:45:55 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1447E8FC18; Tue, 10 Nov 2009 17:45:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAAHjtKf067177; Tue, 10 Nov 2009 17:45:55 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAAHjsla067167; Tue, 10 Nov 2009 17:45:54 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200911101745.nAAHjsla067167@svn.freebsd.org> From: Ed Schouten Date: Tue, 10 Nov 2009 17:45:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199150 - in user/ed/newcons/sys: dev/syscons kern pc98/cbus sys teken X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Nov 2009 17:45:55 -0000 Author: ed Date: Tue Nov 10 17:45:54 2009 New Revision: 199150 URL: http://svn.freebsd.org/changeset/base/199150 Log: Move support for generating escape sequences into libteken. This means I can finally easily patch syscons to generate proper escape sequences for TERM=xterm, including cursor keys mode. This introduces a new function called te_fkeystr, which allows syscons to override escape sequences. Modified: user/ed/newcons/sys/dev/syscons/scterm-teken.c user/ed/newcons/sys/dev/syscons/syscons.c user/ed/newcons/sys/dev/syscons/syscons.h user/ed/newcons/sys/kern/subr_terminal.c user/ed/newcons/sys/pc98/cbus/scterm-sck.c user/ed/newcons/sys/sys/terminal.h user/ed/newcons/sys/teken/teken.c user/ed/newcons/sys/teken/teken.h user/ed/newcons/sys/teken/teken_subr.h Modified: user/ed/newcons/sys/dev/syscons/scterm-teken.c ============================================================================== --- user/ed/newcons/sys/dev/syscons/scterm-teken.c Tue Nov 10 17:41:49 2009 (r199149) +++ user/ed/newcons/sys/dev/syscons/scterm-teken.c Tue Nov 10 17:45:54 2009 (r199150) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #if defined(__sparc64__) || defined(__powerpc__) #include @@ -52,14 +53,15 @@ __FBSDID("$FreeBSD$"); static void scteken_revattr(unsigned char, teken_attr_t *); static unsigned int scteken_attr(const teken_attr_t *); -static sc_term_init_t scteken_init; -static sc_term_term_t scteken_term; -static sc_term_puts_t scteken_puts; -static sc_term_ioctl_t scteken_ioctl; -static sc_term_default_attr_t scteken_default_attr; -static sc_term_clear_t scteken_clear; -static sc_term_input_t scteken_input; -static void scteken_nop(void); +static sc_term_init_t scteken_init; +static sc_term_term_t scteken_term; +static sc_term_puts_t scteken_puts; +static sc_term_ioctl_t scteken_ioctl; +static sc_term_default_attr_t scteken_default_attr; +static sc_term_clear_t scteken_clear; +static sc_term_input_t scteken_input; +static sc_term_fkeystr_t scteken_fkeystr; +static void scteken_nop(void); typedef struct { teken_t ts_teken; @@ -84,6 +86,7 @@ static sc_term_sw_t sc_term_scteken = { scteken_clear, (sc_term_notify_t *)scteken_nop, scteken_input, + scteken_fkeystr, }; SCTERM_MODULE(scteken, sc_term_scteken); @@ -241,6 +244,56 @@ scteken_input(scr_stat *scp, int c, stru return FALSE; } +static const char * +scteken_fkeystr(scr_stat *scp, int c) +{ + teken_stat *ts = scp->ts; + unsigned int k; + + switch (c) { + case FKEY | F(1): case FKEY | F(2): case FKEY | F(3): + case FKEY | F(4): case FKEY | F(5): case FKEY | F(6): + case FKEY | F(7): case FKEY | F(8): case FKEY | F(9): + case FKEY | F(10): case FKEY | F(11): case FKEY | F(12): + k = TKEY_F1 + c - (FKEY | F(1)); + break; + case FKEY | F(49): + k = TKEY_HOME; + break; + case FKEY | F(50): + k = TKEY_UP; + break; + case FKEY | F(51): + k = TKEY_PAGE_UP; + break; + case FKEY | F(53): + k = TKEY_LEFT; + break; + case FKEY | F(55): + k = TKEY_RIGHT; + break; + case FKEY | F(57): + k = TKEY_END; + break; + case FKEY | F(58): + k = TKEY_DOWN; + break; + case FKEY | F(59): + k = TKEY_PAGE_DOWN; + break; + case FKEY | F(60): + k = TKEY_INSERT; + break; + case FKEY | F(61): + k = TKEY_DELETE; + break; + default: + return (NULL); + } + + return (teken_get_sequence(&ts->ts_teken, k)); +} + static void scteken_nop(void) { Modified: user/ed/newcons/sys/dev/syscons/syscons.c ============================================================================== --- user/ed/newcons/sys/dev/syscons/syscons.c Tue Nov 10 17:41:49 2009 (r199149) +++ user/ed/newcons/sys/dev/syscons/syscons.c Tue Nov 10 17:45:54 2009 (r199150) @@ -625,7 +625,7 @@ sckbdevent(keyboard_t *thiskbd, int even struct tty *cur_tty; int c, error = 0; size_t len; - u_char *cp; + const u_char *cp; sc = (sc_softc_t *)arg; /* assert(thiskbd == sc->kbd) */ @@ -664,6 +664,11 @@ sckbdevent(keyboard_t *thiskbd, int even ttydisc_rint(cur_tty, KEYCHAR(c), 0); break; case FKEY: /* function key, return string */ + cp = (*sc->cur_scp->tsw->te_fkeystr)(sc->cur_scp, c); + if (cp != NULL) { + ttydisc_rint_simple(cur_tty, cp, strlen(cp)); + break; + } cp = kbdd_get_fkeystr(thiskbd, KEYCHAR(c), &len); if (cp != NULL) ttydisc_rint_simple(cur_tty, cp, len); @@ -673,9 +678,7 @@ sckbdevent(keyboard_t *thiskbd, int even ttydisc_rint(cur_tty, KEYCHAR(c), 0); break; case BKEY: /* backtab fixed sequence (esc [ Z) */ - ttydisc_rint(cur_tty, 0x1b, 0); - ttydisc_rint(cur_tty, '[', 0); - ttydisc_rint(cur_tty, 'Z', 0); + ttydisc_rint_simple(cur_tty, "\x1B[Z", 3); break; } @@ -1572,7 +1575,7 @@ sc_cngetc(struct consdev *cd) static struct fkeytab fkey; static int fkeycp; scr_stat *scp; - u_char *p; + const u_char *p; int cur_mode; int s = spltty(); /* block sckbdevent and scrn_timer while we poll */ int c; @@ -1621,6 +1624,13 @@ sc_cngetc(struct consdev *cd) case 0: /* normal char */ return KEYCHAR(c); case FKEY: /* function key */ + p = (*scp->tsw->te_fkeystr)(scp, c); + if (p != NULL) { + fkey.len = strlen(p); + bcopy(p, fkey.str, fkey.len); + fkeycp = 1; + return fkey.str[0]; + } p = kbdd_get_fkeystr(scp->sc->kbd, KEYCHAR(c), (size_t *)&fkeycp); fkey.len = fkeycp; if ((p != NULL) && (fkey.len > 0)) { Modified: user/ed/newcons/sys/dev/syscons/syscons.h ============================================================================== --- user/ed/newcons/sys/dev/syscons/syscons.h Tue Nov 10 17:41:49 2009 (r199149) +++ user/ed/newcons/sys/dev/syscons/syscons.h Tue Nov 10 17:45:54 2009 (r199150) @@ -381,6 +381,7 @@ typedef void sc_term_notify_t(scr_stat * #define SC_TE_NOTIFY_VTSWITCH_IN 0 #define SC_TE_NOTIFY_VTSWITCH_OUT 1 typedef int sc_term_input_t(scr_stat *scp, int c, struct tty *tp); +typedef const char *sc_term_fkeystr_t(scr_stat *scp, int c); typedef struct sc_term_sw { LIST_ENTRY(sc_term_sw) link; @@ -398,6 +399,7 @@ typedef struct sc_term_sw { sc_term_clear_t *te_clear; sc_term_notify_t *te_notify; sc_term_input_t *te_input; + sc_term_fkeystr_t *te_fkeystr; } sc_term_sw_t; #define SCTERM_MODULE(name, sw) \ Modified: user/ed/newcons/sys/kern/subr_terminal.c ============================================================================== --- user/ed/newcons/sys/kern/subr_terminal.c Tue Nov 10 17:41:49 2009 (r199149) +++ user/ed/newcons/sys/kern/subr_terminal.c Tue Nov 10 17:45:54 2009 (r199150) @@ -288,45 +288,8 @@ terminal_input_raw(struct terminal *tm, } } -static const char * const special_strings_normal[] = { - [TKEY_UP] = "\x1B[A", - [TKEY_DOWN] = "\x1B[B", - [TKEY_LEFT] = "\x1B[D", - [TKEY_RIGHT] = "\x1B[C", - - [TKEY_INSERT] = "\x1B[2~", - [TKEY_DELETE] = "\x1B[3~", - [TKEY_HOME] = "\x1B[H", - [TKEY_END] = "\x1B[F", - [TKEY_PAGE_UP] = "\x1B[5~", - [TKEY_PAGE_DOWN] = "\x1B[6~", - - [TKEY_F1] = "\x1BOP", - [TKEY_F2] = "\x1BOQ", - [TKEY_F3] = "\x1BOR", - [TKEY_F4] = "\x1BOS", - [TKEY_F5] = "\x1B[15~", - [TKEY_F6] = "\x1B[17~", - [TKEY_F7] = "\x1B[18~", - [TKEY_F8] = "\x1B[19~", - [TKEY_F9] = "\x1B[20~", - [TKEY_F10] = "\x1B[21~", - [TKEY_F11] = "\x1B[23~", - [TKEY_F12] = "\x1B[24~", -}; - -static const char * const special_strings_ckeys[] = { - [TKEY_UP] = "\x1BOA", - [TKEY_DOWN] = "\x1BOB", - [TKEY_LEFT] = "\x1BOD", - [TKEY_RIGHT] = "\x1BOC", - - [TKEY_HOME] = "\x1BOH", - [TKEY_END] = "\x1BOF", -}; - void -terminal_input_special(struct terminal *tm, int s) +terminal_input_special(struct terminal *tm, unsigned int k) { struct tty *tp; const char *str = NULL; @@ -335,20 +298,14 @@ terminal_input_special(struct terminal * if (tp == NULL) return; - if (tm->tm_flags & TF_CURSORKEYS && - s >= 0 && s < sizeof special_strings_ckeys / sizeof(char *)) - str = special_strings_ckeys[s]; - if (str == NULL && - s >= 0 && s < sizeof special_strings_normal / sizeof(char *)) - str = special_strings_normal[s]; - - if (str != NULL) { - tty_lock(tp); - ttydisc_rint_simple(tp, str, strlen(str)); - ttydisc_rint_done(tp); - tty_unlock(tp); + str = teken_get_sequence(&tm->tm_emulator, k); + if (str == NULL) return; - } + + tty_lock(tp); + ttydisc_rint_simple(tp, str, strlen(str)); + ttydisc_rint_done(tp); + tty_unlock(tp); } /* @@ -556,15 +513,6 @@ termteken_param(void *softc, int cmd, un { struct terminal *tm = softc; - switch (cmd) { - case TP_CURSORKEYS: - if (arg) - tm->tm_flags |= TF_CURSORKEYS; - else - tm->tm_flags &= ~TF_CURSORKEYS; - return; - } - tm->tm_class->tc_param(tm, cmd, arg); } Modified: user/ed/newcons/sys/pc98/cbus/scterm-sck.c ============================================================================== --- user/ed/newcons/sys/pc98/cbus/scterm-sck.c Tue Nov 10 17:41:49 2009 (r199149) +++ user/ed/newcons/sys/pc98/cbus/scterm-sck.c Tue Nov 10 17:45:54 2009 (r199150) @@ -94,15 +94,16 @@ typedef struct { color_t dflt_rev_color; /* default reverse color */ } term_stat; -static sc_term_init_t scterm_init; -static sc_term_term_t scterm_term; -static sc_term_puts_t scterm_puts; -static sc_term_ioctl_t scterm_ioctl; -static sc_term_reset_t scterm_reset; +static sc_term_init_t scterm_init; +static sc_term_term_t scterm_term; +static sc_term_puts_t scterm_puts; +static sc_term_ioctl_t scterm_ioctl; +static sc_term_reset_t scterm_reset; static sc_term_default_attr_t scterm_default_attr; -static sc_term_clear_t scterm_clear; -static sc_term_notify_t scterm_notify; -static sc_term_input_t scterm_input; +static sc_term_clear_t scterm_clear; +static sc_term_notify_t scterm_notify; +static sc_term_input_t scterm_input; +static sc_term_fkeystr_t scterm_fkeystr; static sc_term_sw_t sc_term_sc = { { NULL, NULL }, @@ -120,6 +121,7 @@ static sc_term_sw_t sc_term_sc = { scterm_clear, scterm_notify, scterm_input, + scterm_fkeystr, }; SCTERM_MODULE(sc, sc_term_sc); @@ -1191,6 +1193,13 @@ scterm_input(scr_stat *scp, int c, struc return FALSE; } +static const char * +scterm_fkeystr(scr_stat *scp, int c) +{ + + return (NULL); +} + /* * Calculate hardware attributes word using logical attributes mask and * hardware colors Modified: user/ed/newcons/sys/sys/terminal.h ============================================================================== --- user/ed/newcons/sys/sys/terminal.h Tue Nov 10 17:41:49 2009 (r199149) +++ user/ed/newcons/sys/sys/terminal.h Tue Nov 10 17:45:54 2009 (r199150) @@ -128,43 +128,17 @@ struct terminal { #define TF_MUTE 0x1 /* Drop incoming data. */ #define TF_BELL 0x2 /* Bell needs to be sent. */ #define TF_CONS 0x4 /* Console device (needs spinlock). */ -#define TF_CURSORKEYS 0x8 /* Return other sequences for certain keys. */ }; #ifdef _KERNEL -#define TKEY_UP 0x00 -#define TKEY_DOWN 0x01 -#define TKEY_LEFT 0x02 -#define TKEY_RIGHT 0x03 - -#define TKEY_INSERT 0x04 -#define TKEY_DELETE 0x05 -#define TKEY_HOME 0x06 -#define TKEY_END 0x07 -#define TKEY_PAGE_UP 0x08 -#define TKEY_PAGE_DOWN 0x09 - -#define TKEY_F1 0x0a -#define TKEY_F2 0x0b -#define TKEY_F3 0x0c -#define TKEY_F4 0x0d -#define TKEY_F5 0x0e -#define TKEY_F6 0x0f -#define TKEY_F7 0x10 -#define TKEY_F8 0x11 -#define TKEY_F9 0x12 -#define TKEY_F10 0x13 -#define TKEY_F11 0x14 -#define TKEY_F12 0x15 - struct terminal *terminal_alloc(const struct terminal_class *tc, void *softc); void terminal_maketty(struct terminal *tm, const char *fmt, ...); void terminal_set_winsize(struct terminal *tm, const struct winsize *size); void terminal_mute(struct terminal *tm, int yes); void terminal_input_char(struct terminal *tm, term_char_t c); void terminal_input_raw(struct terminal *tm, char c); -void terminal_input_special(struct terminal *tm, int s); +void terminal_input_special(struct terminal *tm, unsigned int k); /* Kernel console helper interface. */ extern const struct consdev_ops termcn_ops; Modified: user/ed/newcons/sys/teken/teken.c ============================================================================== --- user/ed/newcons/sys/teken/teken.c Tue Nov 10 17:41:49 2009 (r199149) +++ user/ed/newcons/sys/teken/teken.c Tue Nov 10 17:45:54 2009 (r199150) @@ -49,14 +49,15 @@ static FILE *df; #endif /* __FreeBSD__ && _KERNEL */ /* Private flags for t_stateflags. */ -#define TS_FIRSTDIGIT 0x01 /* First numeric digit in escape sequence. */ -#define TS_INSERT 0x02 /* Insert mode. */ -#define TS_AUTOWRAP 0x04 /* Autowrap. */ -#define TS_ORIGIN 0x08 /* Origin mode. */ -#define TS_WRAPPED 0x10 /* Next character should be printed on col 0. */ -#define TS_8BIT 0x20 /* UTF-8 disabled. */ -#define TS_CONS25 0x40 /* cons25 emulation. */ -#define TS_INSTRING 0x80 /* Inside string. */ +#define TS_FIRSTDIGIT 0x0001 /* First numeric digit in escape sequence. */ +#define TS_INSERT 0x0002 /* Insert mode. */ +#define TS_AUTOWRAP 0x0004 /* Autowrap. */ +#define TS_ORIGIN 0x0008 /* Origin mode. */ +#define TS_WRAPPED 0x0010 /* Next character should be printed on col 0. */ +#define TS_8BIT 0x0020 /* UTF-8 disabled. */ +#define TS_CONS25 0x0040 /* cons25 emulation. */ +#define TS_INSTRING 0x0080 /* Inside string. */ +#define TS_CURSORKEYS 0x0100 /* Cursor keys mode. */ /* Character that blanks a cell. */ #define BLANK ' ' @@ -479,4 +480,64 @@ teken_256to8(teken_color_t c) } } +static const char * const special_strings_cons25[] = { + [TKEY_UP] = "\x1B[A", [TKEY_DOWN] = "\x1B[B", + [TKEY_LEFT] = "\x1B[D", [TKEY_RIGHT] = "\x1B[C", + + [TKEY_INSERT] = "\x1B[L", [TKEY_DELETE] = "\x7F", + [TKEY_HOME] = "\x1B[H", [TKEY_END] = "\x1B[F", + [TKEY_PAGE_UP] = "\x1B[I", [TKEY_PAGE_DOWN] = "\x1B[G", + + [TKEY_F1] = "\x1B[M", [TKEY_F2] = "\x1B[N", + [TKEY_F3] = "\x1B[O", [TKEY_F4] = "\x1B[P", + [TKEY_F5] = "\x1B[Q", [TKEY_F6] = "\x1B[R", + [TKEY_F7] = "\x1B[S", [TKEY_F8] = "\x1B[T", + [TKEY_F9] = "\x1B[U", [TKEY_F10] = "\x1B[V", + [TKEY_F11] = "\x1B[W", [TKEY_F12] = "\x1B[X", +}; + +static const char * const special_strings_ckeys[] = { + [TKEY_UP] = "\x1BOA", [TKEY_DOWN] = "\x1BOB", + [TKEY_LEFT] = "\x1BOD", [TKEY_RIGHT] = "\x1BOC", + + [TKEY_HOME] = "\x1BOH", [TKEY_END] = "\x1BOF", +}; + +static const char * const special_strings_normal[] = { + [TKEY_UP] = "\x1B[A", [TKEY_DOWN] = "\x1B[B", + [TKEY_LEFT] = "\x1B[D", [TKEY_RIGHT] = "\x1B[C", + + [TKEY_INSERT] = "\x1B[2~", [TKEY_DELETE] = "\x1B[3~", + [TKEY_HOME] = "\x1B[H", [TKEY_END] = "\x1B[F", + [TKEY_PAGE_UP] = "\x1B[5~", [TKEY_PAGE_DOWN] = "\x1B[6~", + + [TKEY_F1] = "\x1BOP", [TKEY_F2] = "\x1BOQ", + [TKEY_F3] = "\x1BOR", [TKEY_F4] = "\x1BOS", + [TKEY_F5] = "\x1B[15~", [TKEY_F6] = "\x1B[17~", + [TKEY_F7] = "\x1B[18~", [TKEY_F8] = "\x1B[19~", + [TKEY_F9] = "\x1B[20~", [TKEY_F10] = "\x1B[21~", + [TKEY_F11] = "\x1B[23~", [TKEY_F12] = "\x1B[24~", +}; + +const char * +teken_get_sequence(teken_t *t, unsigned int k) +{ + + /* Cons25 mode. */ + if (t->t_stateflags & TS_CONS25 && + k < sizeof special_strings_cons25 / sizeof(char *)) + return (special_strings_cons25[k]); + + /* Cursor keys mode. */ + if (t->t_stateflags & TS_CURSORKEYS && + k < sizeof special_strings_ckeys / sizeof(char *)) + return (special_strings_ckeys[k]); + + /* Default xterm sequences. */ + if (k < sizeof special_strings_normal / sizeof(char *)) + return (special_strings_normal[k]); + + return (NULL); +} + #include "teken_state.h" Modified: user/ed/newcons/sys/teken/teken.h ============================================================================== --- user/ed/newcons/sys/teken/teken.h Tue Nov 10 17:41:49 2009 (r199149) +++ user/ed/newcons/sys/teken/teken.h Tue Nov 10 17:45:54 2009 (r199150) @@ -89,15 +89,14 @@ typedef void tf_fill_t(void *, const tek typedef void tf_copy_t(void *, const teken_rect_t *, const teken_pos_t *); typedef void tf_param_t(void *, int, unsigned int); #define TP_SHOWCURSOR 0 -#define TP_CURSORKEYS 1 -#define TP_KEYPADAPP 2 -#define TP_AUTOREPEAT 3 -#define TP_SWITCHVT 4 -#define TP_132COLS 5 -#define TP_SETBELLPD 6 +#define TP_KEYPADAPP 1 +#define TP_AUTOREPEAT 2 +#define TP_SWITCHVT 3 +#define TP_132COLS 4 +#define TP_SETBELLPD 5 #define TP_SETBELLPD_PITCH(pd) ((pd) >> 16) #define TP_SETBELLPD_DURATION(pd) ((pd) & 0xffff) -#define TP_MOUSE 7 +#define TP_MOUSE 6 typedef void tf_respond_t(void *, const void *, size_t); typedef struct { @@ -168,6 +167,33 @@ void teken_set_curattr(teken_t *, const void teken_set_defattr(teken_t *, const teken_attr_t *); void teken_set_winsize(teken_t *, const teken_pos_t *); +/* Key input escape sequences. */ +#define TKEY_UP 0x00 +#define TKEY_DOWN 0x01 +#define TKEY_LEFT 0x02 +#define TKEY_RIGHT 0x03 + +#define TKEY_INSERT 0x04 +#define TKEY_DELETE 0x05 +#define TKEY_HOME 0x06 +#define TKEY_END 0x07 +#define TKEY_PAGE_UP 0x08 +#define TKEY_PAGE_DOWN 0x09 + +#define TKEY_F1 0x0a +#define TKEY_F2 0x0b +#define TKEY_F3 0x0c +#define TKEY_F4 0x0d +#define TKEY_F5 0x0e +#define TKEY_F6 0x0f +#define TKEY_F7 0x10 +#define TKEY_F8 0x11 +#define TKEY_F9 0x12 +#define TKEY_F10 0x13 +#define TKEY_F11 0x14 +#define TKEY_F12 0x15 +const char *teken_get_sequence(teken_t *, unsigned int); + /* Legacy features. */ void teken_set_8bit(teken_t *); void teken_set_cons25(teken_t *); Modified: user/ed/newcons/sys/teken/teken_subr.h ============================================================================== --- user/ed/newcons/sys/teken/teken_subr.h Tue Nov 10 17:41:49 2009 (r199149) +++ user/ed/newcons/sys/teken/teken_subr.h Tue Nov 10 17:45:54 2009 (r199150) @@ -903,7 +903,7 @@ teken_subr_reset_dec_mode(teken_t *t, un switch (cmd) { case 1: /* Cursor keys mode. */ - teken_funcs_param(t, TP_CURSORKEYS, 0); + t->t_stateflags &= ~TS_CURSORKEYS; break; case 2: /* DECANM: ANSI/VT52 mode. */ teken_printf("DECRST VT52\n"); @@ -1052,7 +1052,7 @@ teken_subr_set_dec_mode(teken_t *t, unsi switch (cmd) { case 1: /* Cursor keys mode. */ - teken_funcs_param(t, TP_CURSORKEYS, 1); + t->t_stateflags |= TS_CURSORKEYS; break; case 2: /* DECANM: ANSI/VT52 mode. */ teken_printf("DECSET VT52\n"); From owner-svn-src-user@FreeBSD.ORG Wed Nov 11 00:46:55 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4223C106566C; Wed, 11 Nov 2009 00:46:55 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 187D08FC17; Wed, 11 Nov 2009 00:46:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAB0ksvB076929; Wed, 11 Nov 2009 00:46:54 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAB0ksZl076927; Wed, 11 Nov 2009 00:46:54 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911110046.nAB0ksZl076927@svn.freebsd.org> From: Kip Macy Date: Wed, 11 Nov 2009 00:46:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199161 - user/kmacy/releng_7_2_xen/sys/xen/xenbus X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2009 00:46:55 -0000 Author: kmacy Date: Wed Nov 11 00:46:54 2009 New Revision: 199161 URL: http://svn.freebsd.org/changeset/base/199161 Log: check for malloc failures Modified: user/kmacy/releng_7_2_xen/sys/xen/xenbus/xenbus_xs.c Modified: user/kmacy/releng_7_2_xen/sys/xen/xenbus/xenbus_xs.c ============================================================================== --- user/kmacy/releng_7_2_xen/sys/xen/xenbus/xenbus_xs.c Tue Nov 10 23:03:51 2009 (r199160) +++ user/kmacy/releng_7_2_xen/sys/xen/xenbus/xenbus_xs.c Wed Nov 11 00:46:54 2009 (r199161) @@ -332,8 +332,9 @@ join(const char *dir, const char *name) { char *buffer; - buffer = malloc(strlen(dir) + strlen("/") + strlen(name) + 1, - M_DEVBUF, M_WAITOK); + if ((buffer = malloc(strlen(dir) + strlen("/") + strlen(name) + 1, + M_DEVBUF, M_NOWAIT)) == NULL) + return (NULL); strcpy(buffer, dir); if (strcmp(name, "")) { @@ -379,6 +380,9 @@ xenbus_directory(struct xenbus_transacti int error; path = join(dir, node); + if (path == NULL) + return (ENOMEM); + error = xs_single(t, XS_DIRECTORY, path, &len, (void **) &strings); free(path, M_DEVBUF); if (error) @@ -562,8 +566,11 @@ xenbus_printf(struct xenbus_transaction #define PRINTF_BUFFER_SIZE 4096 char *printf_buffer; - printf_buffer = malloc(PRINTF_BUFFER_SIZE, M_DEVBUF, M_WAITOK); + printf_buffer = malloc(PRINTF_BUFFER_SIZE, M_DEVBUF, M_NOWAIT); + if (printf_buffer == NULL) + return (ENOMEM); + va_start(ap, fmt); ret = vsnprintf(printf_buffer, PRINTF_BUFFER_SIZE, fmt, ap); va_end(ap); @@ -789,7 +796,9 @@ xs_process_msg(enum xsd_sockmsg_type *ty char *body; int error; - msg = malloc(sizeof(*msg), M_DEVBUF, M_WAITOK); + if ((msg = malloc(sizeof(*msg), M_DEVBUF, M_NOWAIT)) == NULL) + return (ENOMEM); + mtx_lock(&xs_state.reply_lock); error = xb_read(&msg->hdr, sizeof(msg->hdr), &xs_state.reply_lock.lock_object); mtx_unlock(&xs_state.reply_lock); @@ -798,7 +807,11 @@ xs_process_msg(enum xsd_sockmsg_type *ty return (error); } - body = malloc(msg->hdr.len + 1, M_DEVBUF, M_WAITOK); + if ((body = malloc(msg->hdr.len + 1, M_DEVBUF, M_NOWAIT)) == NULL) { + free(msg, M_DEVBUF); + return (ENOMEM); + } + mtx_lock(&xs_state.reply_lock); error = xb_read(body, msg->hdr.len, &xs_state.reply_lock.lock_object); mtx_unlock(&xs_state.reply_lock); From owner-svn-src-user@FreeBSD.ORG Wed Nov 11 00:48:54 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D31B5106568B; Wed, 11 Nov 2009 00:48:54 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5ADDB8FC19; Wed, 11 Nov 2009 00:48:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAB0msfk076998; Wed, 11 Nov 2009 00:48:54 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAB0ms3w076996; Wed, 11 Nov 2009 00:48:54 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911110048.nAB0ms3w076996@svn.freebsd.org> From: Kip Macy Date: Wed, 11 Nov 2009 00:48:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199162 - user/kmacy/releng_7_2_xen/sys/i386/conf X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2009 00:48:54 -0000 Author: kmacy Date: Wed Nov 11 00:48:53 2009 New Revision: 199162 URL: http://svn.freebsd.org/changeset/base/199162 Log: disable SMP until has been validated Modified: user/kmacy/releng_7_2_xen/sys/i386/conf/XEN Modified: user/kmacy/releng_7_2_xen/sys/i386/conf/XEN ============================================================================== --- user/kmacy/releng_7_2_xen/sys/i386/conf/XEN Wed Nov 11 00:46:54 2009 (r199161) +++ user/kmacy/releng_7_2_xen/sys/i386/conf/XEN Wed Nov 11 00:48:53 2009 (r199162) @@ -86,8 +86,8 @@ options CPU_DISABLE_SSE # To make an SMP kernel, the next two lines are needed -options SMP # Symmetric MultiProcessor Kernel -device apic # I/O APIC +#options SMP # Symmetric MultiProcessor Kernel +#device apic # I/O APIC # CPU frequency control #device cpufreq From owner-svn-src-user@FreeBSD.ORG Wed Nov 11 01:10:17 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D1D9106568F; Wed, 11 Nov 2009 01:10:17 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6CF678FC08; Wed, 11 Nov 2009 01:10:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAB1AH95077697; Wed, 11 Nov 2009 01:10:17 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAB1AHcu077695; Wed, 11 Nov 2009 01:10:17 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911110110.nAB1AHcu077695@svn.freebsd.org> From: Kip Macy Date: Wed, 11 Nov 2009 01:10:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199163 - user/kmacy/releng_7_2_xen/sys/xen/evtchn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2009 01:10:17 -0000 Author: kmacy Date: Wed Nov 11 01:10:17 2009 New Revision: 199163 URL: http://svn.freebsd.org/changeset/base/199163 Log: don't hold spin lock across free Modified: user/kmacy/releng_7_2_xen/sys/xen/evtchn/evtchn_dev.c Modified: user/kmacy/releng_7_2_xen/sys/xen/evtchn/evtchn_dev.c ============================================================================== --- user/kmacy/releng_7_2_xen/sys/xen/evtchn/evtchn_dev.c Wed Nov 11 00:48:53 2009 (r199162) +++ user/kmacy/releng_7_2_xen/sys/xen/evtchn/evtchn_dev.c Wed Nov 11 01:10:17 2009 (r199163) @@ -304,11 +304,11 @@ evtchn_close(struct cdev *dev, int flag, { int i; - mtx_lock_spin(&lock); if (ring != NULL) { free(ring, M_DEVBUF); ring = NULL; } + mtx_lock_spin(&lock); for ( i = 0; i < NR_EVENT_CHANNELS; i++ ) if ( synch_test_and_clear_bit(i, &bound_ports[0]) ) mask_evtchn(i); From owner-svn-src-user@FreeBSD.ORG Wed Nov 11 01:11:08 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88D96106566C; Wed, 11 Nov 2009 01:11:08 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 784D18FC1A; Wed, 11 Nov 2009 01:11:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAB1B8k9077764; Wed, 11 Nov 2009 01:11:08 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAB1B8Bo077761; Wed, 11 Nov 2009 01:11:08 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911110111.nAB1B8Bo077761@svn.freebsd.org> From: Kip Macy Date: Wed, 11 Nov 2009 01:11:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199164 - in user/kmacy/releng_7_2_xen/sys/i386: include/xen xen X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2009 01:11:08 -0000 Author: kmacy Date: Wed Nov 11 01:11:08 2009 New Revision: 199164 URL: http://svn.freebsd.org/changeset/base/199164 Log: - update copyright - reduce verbosity of clock bumping Modified: user/kmacy/releng_7_2_xen/sys/i386/include/xen/xen_clock_util.h user/kmacy/releng_7_2_xen/sys/i386/xen/clock.c Modified: user/kmacy/releng_7_2_xen/sys/i386/include/xen/xen_clock_util.h ============================================================================== --- user/kmacy/releng_7_2_xen/sys/i386/include/xen/xen_clock_util.h Wed Nov 11 01:10:17 2009 (r199163) +++ user/kmacy/releng_7_2_xen/sys/i386/include/xen/xen_clock_util.h Wed Nov 11 01:11:08 2009 (r199164) @@ -11,8 +11,6 @@ * 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. - * 3. The name of the author may not 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 Modified: user/kmacy/releng_7_2_xen/sys/i386/xen/clock.c ============================================================================== --- user/kmacy/releng_7_2_xen/sys/i386/xen/clock.c Wed Nov 11 01:10:17 2009 (r199163) +++ user/kmacy/releng_7_2_xen/sys/i386/xen/clock.c Wed Nov 11 01:11:08 2009 (r199164) @@ -342,7 +342,8 @@ clkintr(void *arg) */ if (shadow_tv_version != HYPERVISOR_shared_info->wc_version) { - printf("[XEN] hypervisor wallclock nudged; nudging TOD.\n"); + if (bootverbose) + printf("[XEN] hypervisor wallclock nudged; nudging TOD.\n"); update_wallclock(); add_uptime_to_wallclock(); tc_setclock(&shadow_tv); From owner-svn-src-user@FreeBSD.ORG Wed Nov 11 02:25:28 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F338E106566B; Wed, 11 Nov 2009 02:25:27 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E201D8FC20; Wed, 11 Nov 2009 02:25:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAB2PRJ9079579; Wed, 11 Nov 2009 02:25:27 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAB2PR4v079575; Wed, 11 Nov 2009 02:25:27 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911110225.nAB2PR4v079575@svn.freebsd.org> From: Kip Macy Date: Wed, 11 Nov 2009 02:25:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199168 - in user/kmacy/releng_7_2_xen/sys/i386: i386 include xen X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2009 02:25:28 -0000 Author: kmacy Date: Wed Nov 11 02:25:27 2009 New Revision: 199168 URL: http://svn.freebsd.org/changeset/base/199168 Log: make xen kernel rely on normal interrupt flags Modified: user/kmacy/releng_7_2_xen/sys/i386/i386/vm_machdep.c user/kmacy/releng_7_2_xen/sys/i386/include/cpufunc.h user/kmacy/releng_7_2_xen/sys/i386/xen/xen_machdep.c Modified: user/kmacy/releng_7_2_xen/sys/i386/i386/vm_machdep.c ============================================================================== --- user/kmacy/releng_7_2_xen/sys/i386/i386/vm_machdep.c Wed Nov 11 02:07:01 2009 (r199167) +++ user/kmacy/releng_7_2_xen/sys/i386/i386/vm_machdep.c Wed Nov 11 02:25:27 2009 (r199168) @@ -268,14 +268,7 @@ cpu_fork(td1, p2, td2, flags) /* Setup to release spin count in fork_exit(). */ td2->td_md.md_spinlock_count = 1; - /* - * XXX XEN need to check on PSL_USER is handled - */ -#ifdef XEN - td2->td_md.md_saved_flags = 0; -#else td2->td_md.md_saved_flags = PSL_KERNEL | PSL_I; -#endif /* * Now, cpu_switch() can schedule the new process. * pcb_esp is loaded pointing to the cpu_switch() stack frame @@ -463,11 +456,7 @@ cpu_set_upcall(struct thread *td, struct /* Setup to release spin count in fork_exit(). */ td->td_md.md_spinlock_count = 1; -#ifdef XEN - td->td_md.md_saved_flags = 0; -#else td->td_md.md_saved_flags = PSL_KERNEL | PSL_I; -#endif } /* Modified: user/kmacy/releng_7_2_xen/sys/i386/include/cpufunc.h ============================================================================== --- user/kmacy/releng_7_2_xen/sys/i386/include/cpufunc.h Wed Nov 11 02:07:01 2009 (r199167) +++ user/kmacy/releng_7_2_xen/sys/i386/include/cpufunc.h Wed Nov 11 02:25:27 2009 (r199168) @@ -49,8 +49,8 @@ extern u_int xen_rcr2(void); extern void xen_load_cr3(u_int data); extern void xen_tlb_flush(void); extern void xen_invlpg(u_int addr); -extern int xen_save_and_cli(void); -extern void xen_restore_flags(u_int eflags); +extern void write_eflags(u_int eflags); +extern u_int read_eflags(void); #endif struct region_descriptor; @@ -337,7 +337,11 @@ ia32_pause(void) } static __inline u_int +#ifdef XEN +_read_eflags(void) +#else read_eflags(void) +#endif { u_int ef; @@ -379,7 +383,11 @@ wbinvd(void) } static __inline void +#ifdef XEN +_write_eflags(u_int ef) +#else write_eflags(u_int ef) +#endif { __asm __volatile("pushl %0; popfl" : : "r" (ef)); } @@ -683,23 +691,16 @@ intr_disable(void) { register_t eflags; -#ifdef XEN - eflags = xen_save_and_cli(); -#else eflags = read_eflags(); disable_intr(); -#endif + return (eflags); } static __inline void intr_restore(register_t eflags) { -#ifdef XEN - xen_restore_flags(eflags); -#else write_eflags(eflags); -#endif } #else /* !(__GNUCLIKE_ASM && __CC_SUPPORTS___INLINE) */ Modified: user/kmacy/releng_7_2_xen/sys/i386/xen/xen_machdep.c ============================================================================== --- user/kmacy/releng_7_2_xen/sys/i386/xen/xen_machdep.c Wed Nov 11 02:07:01 2009 (r199167) +++ user/kmacy/releng_7_2_xen/sys/i386/xen/xen_machdep.c Wed Nov 11 02:25:27 2009 (r199168) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -70,7 +71,6 @@ __FBSDID("$FreeBSD$"); #include #endif - #include @@ -343,25 +343,41 @@ xen_load_cr3(u_int val) PANIC_IF(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0); } -void -xen_restore_flags(u_int eflags) +static __inline u_int +rebp(void) { - if (eflags > 1) - eflags = ((eflags & PSL_I) == 0); + u_int data; - __restore_flags(eflags); + __asm __volatile("movl 4(%%ebp),%0" : "=r" (data)); + return (data); } -int -xen_save_and_cli(void) +u_int +read_eflags(void) { - int eflags; - - __save_and_cli(eflags); + vcpu_info_t *_vcpu; + u_int eflags; + + eflags = _read_eflags(); + _vcpu = &HYPERVISOR_shared_info->vcpu_info[smp_processor_id()]; + if (_vcpu->evtchn_upcall_mask) + eflags &= ~PSL_I; + return (eflags); } void +write_eflags(u_int eflags) +{ + u_int intr; + + CTR2(KTR_SPARE1, "%x xen_restore_flags eflags %x", rebp(), eflags); + intr = ((eflags & PSL_I) == 0); + __restore_flags(intr); + _write_eflags(eflags); +} + +void xen_cli(void) { __cli(); From owner-svn-src-user@FreeBSD.ORG Wed Nov 11 08:27:09 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F2AE61065695; Wed, 11 Nov 2009 08:27:09 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DEA648FC17; Wed, 11 Nov 2009 08:27:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAB8R9HD087289; Wed, 11 Nov 2009 08:27:09 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAB8R9Ke087275; Wed, 11 Nov 2009 08:27:09 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200911110827.nAB8R9Ke087275@svn.freebsd.org> From: Ed Schouten Date: Wed, 11 Nov 2009 08:27:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199172 - in user/ed/newcons: . contrib/ee crypto/openssh lib/libc/net lib/libc/nls lib/libc/stdio lib/libc/string sbin/camcontrol sbin/reboot secure/lib/libssh share/man/man5 share/zon... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2009 08:27:10 -0000 Author: ed Date: Wed Nov 11 08:27:09 2009 New Revision: 199172 URL: http://svn.freebsd.org/changeset/base/199172 Log: MFC. Added: user/ed/newcons/lib/libc/nls/ja_JP.UTF-8.msg - copied unchanged from r199171, head/lib/libc/nls/ja_JP.UTF-8.msg user/ed/newcons/lib/libc/nls/ja_JP.eucJP.msg - copied unchanged from r199171, head/lib/libc/nls/ja_JP.eucJP.msg user/ed/newcons/sys/dev/usb/input/atp.c - copied unchanged from r199171, head/sys/dev/usb/input/atp.c user/ed/newcons/sys/modules/usb/atp/ - copied from r199171, head/sys/modules/usb/atp/ Deleted: user/ed/newcons/usr.sbin/sysinstall/acpi.c user/ed/newcons/usr.sbin/sysinstall/acpidump.h user/ed/newcons/usr.sbin/sysinstall/biosmptable.c Modified: user/ed/newcons/UPDATING user/ed/newcons/contrib/ee/ee.c user/ed/newcons/crypto/openssh/ssh_namespace.h user/ed/newcons/lib/libc/net/gai_strerror.c user/ed/newcons/lib/libc/nls/C.msg user/ed/newcons/lib/libc/nls/Makefile.inc user/ed/newcons/sbin/camcontrol/camcontrol.8 user/ed/newcons/sbin/camcontrol/camcontrol.c user/ed/newcons/sbin/reboot/reboot.c user/ed/newcons/secure/lib/libssh/Makefile user/ed/newcons/share/man/man5/rc.conf.5 user/ed/newcons/share/zoneinfo/antarctica user/ed/newcons/sys/amd64/amd64/trap.c user/ed/newcons/sys/amd64/amd64/vm_machdep.c user/ed/newcons/sys/amd64/isa/isa_dma.c user/ed/newcons/sys/arm/arm/trap.c user/ed/newcons/sys/arm/arm/vm_machdep.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c user/ed/newcons/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c user/ed/newcons/sys/conf/NOTES user/ed/newcons/sys/conf/files user/ed/newcons/sys/dev/an/if_an.c user/ed/newcons/sys/dev/an/if_anreg.h user/ed/newcons/sys/dev/ata/ata-pci.h user/ed/newcons/sys/dev/ata/chipsets/ata-intel.c user/ed/newcons/sys/dev/bge/if_bge.c user/ed/newcons/sys/dev/fdc/fdc.c user/ed/newcons/sys/dev/ieee488/ibfoo.c user/ed/newcons/sys/dev/siis/siis.c user/ed/newcons/sys/dev/siis/siis.h user/ed/newcons/sys/dev/usb/input/uhid.c user/ed/newcons/sys/dev/usb/input/ukbd.c user/ed/newcons/sys/dev/usb/input/ums.c user/ed/newcons/sys/i386/i386/trap.c user/ed/newcons/sys/i386/i386/vm_machdep.c user/ed/newcons/sys/i386/isa/isa_dma.c user/ed/newcons/sys/ia64/ia64/trap.c user/ed/newcons/sys/ia64/ia64/vm_machdep.c user/ed/newcons/sys/kern/kern_sig.c user/ed/newcons/sys/kern/vfs_lookup.c user/ed/newcons/sys/mips/include/pcb.h user/ed/newcons/sys/mips/mips/machdep.c user/ed/newcons/sys/mips/mips/pmap.c user/ed/newcons/sys/mips/mips/trap.c user/ed/newcons/sys/mips/mips/vm_machdep.c user/ed/newcons/sys/modules/usb/Makefile user/ed/newcons/sys/net80211/ieee80211_ioctl.h user/ed/newcons/sys/netinet/ip_ipsec.c user/ed/newcons/sys/netinet/ip_ipsec.h user/ed/newcons/sys/netinet/ip_output.c user/ed/newcons/sys/netinet/ipfw/ip_dummynet.c user/ed/newcons/sys/powerpc/aim/mmu_oea64.c user/ed/newcons/sys/powerpc/aim/trap.c user/ed/newcons/sys/powerpc/aim/vm_machdep.c user/ed/newcons/sys/powerpc/booke/trap.c user/ed/newcons/sys/powerpc/booke/vm_machdep.c user/ed/newcons/sys/sparc64/include/pcb.h user/ed/newcons/sys/sparc64/sparc64/trap.c user/ed/newcons/sys/sparc64/sparc64/vm_machdep.c user/ed/newcons/sys/sun4v/sun4v/trap.c user/ed/newcons/sys/sun4v/sun4v/vm_machdep.c user/ed/newcons/sys/sys/proc.h user/ed/newcons/sys/sys/signalvar.h user/ed/newcons/sys/teken/teken_subr.h user/ed/newcons/tools/regression/lib/libutil/test-flopen.c user/ed/newcons/usr.sbin/sysinstall/Makefile user/ed/newcons/usr.sbin/sysinstall/dist.c user/ed/newcons/usr.sbin/sysinstall/install.c user/ed/newcons/usr.sbin/sysinstall/menus.c user/ed/newcons/usr.sbin/sysinstall/sysinstall.8 Directory Properties: user/ed/newcons/ (props changed) user/ed/newcons/lib/libc/stdio/asprintf.c (props changed) user/ed/newcons/lib/libc/string/ffsll.c (props changed) user/ed/newcons/lib/libc/string/flsll.c (props changed) user/ed/newcons/lib/libc/string/wcpcpy.c (props changed) user/ed/newcons/lib/libc/string/wcpncpy.c (props changed) user/ed/newcons/share/zoneinfo/ (props changed) user/ed/newcons/tools/regression/usr.bin/pkill/pgrep-_g.t (props changed) user/ed/newcons/tools/regression/usr.bin/pkill/pgrep-_s.t (props changed) user/ed/newcons/tools/regression/usr.bin/pkill/pkill-_g.t (props changed) user/ed/newcons/tools/tools/termcap/termcap.pl (props changed) user/ed/newcons/usr.sbin/dumpcis/cardinfo.h (props changed) user/ed/newcons/usr.sbin/dumpcis/cis.h (props changed) Modified: user/ed/newcons/UPDATING ============================================================================== --- user/ed/newcons/UPDATING Wed Nov 11 08:20:19 2009 (r199171) +++ user/ed/newcons/UPDATING Wed Nov 11 08:27:09 2009 (r199172) @@ -22,6 +22,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20091109: + The layout of the structure ieee80211req_scan_result has changed. + Applications that require wireless scan results (e.g. ifconfig(8)) + from net80211 need to be recompiled. + 20091025: The iwn(4) driver has been updated to support the 5000 and 5150 series. There's one kernel module for each firmware. Adding "device iwnfw" Modified: user/ed/newcons/contrib/ee/ee.c ============================================================================== --- user/ed/newcons/contrib/ee/ee.c Wed Nov 11 08:20:19 2009 (r199171) +++ user/ed/newcons/contrib/ee/ee.c Wed Nov 11 08:27:09 2009 (r199172) @@ -1989,7 +1989,7 @@ char *cmd_str; int number; int i; char *ptr; - char *direction = NULL; + char *direction = "d"; struct text *t_line; ptr = cmd_str; Modified: user/ed/newcons/crypto/openssh/ssh_namespace.h ============================================================================== --- user/ed/newcons/crypto/openssh/ssh_namespace.h Wed Nov 11 08:20:19 2009 (r199171) +++ user/ed/newcons/crypto/openssh/ssh_namespace.h Wed Nov 11 08:27:09 2009 (r199172) @@ -223,6 +223,8 @@ #define get_u32 ssh_get_u32 #define get_u64 ssh_get_u64 #define getrrsetbyname ssh_getrrsetbyname +#define glob ssh_glob +#define globfree ssh_globfree #define host_hash ssh_host_hash #define hostfile_read_key ssh_hostfile_read_key #define hpdelim ssh_hpdelim Modified: user/ed/newcons/lib/libc/net/gai_strerror.c ============================================================================== --- user/ed/newcons/lib/libc/net/gai_strerror.c Wed Nov 11 08:20:19 2009 (r199171) +++ user/ed/newcons/lib/libc/net/gai_strerror.c Wed Nov 11 08:27:09 2009 (r199172) @@ -30,7 +30,17 @@ #include __FBSDID("$FreeBSD$"); +#include "namespace.h" #include +#if defined(NLS) +#include +#include +#include +#include +#include +#include "reentrant.h" +#endif +#include "un-namespace.h" /* Entries EAI_ADDRFAMILY (1) and EAI_NODATA (7) are obsoleted, but left */ /* for backward compatibility with userland code prior to 2553bis-02 */ @@ -52,9 +62,57 @@ static const char *ai_errlist[] = { "Argument buffer overflow" /* EAI_OVERFLOW */ }; +#if defined(NLS) +static char gai_buf[NL_TEXTMAX]; +static once_t gai_init_once = ONCE_INITIALIZER; +static thread_key_t gai_key; +static int gai_keycreated = 0; + +static void +gai_keycreate(void) +{ + gai_keycreated = (thr_keycreate(&gai_key, free) == 0); +} +#endif + const char * gai_strerror(int ecode) { +#if defined(NLS) + nl_catd catd; + char *buf; + + if (thr_main() != 0) + buf = gai_buf; + else { + if (thr_once(&gai_init_once, gai_keycreate) != 0 || + !gai_keycreated) + goto thr_err; + if ((buf = thr_getspecific(gai_key)) == NULL) { + if ((buf = malloc(sizeof(gai_buf))) == NULL) + goto thr_err; + if (thr_setspecific(gai_key, buf) != 0) { + free(buf); + goto thr_err; + } + } + } + + catd = catopen("libc", NL_CAT_LOCALE); + if (ecode > 0 && ecode < EAI_MAX) + strlcpy(buf, catgets(catd, 3, ecode, ai_errlist[ecode]), + sizeof(gai_buf)); + else if (ecode == 0) + strlcpy(buf, catgets(catd, 3, NL_MSGMAX - 1, "Success"), + sizeof(gai_buf)); + else + strlcpy(buf, catgets(catd, 3, NL_MSGMAX, "Unknown error"), + sizeof(gai_buf)); + catclose(catd); + return buf; + +thr_err: +#endif if (ecode >= 0 && ecode < EAI_MAX) return ai_errlist[ecode]; return "Unknown error"; Modified: user/ed/newcons/lib/libc/nls/C.msg ============================================================================== --- user/ed/newcons/lib/libc/nls/C.msg Wed Nov 11 08:20:19 2009 (r199171) +++ user/ed/newcons/lib/libc/nls/C.msg Wed Nov 11 08:27:09 2009 (r199172) @@ -257,3 +257,39 @@ $ SIGUSR1 30 User defined signal 1 $ SIGUSR2 31 User defined signal 2 +$ +$ gai_strerror() support catalog +$ +$set 3 +$ 1 (obsolete) +1 Address family for hostname not supported +$ EAI_AGAIN +2 Temporary failure in name resolution +$ EAI_BADFLAGS +3 Invalid value for ai_flags +$ EAI_FAIL +4 Non-recoverable failure in name resolution +$ EAI_FAMILY +5 ai_family not supported +$ EAI_MEMORY +6 Memory allocation failure +$ 7 (obsolete) +7 No address associated with hostname +$ EAI_NONAME +8 hostname nor servname provided, or not known +$ EAI_SERVICE +9 servname not supported for ai_socktype +$ EAI_SOCKTYPE +10 ai_socktype not supported +$ EAI_SYSTEM +11 System error returned in errno +$ EAI_BADHINTS +12 Invalid value for hints +$ EAI_PROTOCOL +13 Resolved protocol is unknown +$ EAI_OVERFLOW +14 Argument buffer overflow +$ 0 +32766 Success +$ NL_MSGMAX +32767 Unknown error Modified: user/ed/newcons/lib/libc/nls/Makefile.inc ============================================================================== --- user/ed/newcons/lib/libc/nls/Makefile.inc Wed Nov 11 08:20:19 2009 (r199171) +++ user/ed/newcons/lib/libc/nls/Makefile.inc Wed Nov 11 08:27:09 2009 (r199172) @@ -23,6 +23,8 @@ NLS+= fr_FR.ISO8859-1 NLS+= gl_ES.ISO8859-1 NLS+= hu_HU.ISO8859-2 NLS+= it_IT.ISO8859-15 +NLS+= ja_JP.UTF-8 +NLS+= ja_JP.eucJP NLS+= ko_KR.UTF-8 NLS+= ko_KR.eucKR NLS+= mn_MN.UTF-8 Copied: user/ed/newcons/lib/libc/nls/ja_JP.UTF-8.msg (from r199171, head/lib/libc/nls/ja_JP.UTF-8.msg) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ed/newcons/lib/libc/nls/ja_JP.UTF-8.msg Wed Nov 11 08:27:09 2009 (r199172, copy of r199171, head/lib/libc/nls/ja_JP.UTF-8.msg) @@ -0,0 +1,295 @@ +$ $FreeBSD$ +$ +$ Message catalog for ja_JP.UTF-8 locale +$ +$ strerror() support catalog +$ +$set 1 +$ EPERM +1 險ア蜿ッ縺輔l縺ヲ縺縺ェ縺謫堺ス懊〒縺 +$ ENOENT +2 縺昴ョ繧医≧縺ェ繝輔ぃ繧、繝ォ縺セ縺溘ッ繝繧」繝ャ繧ッ繝医Μ縺ッ縺ゅj縺セ縺帙s +$ ESRCH +3 縺昴ョ繧医≧縺ェ繝励Ο繧サ繧ケ縺ッ縺ゅj縺セ縺帙s +$ EINTR +4 繧キ繧ケ繝繝繧ウ繝シ繝ォ縺御クュ譁ュ縺輔l縺セ縺励◆ +$ EIO +5 蜈・蜃コ蜉帙お繝ゥ繝シ縺ァ縺 +$ ENXIO +6 繝繝舌う繧ケ縺梧コ門y縺輔l縺ヲ縺縺セ縺帙s +$ E2BIG +7 蠑墓焚縺ョ繝ェ繧ケ繝医′髟キ縺吶℃縺セ縺 +$ ENOEXEC +8 辟。蜉ケ縺ェ螳溯。悟ス「蠑上〒縺 +$ EBADF +9 辟。蜉ケ縺ェ繝輔ぃ繧、繝ォ險倩ソー蟄舌〒縺 +$ ECHILD +10 蟄舌励Ο繧サ繧ケ縺後≠繧翫∪縺帙s +$ EDEADLK +11 繝ェ繧ス繝シ繧ケ繝繝繝峨Ο繝繧ッ繧貞屓驕ソ縺励∪縺励◆ +$ ENOMEM +12 繝。繝「繝ェ縺ョ蜑イ繧雁ス薙※縺後〒縺阪∪縺帙s +$ EACCES +13 繝代シ繝溘ャ繧キ繝ァ繝ウ縺梧拠邨カ縺輔l縺セ縺励◆ +$ EFAULT +14 辟。蜉ケ縺ェ繧「繝峨Ξ繧ケ縺ァ縺 +$ ENOTBLK +15 繝悶Ο繝繧ッ繝繝舌う繧ケ縺瑚ヲ∵アゅ&繧後※縺縺セ縺 +$ EBUSY +16 繝繝舌う繧ケ縺後ン繧ク繝シ迥カ諷九〒縺 +$ EEXIST +17 繝輔ぃ繧、繝ォ縺悟ュ伜惠縺励∪縺 +$ EXDEV +18 繝繝舌う繧ケ繧偵∪縺溘$繝ェ繝ウ繧ッ縺ァ縺 +$ ENODEV +19 繝繝舌う繧ケ縺悟ッセ蠢懊@縺ヲ縺ェ縺謫堺ス懊〒縺 +$ ENOTDIR +20 繝繧」繝ャ繧ッ繝医Μ縺ァ縺ッ縺ゅj縺セ縺帙s +$ EISDIR +21 繝繧」繝ャ繧ッ繝医Μ縺ァ縺 +$ EINVAL +22 辟。蜉ケ縺ェ蠑墓焚縺ァ縺 +$ ENFILE +23 繧キ繧ケ繝繝蜀縺ァ繧ェ繝シ繝励Φ縺輔l縺ヲ縺繧九ヵ繧。繧、繝ォ縺悟、壹☆縺弱∪縺 +$ EMFILE +24 繧ェ繝シ繝励Φ縺励※縺繧九ヵ繧。繧、繝ォ縺悟、壹☆縺弱∪縺 +$ ENOTTY +25 繝繝舌う繧ケ縺悟ッセ蠢懊@縺ヲ縺縺ェ縺 ioctl 縺ァ縺 +$ ETXTBSY +26 繝繧ュ繧ケ繝医ヵ繧。繧、繝ォ縺後ン繧ク繝シ迥カ諷九〒縺 +$ EFBIG +27 繝輔ぃ繧、繝ォ縺悟、ァ縺阪☆縺弱∪縺 +$ ENOSPC +28 繝繝舌う繧ケ縺ョ遨コ縺埼伜沺荳崎カウ縺ァ縺 +$ ESPIPE +29 辟。蜉ケ縺ェ繧キ繝シ繧ッ縺ァ縺 +$ EROFS +30 隱ュ縺ソ霎シ縺ソ蟆ら畑繝輔ぃ繧、繝ォ繧キ繧ケ繝繝縺ァ縺 +$ EMLINK +31 繝ェ繝ウ繧ッ謨ー縺悟、壹☆縺弱∪縺 +$ EPIPE +32 繝代う繝励′遐エ螢翫&繧後※縺セ縺励◆ +$ EDOM +33 謨ー蛟、蠑墓焚縺檎ッ蝗イ螟悶〒縺 +$ ERANGE +34 邨先棡縺悟、ァ縺埼℃縺弱∪縺 +$ EAGAIN, EWOULDBLOCK +35 繝ェ繧ス繝シ繧ケ縺御ク譎ら噪縺ォ蛻ゥ逕ィ縺ァ縺阪∪縺帙s +$ EINPROGRESS +36 謫堺ス懊′迴セ蝨ィ騾イ陦御クュ縺ァ縺 +$ EALREADY +37 謫堺ス懊ッ譌「縺ォ騾イ陦御クュ縺ァ縺 +$ ENOTSOCK +38 繧ス繧ア繝繝医〒縺ェ縺繧ゅョ縺ォ縺、縺縺ヲ繧ス繧ア繝繝域桃菴懊r陦後>縺セ縺励◆ +$ EDESTADDRREQ +39 螳帛医い繝峨Ξ繧ケ縺瑚ヲ∵アゅ&繧後※縺縺セ縺 +$ EMSGSIZE +40 繝。繝繧サ繝シ繧ク縺碁聞縺吶℃縺セ縺 +$ EPROTOTYPE +41 繧ス繧ア繝繝医′蟇セ蠢懊@縺ヲ縺縺ェ縺繝励Ο繝医さ繝ォ繧ソ繧、繝励〒縺 +$ ENOPROTOOPT +42 蛻ゥ逕ィ縺ァ縺阪↑縺繝励Ο繝医さ繝ォ縺ァ縺 +$ EPROTONOSUPPORT +43 蟇セ蠢懊@縺ヲ縺縺ェ縺繝励Ο繝医さ繝ォ縺ァ縺 +$ ESOCKTNOSUPPORT +44 蟇セ蠢懊@縺ヲ縺縺ェ縺繧ス繧ア繝繝医ち繧、繝励〒縺 +$ EOPNOTSUPP +45 蟇セ蠢懊@縺ヲ縺縺ェ縺謫堺ス懊〒縺 +$ EPFNOSUPPORT +46 蟇セ蠢懊@縺ヲ縺縺ェ縺繝励Ο繝医さ繝ォ繝輔ぃ繝溘Μ縺ァ縺 +$ EAFNOSUPPORT +47 繝励Ο繝医さ繝ォ繝輔ぃ繝溘Μ縺悟ッセ蠢懊@縺ヲ縺縺ェ縺繧「繝峨Ξ繧ケ繝輔ぃ繝溘Μ縺梧欠螳壹&繧後∪縺励◆ +$ EADDRINUSE +48 繧「繝峨Ξ繧ケ縺梧里縺ォ菴ソ逕ィ荳ュ縺ァ縺 +$ EADDRNOTAVAIL +49 隕∵アゅ&繧後◆繧「繝峨Ξ繧ケ繧貞牡繧雁ス薙※縺ァ縺阪∪縺帙s +$ ENETDOWN +50 繝阪ャ繝医Ρ繝シ繧ッ縺後ム繧ヲ繝ウ縺励※縺縺セ縺 +$ ENETUNREACH +51 繝阪ャ繝医Ρ繝シ繧ッ縺ォ蛻ー驕斐〒縺阪∪縺帙s +$ ENETRESET +52 繝ェ繧サ繝繝医↓繧医j繝阪ャ繝医Ρ繝シ繧ッ縺ョ謗・邯壹′螟ア繧上l縺セ縺励◆ +$ ECONNABORTED +53 繧ス繝輔ヨ繧ヲ繧ァ繧「縺ォ繧医▲縺ヲ謗・邯壹′蛻譁ュ縺輔l縺セ縺励◆ +$ ECONNRESET +54 謗・邯壹′騾壻ソ。逶ク謇九↓繧医▲縺ヲ繝ェ繧サ繝繝医&繧後∪縺励◆ +$ ENOBUFS +55 繝舌ャ繝輔ぃ縺ョ螳ケ驥丈ク崎カウ縺ァ縺 +$ EISCONN +56 繧ス繧ア繝繝医ッ譌「縺ォ謗・邯壹&繧後※縺縺セ縺 +$ ENOTCONN +57 繧ス繧ア繝繝医ッ謗・邯壹&繧後※縺縺セ縺帙s +$ ESHUTDOWN +58 繧ス繧ア繝繝医ョ繧キ繝」繝繝医ム繧ヲ繝ウ縺ョ蠕後〒騾∽ソ。縺後〒縺阪∪縺帙s +$ ETOOMANYREFS +59 蜃ヲ逅髯千阜繧定カ縺医k螟夐榊盾辣ァ縺ァ縺 +$ ETIMEDOUT +60 謫堺ス懊′繧ソ繧、繝繧「繧ヲ繝医@縺セ縺励◆ +$ ECONNREFUSED +61 謗・邯壹′諡堤オカ縺輔l縺セ縺励◆ +$ ELOOP +62 蜃ヲ逅髯千阜繧定カ縺医k繧キ繝ウ繝懊Μ繝繧ッ繝ェ繝ウ繧ッ繝ャ繝吶Ν縺ァ縺 +$ ENAMETOOLONG +63 繝輔ぃ繧、繝ォ蜷阪′髟キ縺吶℃縺セ縺 +$ EHOSTDOWN +64 繝帙せ繝医′繝繧ヲ繝ウ縺励※縺縺セ縺 +$ EHOSTUNREACH +65 繝帙せ繝医∈縺ョ邨瑚キッ縺後≠繧翫∪縺帙s +$ ENOTEMPTY +66 繝繧」繝ャ繧ッ繝医Μ縺檎ゥコ縺ァ縺ッ縺ゅj縺セ縺帙s +$ EPROCLIM +67 繝励Ο繧サ繧ケ縺悟、壹☆縺弱∪縺 +$ EUSERS +68 繝ヲ繝シ繧カ縺悟、壹☆縺弱∪縺 +$ EDQUOT +69 繝繧」繧ケ繧ッ繧ッ繧ゥ繝シ繧ソ縺瑚カ驕弱@縺セ縺励◆ +$ ESTALE +70 螟ア蜉ケ縺励◆ NFS 繝輔ぃ繧、繝ォ繝上Φ繝峨Ν縺ァ縺 +$ EREMOTE +71 繝代せ荳ュ縺ョ繝ェ繝「繝シ繝医ョ繝ャ繝吶Ν縺悟、壹☆縺弱∪縺 +$ EBADRPC +72 辟。蜉ケ縺ェ RPC 讒矩菴薙〒縺 +$ ERPCMISMATCH +73 RPC 繝舌シ繧ク繝ァ繝ウ縺碁俣驕輔▲縺ヲ縺縺セ縺 +$ EPROGUNAVAIL +74 RPC 繝励Ο繧ー繝ゥ繝縺悟茜逕ィ縺ァ縺阪∪縺帙s +$ EPROGMISMATCH +75 繝励Ο繧ー繝ゥ繝縺ョ繝舌シ繧ク繝ァ繝ウ縺悟粋縺」縺ヲ縺縺セ縺帙s +$ EPROCUNAVAIL +76 繝励Ο繧ー繝ゥ繝縺ァ縺ッ蛻ゥ逕ィ縺ァ縺阪↑縺 procedure 縺ァ縺 +$ ENOLCK +77 繝ュ繝繧ッ縺悟茜逕ィ縺ァ縺阪∪縺帙s +$ ENOSYS +78 髢「謨ー縺悟ョ溯」縺輔l縺ヲ縺縺セ縺帙s +$ EFTYPE +79 繝輔ぃ繧、繝ォ縺ョ蝙九∪縺溘ッ蠖「蠑上′荳埼←蛻縺ァ縺 +$ EAUTH +80 隱崎ィシ繧ィ繝ゥ繝シ縺ァ縺 +$ ENEEDAUTH +81 隱崎ィシ迚ゥ縺悟ソ隕√〒縺 +$ EIDRM +82 隴伜挨蟄舌ッ蜑企勁縺輔l縺セ縺励◆ +$ ENOMSG +83 隕∵アゅ&繧後◆蝙九ョ繝。繝繧サ繝シ繧ク縺後≠繧翫∪縺帙s +$ EOVERFLOW +84 繝繝シ繧ソ蝙九↓譬シ邏阪☆繧九↓縺ッ螟ァ縺阪☆縺弱k蛟、縺ァ縺 +$ ECANCELED +85 蜃ヲ逅縺後く繝」繝ウ繧サ繝ォ縺輔l縺セ縺励◆ +$ EILSEQ +86 荳肴ュ」縺ェ繝舌う繝亥励〒縺 +$ ENOATTR +87 縺昴ョ繧医≧縺ェ螻樊ァ縺ッ縺ゅj縺セ縺帙s +$ EDOOFUS +88 繝励Ο繧ー繝ゥ繝溘Φ繧ー繧ィ繝ゥ繝シ縺ァ縺 +$ EBADMSG +89 辟。蜉ケ縺ェ繝。繝繧サ繝シ繧ク縺ァ縺 +$ EMULTIHOP +90 繝槭Ν繝√帙ャ繝励′隧ヲ縺ソ繧峨l縺セ縺励◆ +$ ENOLINK +91 繝ェ繝ウ繧ッ縺悟譁ュ縺輔l縺ヲ縺縺セ縺 +$ EPROTO +92 繝励Ο繝医さ繝ォ繧ィ繝ゥ繝シ縺ァ縺 +$ ENOTCAPABLE +93 繧ア繝シ繝代ン繝ェ繝繧」縺御ク崎カウ縺ァ縺 +$ +$ strsignal() support catalog +$ +$set 2 +$ SIGHUP +1 繝上Φ繧ー繧「繝繝 +$ SIGINT +2 蜑イ繧願セシ縺ソ +$ SIGQUIT +3 荳ュ譁ュ +$ SIGILL +4 荳肴ュ」蜻ス莉、 +$ SIGTRAP +5 繝医Ξ繝シ繧ケ/BPT 繝医Λ繝繝 +$ SIGABRT +6 繧「繝懊シ繝医ヨ繝ゥ繝繝 +$ SIGEMT +7 EMT 繝医Λ繝繝 +$ SIGFPE +8 豬ョ蜍募ー乗焚轤ケ萓句、 +$ SIGKILL +9 Kill 縺輔l縺 +$ SIGBUS +10 繝舌せ繧ィ繝ゥ繝シ +$ SIGSEGV +11 繧サ繧ー繝。繝ウ繝繝シ繧キ繝ァ繝ウ驕募渚 +$ SIGSYS +12 蟄伜惠縺励↑縺繧キ繧ケ繝繝繧ウ繝シ繝ォ +$ SIGPIPE +13 繝代う繝礼エ螢 +$ SIGALRM +14 繧「繝ゥ繝シ繝繧ッ繝ュ繝繧ッ +$ SIGTERM +15 邨ゆコ +$ SIGURG +16 邱頑・蜈・蜃コ蜉帷憾豕 +$ SIGSTOP +17 荳譎ょ●豁「 (繧キ繧ー繝翫Ν) +$ SIGTSTP +18 荳譎ょ●豁「 +$ SIGCONT +19 邯咏カ +$ SIGCHLD +20 蟄舌励Ο繧サ繧ケ縺ョ邨ゆコ +$ SIGTTIN +21 荳譎ょ●豁「 (tty 蜈・蜉) +$ SIGTTOU +22 荳譎ょ●豁「 (tty 蜃コ蜉) +$ SIGIO +23 蜈・蜃コ蜉帛庄閭ス +$ SIGXCPU +24 CPU 譎る俣縺ョ蛻カ髯占カ驕 +$ SIGXFSZ +25 繝輔ぃ繧、繝ォ繧オ繧、繧コ縺ョ蛻カ髯占カ驕 +$ SIGVTALRM +26 莉ョ諠ウ繧ソ繧、繝槭ョ譛滄剞雜驕 +$ SIGPROF +27 繝励Ο繝輔ぃ繧、繝ォ繧ソ繧、繝槭ョ譛滄剞雜驕 +$ SIGWINCH +28 繧ヲ繧」繝ウ繝峨え繧オ繧、繧コ縺ョ螟牙喧 +$ SIGINFO +29 諠蝣ア隕∵ア +$ SIGUSR1 +30 繝ヲ繝シ繧カ螳夂セゥ繧キ繧ー繝翫Ν 1 +$ SIGUSR2 +31 繝ヲ繝シ繧カ螳夂セゥ繧キ繧ー繝翫Ν 2 +$ +$ gai_strerror() support catalog +$ +$set 3 +$ 1 (obsolete) +1 繝帙せ繝亥錐縺ョ繧「繝峨Ξ繧ケ繝輔ぃ繝溘Μ繝シ縺ッ繧オ繝昴シ繝医&繧後∪縺帙s +$ EAI_AGAIN +2 蜷榊燕隗」豎コ縺ァ縺ョ荳譎ら噪縺ェ螟ア謨 +$ EAI_BADFLAGS +3 ai_flags 縺ョ蛟、縺檎┌蜉ケ +$ EAI_FAIL +4 蜷榊燕隗」豎コ縺ァ縺ョ蝗槫セゥ荳崎ス縺ェ螟ア謨 +$ EAI_FAMILY +5 ai_family 縺ッ繧オ繝昴シ繝医&繧後∪縺帙s +$ EAI_MEMORY +6 繝。繝「繝ェ蜑イ繧雁ス薙※螟ア謨 +$ 7 (obsolete) +7 繝帙せ繝亥錐縺ォ蟇セ蠢懊☆繧九い繝峨Ξ繧ケ縺ッ縺ゅj縺セ縺帙s +$ EAI_NONAME +8 繝帙せ繝亥錐縺九し繝シ繝薙せ蜷阪′謖螳壹&繧後↑縺縲√∪縺溘ッ荳肴 +$ EAI_SERVICE +9 繧オ繝シ繝薙せ蜷阪ッ ai_socktype 縺ォ蟇セ縺励※繧オ繝昴シ繝医&繧後∪縺帙s +$ EAI_SOCKTYPE +10 ai_socktype 縺ッ繧オ繝昴シ繝医&繧後∪縺帙s +$ EAI_SYSTEM +11 繧キ繧ケ繝繝繧ィ繝ゥ繝シ縲‘rrno 蜿らァ +$ EAI_BADHINTS +12 hints 縺ョ蛟、縺檎┌蜉ケ +$ EAI_PROTOCOL +13 隗」豎コ縺輔l縺溘励Ο繝医さ繝ォ縺ッ荳肴弱〒縺 +$ EAI_OVERFLOW +14 蠑墓焚繝舌ャ繝輔ぃ繧ェ繝シ繝舌ヵ繝ュ繝シ +$ 0 +32766 謌仙粥 +$ NL_MSGMAX +32767 荳肴弱↑繧ィ繝ゥ繝シ Copied: user/ed/newcons/lib/libc/nls/ja_JP.eucJP.msg (from r199171, head/lib/libc/nls/ja_JP.eucJP.msg) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ed/newcons/lib/libc/nls/ja_JP.eucJP.msg Wed Nov 11 08:27:09 2009 (r199172, copy of r199171, head/lib/libc/nls/ja_JP.eucJP.msg) @@ -0,0 +1,295 @@ +$ $FreeBSD$ +$ +$ Message catalog for ja_JP.eucJP locale +$ +$ strerror() support catalog +$ +$set 1 +$ EPERM +1 オイト、オ、、ニ、、、ハ、、チ犲、ヌ、ケ +$ ENOENT +2 、ス、ホ、隍ヲ、ハ・ユ・。・、・、゙、ソ、マ・ヌ・」・・ッ・ネ・熙マ、「、熙゙、サ、 +$ ESRCH +3 、ス、ホ、隍ヲ、ハ・ラ・・サ・ケ、マ、「、熙゙、サ、 +$ EINTR +4 ・キ・ケ・ニ・爭ウ。シ・、ャテ貪ヌ、オ、、゙、キ、ソ +$ EIO +5 ニスミホマ・ィ・鬘シ、ヌ、ケ +$ ENXIO +6 ・ヌ・ミ・、・ケ、ャス猜、オ、、ニ、、、゙、サ、 +$ E2BIG +7 ーソ、ホ・・ケ・ネ、ャトケ、ケ、ョ、゙、ケ +$ ENOEXEC +8 フオク、ハシツケヤキチシー、ヌ、ケ +$ EBADF +9 フオク、ハ・ユ・。・、・オュスメサメ、ヌ、ケ +$ ECHILD +10 サメ・ラ・・サ・ケ、ャ、「、熙゙、サ、 +$ EDEADLK +11 ・・ス。シ・ケ・ヌ・テ・ノ・・テ・ッ、イネ、キ、゙、キ、ソ +$ ENOMEM +12 ・皈筵熙ホウ荀ナ、ニ、ャ、ヌ、ュ、゙、サ、 +$ EACCES +13 ・ム。シ・゚・テ・キ・逾、ャオタ荀オ、、゙、キ、ソ +$ EFAULT +14 フオク、ハ・「・ノ・・ケ、ヌ、ケ +$ ENOTBLK +15 ・ヨ・・テ・ッ・ヌ・ミ・、・ケ、ャヘラオ皃オ、、ニ、、、゙、ケ +$ EBUSY +16 ・ヌ・ミ・、・ケ、ャ・モ・ク。シセツヨ、ヌ、ケ +$ EEXIST +17 ・ユ・。・、・、ャツクコ゚、キ、゙、ケ +$ EXDEV +18 ・ヌ・ミ・、・ケ、、゙、ソ、ー・・・ッ、ヌ、ケ +$ ENODEV +19 ・ヌ・ミ・、・ケ、ャツミア、キ、ニ、ハ、、チ犲、ヌ、ケ +$ ENOTDIR +20 ・ヌ・」・・ッ・ネ・熙ヌ、マ、「、熙゙、サ、 +$ EISDIR +21 ・ヌ・」・・ッ・ネ・熙ヌ、ケ +$ EINVAL +22 フオク、ハーソ、ヌ、ケ +$ ENFILE +23 ・キ・ケ・ニ・猗筅ヌ・ェ。シ・ラ・、オ、、ニ、、、・ユ・。・、・、ャツソ、ケ、ョ、゙、ケ +$ EMFILE +24 ・ェ。シ・ラ・、キ、ニ、、、・ユ・。・、・、ャツソ、ケ、ョ、゙、ケ +$ ENOTTY +25 ・ヌ・ミ・、・ケ、ャツミア、キ、ニ、、、ハ、、 ioctl 、ヌ、ケ +$ ETXTBSY +26 ・ニ・ュ・ケ・ネ・ユ・。・、・、ャ・モ・ク。シセツヨ、ヌ、ケ +$ EFBIG +27 ・ユ・。・、・、ャツ遉ュ、ケ、ョ、゙、ケ +$ ENOSPC +28 ・ヌ・ミ・、・ケ、ホカ、ュホホー靄ヤツュ、ヌ、ケ +$ ESPIPE +29 フオク、ハ・キ。シ・ッ、ヌ、ケ +$ EROFS +30 ニノ、゚ケ、゚タヘム・ユ・。・、・・キ・ケ・ニ・爨ヌ、ケ +$ EMLINK +31 ・・・ッソ、ャツソ、ケ、ョ、゙、ケ +$ EPIPE +32 ・ム・、・ラ、ャヌヒイ、オ、、ニ、゙、キ、ソ +$ EDOM +33 ソテヘーソ、ャネマーマウー、ヌ、ケ +$ ERANGE +34 キイフ、ャツ遉ュイ皃ョ、゙、ケ +$ EAGAIN, EWOULDBLOCK +35 ・・ス。シ・ケ、ャーサナェ、ヒヘヘム、ヌ、ュ、゙、サ、 +$ EINPROGRESS +36 チ犲、ャクスコ゚ソハケヤテ讀ヌ、ケ +$ EALREADY +37 チ犲、マエ、ヒソハケヤテ讀ヌ、ケ +$ ENOTSOCK +38 ・ス・ア・テ・ネ、ヌ、ハ、、、筅ホ、ヒ、ト、、、ニ・ス・ア・テ・ネチ犲、ケヤ、、、゙、キ、ソ +$ EDESTADDRREQ +39 ークタ隘「・ノ・・ケ、ャヘラオ皃オ、、ニ、、、゙、ケ +$ EMSGSIZE +40 ・皈テ・サ。シ・ク、ャトケ、ケ、ョ、゙、ケ +$ EPROTOTYPE +41 ・ス・ア・テ・ネ、ャツミア、キ、ニ、、、ハ、、・ラ・・ネ・ウ・・ソ・、・ラ、ヌ、ケ +$ ENOPROTOOPT +42 ヘヘム、ヌ、ュ、ハ、、・ラ・・ネ・ウ・、ヌ、ケ +$ EPROTONOSUPPORT +43 ツミア、キ、ニ、、、ハ、、・ラ・・ネ・ウ・、ヌ、ケ +$ ESOCKTNOSUPPORT +44 ツミア、キ、ニ、、、ハ、、・ス・ア・テ・ネ・ソ・、・ラ、ヌ、ケ +$ EOPNOTSUPP +45 ツミア、キ、ニ、、、ハ、、チ犲、ヌ、ケ +$ EPFNOSUPPORT +46 ツミア、キ、ニ、、、ハ、、・ラ・・ネ・ウ・・ユ・。・゚・熙ヌ、ケ +$ EAFNOSUPPORT +47 ・ラ・・ネ・ウ・・ユ・。・゚・熙ャツミア、キ、ニ、、、ハ、、・「・ノ・・ケ・ユ・。・゚・熙ャサリト熙オ、、゙、キ、ソ +$ EADDRINUSE +48 ・「・ノ・・ケ、ャエ、ヒサネヘムテ讀ヌ、ケ +$ EADDRNOTAVAIL +49 ヘラオ皃オ、、ソ・「・ノ・・ケ、ウ荀ナ、ニ、ヌ、ュ、゙、サ、 +$ ENETDOWN +50 ・ヘ・テ・ネ・。シ・ッ、ャ・タ・ヲ・、キ、ニ、、、゙、ケ +$ ENETUNREACH +51 ・ヘ・テ・ネ・。シ・ッ、ヒナテ」、ヌ、ュ、゙、サ、 +$ ENETRESET +52 ・・サ・テ・ネ、ヒ、隍・ヘ・テ・ネ・。シ・ッ、ホタワツウ、ャシコ、、、゙、キ、ソ +$ ECONNABORTED +53 ・ス・ユ・ネ・ヲ・ァ・「、ヒ、隍テ、ニタワツウ、ャタレテヌ、オ、、゙、キ、ソ +$ ECONNRESET +54 タワツウ、ャトフソョチシ熙ヒ、隍テ、ニ・・サ・テ・ネ、オ、、゙、キ、ソ +$ ENOBUFS +55 ・ミ・テ・ユ・。、ホヘニホフノヤツュ、ヌ、ケ +$ EISCONN +56 ・ス・ア・テ・ネ、マエ、ヒタワツウ、オ、、ニ、、、゙、ケ +$ ENOTCONN +57 ・ス・ア・テ・ネ、マタワツウ、オ、、ニ、、、゙、サ、 +$ ESHUTDOWN +58 ・ス・ア・テ・ネ、ホ・キ・罕テ・ネ・タ・ヲ・、ホク螟ヌチソョ、ャ、ヌ、ュ、゙、サ、 +$ ETOOMANYREFS +59 ス靉クツウヲ、トカ、ィ、ツソスナサイセネ、ヌ、ケ +$ ETIMEDOUT +60 チ犲、ャ・ソ・、・爭「・ヲ・ネ、キ、゙、キ、ソ +$ ECONNREFUSED +61 タワツウ、ャオタ荀オ、、゙、キ、ソ +$ ELOOP +62 ス靉クツウヲ、トカ、ィ、・キ・・ワ・・テ・ッ・・・ッ・・ル・、ヌ、ケ +$ ENAMETOOLONG +63 ・ユ・。・、・フセ、ャトケ、ケ、ョ、゙、ケ +$ EHOSTDOWN +64 ・ロ・ケ・ネ、ャ・タ・ヲ・、キ、ニ、、、゙、ケ +$ EHOSTUNREACH +65 ・ロ・ケ・ネ、リ、ホキミマゥ、ャ、「、熙゙、サ、 +$ ENOTEMPTY +66 ・ヌ・」・・ッ・ネ・熙ャカ、ヌ、マ、「、熙゙、サ、 +$ EPROCLIM +67 ・ラ・・サ・ケ、ャツソ、ケ、ョ、゙、ケ +$ EUSERS +68 ・譯シ・カ、ャツソ、ケ、ョ、゙、ケ +$ EDQUOT +69 ・ヌ・」・ケ・ッ・ッ・ゥ。シ・ソ、ャトカイ皃キ、゙、キ、ソ +$ ESTALE +70 シコク、キ、ソ NFS ・ユ・。・、・・マ・・ノ・、ヌ、ケ +$ EREMOTE +71 ・ム・ケテ讀ホ・・筍シ・ネ、ホ・・ル・、ャツソ、ケ、ョ、゙、ケ +$ EBADRPC +72 フオク、ハ RPC ケスツ、ツホ、ヌ、ケ +$ ERPCMISMATCH +73 RPC ・ミ。シ・ク・逾、ャエヨー网テ、ニ、、、゙、ケ +$ EPROGUNAVAIL +74 RPC ・ラ・・ー・鬣爨ャヘヘム、ヌ、ュ、゙、サ、 +$ EPROGMISMATCH +75 ・ラ・・ー・鬣爨ホ・ミ。シ・ク・逾、ャケ遉テ、ニ、、、゙、サ、 +$ EPROCUNAVAIL +76 ・ラ・・ー・鬣爨ヌ、マヘヘム、ヌ、ュ、ハ、、 procedure 、ヌ、ケ +$ ENOLCK +77 ・・テ・ッ、ャヘヘム、ヌ、ュ、゙、サ、 +$ ENOSYS +78 エリソ、ャシツチ、オ、、ニ、、、゙、サ、 +$ EFTYPE +79 ・ユ・。・、・、ホキソ、゙、ソ、マキチシー、ャノヤナャタレ、ヌ、ケ +$ EAUTH +80 ヌァセレ・ィ・鬘シ、ヌ、ケ +$ ENEEDAUTH +81 ヌァセレハェ、ャノャヘラ、ヌ、ケ +$ EIDRM +82 シアハフサメ、マコス、オ、、゙、キ、ソ +$ ENOMSG +83 ヘラオ皃オ、、ソキソ、ホ・皈テ・サ。シ・ク、ャ、「、熙゙、サ、 +$ EOVERFLOW +84 ・ヌ。シ・ソキソ、ヒウハヌシ、ケ、、ヒ、マツ遉ュ、ケ、ョ、テヘ、ヌ、ケ +$ ECANCELED +85 ス靉、ャ・ュ・罕・サ・、オ、、゙、キ、ソ +$ EILSEQ +86 ノヤタオ、ハ・ミ・、・ネホ、ヌ、ケ +$ ENOATTR +87 、ス、ホ、隍ヲ、ハツータュ、マ、「、熙゙、サ、 +$ EDOOFUS +88 ・ラ・・ー・鬣゚・・ー・ィ・鬘シ、ヌ、ケ +$ EBADMSG +89 フオク、ハ・皈テ・サ。シ・ク、ヌ、ケ +$ EMULTIHOP +90 ・゙・・チ・ロ・テ・ラ、ャサ、゚、鬢、゙、キ、ソ +$ ENOLINK +91 ・・・ッ、ャタレテヌ、オ、、ニ、、、゙、ケ +$ EPROTO +92 ・ラ・・ネ・ウ・・ィ・鬘シ、ヌ、ケ +$ ENOTCAPABLE +93 ・ア。シ・ム・モ・・ニ・」、ャノヤツュ、ヌ、ケ +$ +$ strsignal() support catalog +$ +$set 2 +$ SIGHUP +1 ・マ・・ー・「・テ・ラ +$ SIGINT +2 ウ荀ケ、゚ +$ SIGQUIT +3 テ貪ヌ +$ SIGILL +4 ノヤタオフソホ +$ SIGTRAP +5 ・ネ・。シ・ケ/BPT ・ネ・鬣テ・ラ +$ SIGABRT +6 ・「・ワ。シ・ネ・ネ・鬣テ・ラ +$ SIGEMT +7 EMT ・ネ・鬣テ・ラ +$ SIGFPE +8 ノ簇ーセョソナタホ羌ー +$ SIGKILL +9 Kill 、オ、、ソ +$ SIGBUS +10 ・ミ・ケ・ィ・鬘シ +$ SIGSEGV +11 ・サ・ー・皈・ニ。シ・キ・逾ー翳ソ +$ SIGSYS +12 ツクコ゚、キ、ハ、、・キ・ケ・ニ・爭ウ。シ・ +$ SIGPIPE +13 ・ム・、・ラヌヒイ +$ SIGALRM +14 ・「・鬘シ・爭ッ・・テ・ッ +$ SIGTERM +15 スェホサ +$ SIGURG +16 カロオ゙ニスミホマセカキ +$ SIGSTOP +17 ーサト莉゚ (・キ・ー・ハ・) +$ SIGTSTP +18 ーサト莉゚ +$ SIGCONT +19 キムツウ +$ SIGCHLD +20 サメ・ラ・・サ・ケ、ホスェホサ +$ SIGTTIN +21 ーサト莉゚ (tty ニホマ) +$ SIGTTOU +22 ーサト莉゚ (tty スミホマ) +$ SIGIO +23 ニスミホマイトヌス +$ SIGXCPU +24 CPU サエヨ、ホタゥクツトカイ +$ SIGXFSZ +25 ・ユ・。・、・・オ・、・コ、ホタゥクツトカイ +$ SIGVTALRM +26 イセチロ・ソ・、・゙、ホエクツトカイ +$ SIGPROF +27 ・ラ・・ユ・。・、・・ソ・、・゙、ホエクツトカイ +$ SIGWINCH +28 ・ヲ・」・・ノ・ヲ・オ・、・コ、ホハムイス +$ SIGINFO +29 セハヘラオ +$ SIGUSR1 +30 ・譯シ・カトオチ・キ・ー・ハ・ 1 +$ SIGUSR2 +31 ・譯シ・カトオチ・キ・ー・ハ・ 2 +$ +$ gai_strerror() support catalog +$ +$set 3 +$ 1 (obsolete) +1 ・ロ・ケ・ネフセ、ホ・「・ノ・・ケ・ユ・。・゚・遙シ、マ・オ・ン。シ・ネ、オ、、゙、サ、 +$ EAI_AGAIN +2 フセチーイキ隍ヌ、ホーサナェ、ハシコヌヤ +$ EAI_BADFLAGS +3 ai_flags 、ホテヘ、ャフオク +$ EAI_FAIL +4 フセチーイキ隍ヌ、ホイノノヤヌス、ハシコヌヤ +$ EAI_FAMILY +5 ai_family 、マ・オ・ン。シ・ネ、オ、、゙、サ、 +$ EAI_MEMORY +6 ・皈筵ウ荀ナ、ニシコヌヤ +$ 7 (obsolete) +7 ・ロ・ケ・ネフセ、ヒツミア、ケ、・「・ノ・・ケ、マ、「、熙゙、サ、 +$ EAI_NONAME +8 ・ロ・ケ・ネフセ、ォ・オ。シ・モ・ケフセ、ャサリト熙オ、、ハ、、。「、゙、ソ、マノヤフタ +$ EAI_SERVICE +9 ・オ。シ・モ・ケフセ、マ ai_socktype 、ヒツミ、キ、ニ・オ・ン。シ・ネ、オ、、゙、サ、 +$ EAI_SOCKTYPE +10 ai_socktype 、マ・オ・ン。シ・ネ、オ、、゙、サ、 +$ EAI_SYSTEM +11 ・キ・ケ・ニ・爭ィ・鬘シ。「errno サイセネ +$ EAI_BADHINTS +12 hints 、ホテヘ、ャフオク +$ EAI_PROTOCOL +13 イキ隍オ、、ソ・ラ・・ネ・ウ・、マノヤフタ、ヌ、ケ +$ EAI_OVERFLOW +14 ーソ・ミ・テ・ユ・。・ェ。シ・ミ・ユ・。シ +$ 0 +32766 タョク +$ NL_MSGMAX +32767 ノヤフタ、ハ・ィ・鬘シ Modified: user/ed/newcons/sbin/camcontrol/camcontrol.8 ============================================================================== --- user/ed/newcons/sbin/camcontrol/camcontrol.8 Wed Nov 11 08:20:19 2009 (r199171) +++ user/ed/newcons/sbin/camcontrol/camcontrol.8 Wed Nov 11 08:27:09 2009 (r199172) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 4, 2009 +.Dd November 9, 2009 .Dt CAMCONTROL 8 .Os .Sh NAME @@ -165,6 +165,20 @@ .Op Fl w .Op Fl y .Nm +.Ic idle +.Op device id +.Op generic args +.Op Fl t Ar time +.Nm +.Ic standby +.Op device id +.Op generic args +.Op Fl t Ar time +.Nm +.Ic sleep +.Op device id +.Op generic args +.Nm .Ic help .Sh DESCRIPTION The @@ -821,6 +835,15 @@ The user will not be asked about the timeout if a timeout is specified on the command line. .El +.It Ic idle +Put ATA device into IDLE state. Optional parameter specifies automatic +idle timer value in seconds. +.It Ic standby +Put ATA device into STANDBY state. Optional parameter specifies automatic +standby timer value in seconds. +.It Ic sleep +Put ATA device into SLEEP state. Note that the only way get device out of +this state may be reset. .It Ic help Print out verbose usage information. .El Modified: user/ed/newcons/sbin/camcontrol/camcontrol.c ============================================================================== --- user/ed/newcons/sbin/camcontrol/camcontrol.c Wed Nov 11 08:20:19 2009 (r199171) +++ user/ed/newcons/sbin/camcontrol/camcontrol.c Wed Nov 11 08:27:09 2009 (r199172) @@ -74,7 +74,10 @@ typedef enum { CAM_CMD_DETACH = 0x00000010, CAM_CMD_REPORTLUNS = 0x00000011, CAM_CMD_READCAP = 0x00000012, - CAM_CMD_IDENTIFY = 0x00000013 + CAM_CMD_IDENTIFY = 0x00000013, + CAM_CMD_IDLE = 0x00000014, + CAM_CMD_STANDBY = 0x00000015, + CAM_CMD_SLEEP = 0x00000016 } cam_cmdmask; typedef enum { @@ -154,6 +157,9 @@ struct camcontrol_opts option_table[] = {"rate", CAM_CMD_RATE, CAM_ARG_NONE, negotiate_opts}, {"debug", CAM_CMD_DEBUG, CAM_ARG_NONE, "IPTSXc"}, {"format", CAM_CMD_FORMAT, CAM_ARG_NONE, "qrwy"}, + {"idle", CAM_CMD_IDLE, CAM_ARG_NONE, "t:"}, + {"standby", CAM_CMD_STANDBY, CAM_ARG_NONE, "t:"}, + {"sleep", CAM_CMD_SLEEP, CAM_ARG_NONE, ""}, #endif /* MINIMALISTIC */ {"help", CAM_CMD_USAGE, CAM_ARG_NONE, NULL}, {"-?", CAM_CMD_USAGE, CAM_ARG_NONE, NULL}, @@ -217,6 +223,8 @@ static int scsireportluns(struct cam_dev char *combinedopt, int retry_count, int timeout); static int scsireadcapacity(struct cam_device *device, int argc, char **argv, char *combinedopt, int retry_count, int timeout); +static int atapm(struct cam_device *device, int argc, char **argv, + char *combinedopt, int retry_count, int timeout); #endif /* MINIMALISTIC */ camcontrol_optret @@ -4128,6 +4136,91 @@ bailout: return (retval); } +static int +atapm(struct cam_device *device, int argc, char **argv, + char *combinedopt, int retry_count, int timeout) +{ + union ccb *ccb; + int retval = 0; + int t = -1; + int c; + u_char cmd, sc; + + ccb = cam_getccb(device); + + if (ccb == NULL) { + warnx("%s: error allocating ccb", __func__); + return (1); + } + + while ((c = getopt(argc, argv, combinedopt)) != -1) { + switch (c) { + case 't': + t = atoi(optarg); + break; + default: + break; + } + } + if (strcmp(argv[1], "idle") == 0) { + if (t == -1) + cmd = ATA_IDLE_IMMEDIATE; + else + cmd = ATA_IDLE_CMD; + } else if (strcmp(argv[1], "standby") == 0) { + if (t == -1) + cmd = ATA_STANDBY_IMMEDIATE; + else + cmd = ATA_STANDBY_CMD; + } else { + cmd = ATA_SLEEP; + t = -1; + } + if (t < 0) + sc = 0; + else if (t <= (240 * 5)) + sc = t / 5; + else if (t <= (11 * 30 * 60)) + sc = t / (30 * 60) + 241; + else + sc = 253; + cam_fill_ataio(&ccb->ataio, + retry_count, + NULL, + /*flags*/CAM_DIR_NONE, + MSG_SIMPLE_Q_TAG, + /*data_ptr*/NULL, + /*dxfer_len*/0, + timeout ? timeout : 30 * 1000); + ata_28bit_cmd(&ccb->ataio, cmd, 0, 0, sc); + + /* Disable freezing the device queue */ + ccb->ccb_h.flags |= CAM_DEV_QFRZDIS; + + if (arglist & CAM_ARG_ERR_RECOVER) + ccb->ccb_h.flags |= CAM_PASS_ERR_RECOVER; + + if (cam_send_ccb(device, ccb) < 0) { + warn("error sending command"); + + if (arglist & CAM_ARG_VERBOSE) + cam_error_print(device, ccb, CAM_ESF_ALL, + CAM_EPF_ALL, stderr); + + retval = 1; + goto bailout; + } + + if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + cam_error_print(device, ccb, CAM_ESF_ALL, CAM_EPF_ALL, stderr); + retval = 1; + goto bailout; + } +bailout: + cam_freeccb(ccb); + return (retval); +} + #endif /* MINIMALISTIC */ void @@ -4166,6 +4259,9 @@ usage(int verbose) " [-R syncrate][-v][-T ]\n" " [-U][-W bus_width]\n" " camcontrol format [dev_id][generic args][-q][-r][-w][-y]\n" +" camcontrol idle [dev_id][generic args][-t time]\n" +" camcontrol standby [dev_id][generic args][-t time]\n" +" camcontrol sleep [dev_id][generic args]\n" #endif /* MINIMALISTIC */ " camcontrol help\n"); if (!verbose) @@ -4193,6 +4289,9 @@ usage(int verbose) "tags report or set the number of transaction slots for a device\n" "negotiate report or set device negotiation parameters\n" "format send the SCSI FORMAT UNIT command to the named device\n" +"idle send the ATA IDLE command to the named device\n" +"standby send the ATA STANDBY command to the named device\n" +"sleep send the ATA SLEEP command to the named device\n" "help this message\n" "Device Identifiers:\n" "bus:target specify the bus and target, lun defaults to 0\n" @@ -4259,7 +4358,9 @@ usage(int verbose) "-q be quiet, don't print status messages\n" "-r run in report only mode\n" "-w don't send immediate format command\n" -"-y don't ask any questions\n"); +"-y don't ask any questions\n" +"idle/standby arguments:\n" +"-t number of seconds before respective state.\n"); #endif /* MINIMALISTIC */ } @@ -4555,6 +4656,13 @@ main(int argc, char **argv) combinedopt, retry_count, timeout); break; + case CAM_CMD_IDLE: + case CAM_CMD_STANDBY: + case CAM_CMD_SLEEP: + error = atapm(cam_dev, argc, argv, + combinedopt, retry_count, + timeout); + break; #endif /* MINIMALISTIC */ case CAM_CMD_USAGE: usage(1); Modified: user/ed/newcons/sbin/reboot/reboot.c ============================================================================== --- user/ed/newcons/sbin/reboot/reboot.c Wed Nov 11 08:20:19 2009 (r199171) +++ user/ed/newcons/sbin/reboot/reboot.c Wed Nov 11 08:27:09 2009 (r199172) @@ -216,10 +216,12 @@ restart: } static void -usage() +usage(void) { - (void)fprintf(stderr, "usage: %s [-%slnpq] [-k kernel]\n", - getprogname(), dohalt ? "" : "d"); + + (void)fprintf(stderr, dohalt ? + "usage: halt [-lnpq] [-k kernel]\n" : + "usage: reboot [-dlnpq] [-k kernel]\n"); exit(1); } Modified: user/ed/newcons/secure/lib/libssh/Makefile ============================================================================== --- user/ed/newcons/secure/lib/libssh/Makefile Wed Nov 11 08:20:19 2009 (r199171) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Wed Nov 11 21:07:23 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6DFCB106566C; Wed, 11 Nov 2009 21:07:23 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5D6788FC22; Wed, 11 Nov 2009 21:07:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nABL7NSi006988; Wed, 11 Nov 2009 21:07:23 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nABL7NOS006986; Wed, 11 Nov 2009 21:07:23 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200911112107.nABL7NOS006986@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 11 Nov 2009 21:07:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199199 - user/edwin/locale/share/timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2009 21:07:23 -0000 Author: edwin Date: Wed Nov 11 21:07:22 2009 New Revision: 199199 URL: http://svn.freebsd.org/changeset/base/199199 Log: MFC of 199179: r199179 | ume | 2009-11-11 22:24:02 +1100 (Wed, 11 Nov 2009) | 7 lines Add unit to the short month names for Japanese locales. Without unit, the output of the application like ls(1) is complicated. Modified: user/edwin/locale/share/timedef/ja_JP.unicode Modified: user/edwin/locale/share/timedef/ja_JP.unicode ============================================================================== --- user/edwin/locale/share/timedef/ja_JP.unicode Wed Nov 11 20:29:40 2009 (r199198) +++ user/edwin/locale/share/timedef/ja_JP.unicode Wed Nov 11 21:07:22 2009 (r199199) @@ -4,18 +4,18 @@ # WARNING: empty lines are essential too # # Short month names - - - - - - - - - - - - + + + + + + + + + + + + # # Long month names (as in a date) # From owner-svn-src-user@FreeBSD.ORG Wed Nov 11 21:18:27 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD3D7106568B; Wed, 11 Nov 2009 21:18:27 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A0EE48FC12; Wed, 11 Nov 2009 21:18:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nABLIRS6007381; Wed, 11 Nov 2009 21:18:27 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nABLIR1r007376; Wed, 11 Nov 2009 21:18:27 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200911112118.nABLIR1r007376@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 11 Nov 2009 21:18:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199200 - user/edwin/locale/share/timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2009 21:18:27 -0000 Author: edwin Date: Wed Nov 11 21:18:27 2009 New Revision: 199200 URL: http://svn.freebsd.org/changeset/base/199200 Log: Changed output due to r199199 Modified: user/edwin/locale/share/timedef/ja_JP.SJIS.src user/edwin/locale/share/timedef/ja_JP.UTF-8.src user/edwin/locale/share/timedef/ja_JP.eucJP.src Modified: user/edwin/locale/share/timedef/ja_JP.SJIS.src ============================================================================== --- user/edwin/locale/share/timedef/ja_JP.SJIS.src Wed Nov 11 21:07:22 2009 (r199199) +++ user/edwin/locale/share/timedef/ja_JP.SJIS.src Wed Nov 11 21:18:27 2009 (r199200) @@ -3,24 +3,24 @@ # utility. All changes to this file will be lost. # The source of this file was ja_JP.unicode # -# $FreeBSD: user/edwin/locale/share/timedef/ja_JP.unicode 197249 2009-09-16 08:38:47Z edwin $ +# $FreeBSD: user/edwin/locale/share/timedef/ja_JP.unicode 199199 2009-11-11 21:07:22Z edwin $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too # # Short month names - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -11 -12 + 1月 + 2月 + 3月 + 4月 + 5月 + 6月 + 7月 + 8月 + 9月 +10月 +11月 +12月 # # Long month names (as in a date) # Modified: user/edwin/locale/share/timedef/ja_JP.UTF-8.src ============================================================================== --- user/edwin/locale/share/timedef/ja_JP.UTF-8.src Wed Nov 11 21:07:22 2009 (r199199) +++ user/edwin/locale/share/timedef/ja_JP.UTF-8.src Wed Nov 11 21:18:27 2009 (r199200) @@ -3,24 +3,24 @@ # utility. All changes to this file will be lost. # The source of this file was ja_JP.unicode # -# $FreeBSD: user/edwin/locale/share/timedef/ja_JP.unicode 197249 2009-09-16 08:38:47Z edwin $ +# $FreeBSD: user/edwin/locale/share/timedef/ja_JP.unicode 199199 2009-11-11 21:07:22Z edwin $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too # # Short month names - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -11 -12 + 1譛 + 2譛 + 3譛 + 4譛 + 5譛 + 6譛 + 7譛 + 8譛 + 9譛 +10譛 +11譛 +12譛 # # Long month names (as in a date) # Modified: user/edwin/locale/share/timedef/ja_JP.eucJP.src ============================================================================== --- user/edwin/locale/share/timedef/ja_JP.eucJP.src Wed Nov 11 21:07:22 2009 (r199199) +++ user/edwin/locale/share/timedef/ja_JP.eucJP.src Wed Nov 11 21:18:27 2009 (r199200) @@ -3,24 +3,24 @@ # utility. All changes to this file will be lost. # The source of this file was ja_JP.unicode # -# $FreeBSD: user/edwin/locale/share/timedef/ja_JP.unicode 197249 2009-09-16 08:38:47Z edwin $ +# $FreeBSD: user/edwin/locale/share/timedef/ja_JP.unicode 199199 2009-11-11 21:07:22Z edwin $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too # # Short month names - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -11 -12 + 1キ + 2キ + 3キ + 4キ + 5キ + 6キ + 7キ + 8キ + 9キ +10キ +11キ +12キ # # Long month names (as in a date) # From owner-svn-src-user@FreeBSD.ORG Fri Nov 13 13:08:35 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 06AD01065679; Fri, 13 Nov 2009 13:08:35 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E4DF68FC18; Fri, 13 Nov 2009 13:08:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nADD8Y9d067070; Fri, 13 Nov 2009 13:08:34 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nADD8YtR067038; Fri, 13 Nov 2009 13:08:34 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200911131308.nADD8YtR067038@svn.freebsd.org> From: Ed Schouten Date: Fri, 13 Nov 2009 13:08:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199254 - in user/ed/newcons: . bin/sh etc etc/etc.ia64 etc/etc.pc98 etc/root lib/libc/locale lib/libc/net lib/libc/nls lib/libpam/modules/pam_unix release/picobsd/floppy.tree/etc relea... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Nov 2009 13:08:35 -0000 Author: ed Date: Fri Nov 13 13:08:34 2009 New Revision: 199254 URL: http://svn.freebsd.org/changeset/base/199254 Log: MFC at r199252. Added: user/ed/newcons/etc/etc.pc98/ - copied from r199252, head/etc/etc.pc98/ user/ed/newcons/sys/libkern/inet_aton.c - copied unchanged from r199252, head/sys/libkern/inet_aton.c user/ed/newcons/tools/regression/lib/libutil/test-pidfile.c - copied unchanged from r199252, head/tools/regression/lib/libutil/test-pidfile.c Modified: user/ed/newcons/UPDATING user/ed/newcons/bin/sh/trap.c user/ed/newcons/etc/Makefile user/ed/newcons/etc/etc.ia64/ttys user/ed/newcons/etc/root/dot.profile user/ed/newcons/lib/libc/locale/isblank.3 user/ed/newcons/lib/libc/locale/isgraph.3 user/ed/newcons/lib/libc/locale/isprint.3 user/ed/newcons/lib/libc/net/getnameinfo.c user/ed/newcons/lib/libc/net/ip6opt.c user/ed/newcons/lib/libc/nls/nl_NL.ISO8859-1.msg user/ed/newcons/lib/libpam/modules/pam_unix/pam_unix.8 user/ed/newcons/release/picobsd/floppy.tree/etc/ttys user/ed/newcons/release/picobsd/tinyware/oinit/oinit.c user/ed/newcons/sbin/mount/mount.8 user/ed/newcons/share/man/man4/snd_hda.4 user/ed/newcons/share/misc/organization.dot user/ed/newcons/share/skel/dot.profile user/ed/newcons/share/timedef/ja_JP.SJIS.src user/ed/newcons/share/timedef/ja_JP.UTF-8.src user/ed/newcons/share/timedef/ja_JP.eucJP.src user/ed/newcons/sys/amd64/amd64/initcpu.c user/ed/newcons/sys/amd64/amd64/pmap.c user/ed/newcons/sys/boot/common/Makefile.inc user/ed/newcons/sys/boot/common/boot.c user/ed/newcons/sys/boot/uboot/lib/glue.c user/ed/newcons/sys/cam/ata/ata_all.c user/ed/newcons/sys/cam/ata/ata_all.h user/ed/newcons/sys/cam/ata/ata_da.c user/ed/newcons/sys/cam/ata/ata_xpt.c user/ed/newcons/sys/cam/cam.c user/ed/newcons/sys/cam/cam_ccb.h user/ed/newcons/sys/cam/cam_xpt.c user/ed/newcons/sys/cam/cam_xpt_internal.h user/ed/newcons/sys/cam/scsi/scsi_xpt.c user/ed/newcons/sys/cddl/boot/zfs/zfssubr.c user/ed/newcons/sys/conf/NOTES user/ed/newcons/sys/conf/files user/ed/newcons/sys/conf/options user/ed/newcons/sys/contrib/rdma/krping/krping.c user/ed/newcons/sys/dev/ahci/ahci.c user/ed/newcons/sys/dev/bwi/if_bwi.c user/ed/newcons/sys/dev/bwi/if_bwivar.h user/ed/newcons/sys/dev/cxgb/common/cxgb_ael1002.c user/ed/newcons/sys/dev/cxgb/common/cxgb_aq100x.c user/ed/newcons/sys/dev/cxgb/common/cxgb_xgmac.c user/ed/newcons/sys/dev/cxgb/cxgb_main.c user/ed/newcons/sys/dev/dpms/dpms.c user/ed/newcons/sys/dev/e1000/if_igb.c user/ed/newcons/sys/dev/fb/vesa.c user/ed/newcons/sys/dev/fb/vgareg.h user/ed/newcons/sys/dev/pci/vga_pci.c user/ed/newcons/sys/dev/siis/siis.c user/ed/newcons/sys/dev/syscons/scterm-teken.c user/ed/newcons/sys/fs/nfsclient/nfs_clvnops.c user/ed/newcons/sys/geom/part/g_part_gpt.c user/ed/newcons/sys/i386/i386/identcpu.c user/ed/newcons/sys/i386/i386/initcpu.c user/ed/newcons/sys/i386/i386/pmap.c user/ed/newcons/sys/i386/xen/pmap.c user/ed/newcons/sys/isa/vga_isa.c user/ed/newcons/sys/kern/subr_bus.c user/ed/newcons/sys/kern/vfs_default.c user/ed/newcons/sys/kern/vfs_mount.c user/ed/newcons/sys/net80211/ieee80211_action.c user/ed/newcons/sys/net80211/ieee80211_proto.h user/ed/newcons/sys/netinet/in.h user/ed/newcons/sys/netinet/libalias/alias_proxy.c user/ed/newcons/sys/netinet6/nd6.c user/ed/newcons/sys/pc98/cbus/cbus_dma.c user/ed/newcons/sys/powerpc/aim/mmu_oea64.c user/ed/newcons/sys/teken/teken.c user/ed/newcons/sys/teken/teken.h user/ed/newcons/tools/regression/lib/libutil/Makefile user/ed/newcons/tools/regression/lib/libutil/test-flopen.c user/ed/newcons/tools/regression/lib/libutil/test-grp.c user/ed/newcons/tools/regression/lib/libutil/test-trimdomain-nodomain.c user/ed/newcons/tools/regression/lib/libutil/test-trimdomain.c user/ed/newcons/tools/tools/nanobsd/gateworks/Files/root/.profile user/ed/newcons/tools/tools/nanobsd/rescue/Files/etc/ttys user/ed/newcons/tools/tools/tinybsd/conf/wrap/etc/ttys user/ed/newcons/usr.bin/gencat/gencat.c user/ed/newcons/usr.bin/systat/Makefile user/ed/newcons/usr.bin/systat/main.c user/ed/newcons/usr.sbin/sade/termcap.c user/ed/newcons/usr.sbin/sysinstall/termcap.c user/ed/newcons/usr.sbin/vidcontrol/vidcontrol.1 user/ed/newcons/usr.sbin/vidcontrol/vidcontrol.c Directory Properties: user/ed/newcons/ (props changed) Modified: user/ed/newcons/UPDATING ============================================================================== --- user/ed/newcons/UPDATING Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/UPDATING Fri Nov 13 13:08:34 2009 (r199254) @@ -22,6 +22,21 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20091113: + The default terminal emulation for syscons(4) has been changed + from cons25 to xterm on all platforms except pc98. This means + that the /etc/ttys file needs to be updated to ensure correct + operation of applications on the console. + + The terminal emulation style can be toggled per window by using + vidcontrol(1)'s -T flag. The TEKEN_CONS25 kernel configuration + options can be used to change the compile-time default back to + cons25. + + To prevent graphical artifacts, make sure the TERM environment + variable is set to match the terminal emulation that is being + performed by syscons(4). + 20091109: The layout of the structure ieee80211req_scan_result has changed. Applications that require wireless scan results (e.g. ifconfig(8)) Modified: user/ed/newcons/bin/sh/trap.c ============================================================================== --- user/ed/newcons/bin/sh/trap.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/bin/sh/trap.c Fri Nov 13 13:08:34 2009 (r199254) @@ -244,7 +244,8 @@ void setsignal(int signo) { int action; - sig_t sig, sigact = SIG_DFL; + sig_t sigact = SIG_DFL; + struct sigaction sa; char *t; if ((t = trap[signo]) == NULL) @@ -320,9 +321,10 @@ setsignal(int signo) case S_IGN: sigact = SIG_IGN; break; } *t = action; - sig = signal(signo, sigact); - if (sig != SIG_ERR && action == S_CATCH) - siginterrupt(signo, 1); + sa.sa_handler = sigact; + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); + sigaction(signo, &sa, NULL); } Modified: user/ed/newcons/etc/Makefile ============================================================================== --- user/ed/newcons/etc/Makefile Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/etc/Makefile Fri Nov 13 13:08:34 2009 (r199254) @@ -18,8 +18,13 @@ BIN1= auth.conf \ rc rc.bsdextended rc.firewall rc.firewall6 rc.initdiskless \ rc.sendmail rc.shutdown \ rc.subr remote rpc services shells \ - sysctl.conf syslog.conf \ - etc.${MACHINE_ARCH}/ttys + sysctl.conf syslog.conf + +.if exists(${.CURDIR}/etc.${MACHINE}/ttys) +BIN1+= etc.${MACHINE}/ttys +.else +BIN1+= etc.${MACHINE_ARCH}/ttys +.endif OPENBSMDIR= ${.CURDIR}/../contrib/openbsm BSM_ETC_OPEN_FILES= ${OPENBSMDIR}/etc/audit_class \ Modified: user/ed/newcons/etc/etc.ia64/ttys ============================================================================== --- user/ed/newcons/etc/etc.ia64/ttys Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/etc/etc.ia64/ttys Fri Nov 13 13:08:34 2009 (r199254) @@ -31,7 +31,7 @@ console none unknown off secure # ttyv0 "/usr/libexec/getty Pc" xterm off secure -# Virtual terminals. +# Virtual terminals ttyv1 "/usr/libexec/getty Pc" xterm off secure ttyv2 "/usr/libexec/getty Pc" xterm off secure ttyv3 "/usr/libexec/getty Pc" xterm off secure Modified: user/ed/newcons/etc/root/dot.profile ============================================================================== --- user/ed/newcons/etc/root/dot.profile Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/etc/root/dot.profile Fri Nov 13 13:08:34 2009 (r199254) @@ -4,7 +4,7 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/ export PATH HOME=/root export HOME -TERM=${TERM:-cons25} +TERM=${TERM:-xterm} export TERM PAGER=more export PAGER Modified: user/ed/newcons/lib/libc/locale/isblank.3 ============================================================================== --- user/ed/newcons/lib/libc/locale/isblank.3 Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/lib/libc/locale/isblank.3 Fri Nov 13 13:08:34 2009 (r199254) @@ -50,9 +50,9 @@ For any locale, this includes the follow .It "\&``\et''\t`` ''" .El .Pp -In the "C" locale +In the "C" locale, a successful .Fn isblank -successful test is limited to this characters only. +test is limited to these characters only. The value of the argument must be representable as an .Vt "unsigned char" or the value of Modified: user/ed/newcons/lib/libc/locale/isgraph.3 ============================================================================== --- user/ed/newcons/lib/libc/locale/isgraph.3 Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/lib/libc/locale/isgraph.3 Fri Nov 13 13:08:34 2009 (r199254) @@ -50,7 +50,7 @@ The function tests for any printing character except space .Pq Ql "\ " and other -locale specific space-like characters. +locale-specific space-like characters. The value of the argument must be representable as an .Vt "unsigned char" or the value of Modified: user/ed/newcons/lib/libc/locale/isprint.3 ============================================================================== --- user/ed/newcons/lib/libc/locale/isprint.3 Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/lib/libc/locale/isprint.3 Fri Nov 13 13:08:34 2009 (r199254) @@ -47,7 +47,7 @@ .Sh DESCRIPTION The .Fn isprint -function tests for any printing character including space +function tests for any printing character, including space .Pq Ql "\ " . The value of the argument must be representable as an .Vt "unsigned char" Modified: user/ed/newcons/lib/libc/net/getnameinfo.c ============================================================================== --- user/ed/newcons/lib/libc/net/getnameinfo.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/lib/libc/net/getnameinfo.c Fri Nov 13 13:08:34 2009 (r199254) @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -385,6 +386,7 @@ getnameinfo_link(const struct sockaddr * { const struct sockaddr_dl *sdl = (const struct sockaddr_dl *)(const void *)sa; + const struct fw_hwaddr *iha; int n; if (serv != NULL && servlen > 0) @@ -400,6 +402,15 @@ getnameinfo_link(const struct sockaddr * } switch (sdl->sdl_type) { + case IFT_IEEE1394: + if (sdl->sdl_alen < sizeof(iha->sender_unique_ID_hi) + + sizeof(iha->sender_unique_ID_lo)) + return EAI_FAMILY; + iha = (const struct fw_hwaddr *)(const void *)LLADDR(sdl); + return hexname((const u_int8_t *)&iha->sender_unique_ID_hi, + sizeof(iha->sender_unique_ID_hi) + + sizeof(iha->sender_unique_ID_lo), + host, hostlen); /* * The following have zero-length addresses. * IFT_ATM (net/if_atmsubr.c) Modified: user/ed/newcons/lib/libc/net/ip6opt.c ============================================================================== --- user/ed/newcons/lib/libc/net/ip6opt.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/lib/libc/net/ip6opt.c Fri Nov 13 13:08:34 2009 (r199254) @@ -55,8 +55,7 @@ static void inet6_insert_padopt(u_char * * byte, the length byte, and the option data. */ int -inet6_option_space(nbytes) - int nbytes; +inet6_option_space(int nbytes) { nbytes += 2; /* we need space for nxt-hdr and length fields */ return(CMSG_SPACE((nbytes + 7) & ~7)); @@ -68,10 +67,7 @@ inet6_option_space(nbytes) * success or -1 on an error. */ int -inet6_option_init(bp, cmsgp, type) - void *bp; - struct cmsghdr **cmsgp; - int type; +inet6_option_init(void *bp, struct cmsghdr **cmsgp, int type) { struct cmsghdr *ch = (struct cmsghdr *)bp; @@ -98,11 +94,8 @@ inet6_option_init(bp, cmsgp, type) * earlier. It must have a value between 0 and 7, inclusive. */ int -inet6_option_append(cmsg, typep, multx, plusy) - struct cmsghdr *cmsg; - const u_int8_t *typep; - int multx; - int plusy; +inet6_option_append(struct cmsghdr *cmsg, const u_int8_t *typep, int multx, + int plusy) { int padlen, optlen, off; u_char *bp = (u_char *)cmsg + cmsg->cmsg_len; @@ -171,11 +164,7 @@ inet6_option_append(cmsg, typep, multx, * */ u_int8_t * -inet6_option_alloc(cmsg, datalen, multx, plusy) - struct cmsghdr *cmsg; - int datalen; - int multx; - int plusy; +inet6_option_alloc(struct cmsghdr *cmsg, int datalen, int multx, int plusy) { int padlen, off; u_int8_t *bp = (u_char *)cmsg + cmsg->cmsg_len; @@ -238,9 +227,7 @@ inet6_option_alloc(cmsg, datalen, multx, * (RFC 2292, 6.3.5) */ int -inet6_option_next(cmsg, tptrp) - const struct cmsghdr *cmsg; - u_int8_t **tptrp; +inet6_option_next(const struct cmsghdr *cmsg, u_int8_t **tptrp) { struct ip6_ext *ip6e; int hdrlen, optlen; @@ -296,10 +283,7 @@ inet6_option_next(cmsg, tptrp) * it's a typo. The variable should be type of u_int8_t **. */ int -inet6_option_find(cmsg, tptrp, type) - const struct cmsghdr *cmsg; - u_int8_t **tptrp; - int type; +inet6_option_find(const struct cmsghdr *cmsg, u_int8_t **tptrp, int type) { struct ip6_ext *ip6e; int hdrlen, optlen; @@ -352,8 +336,7 @@ inet6_option_find(cmsg, tptrp, type) * calculated length and the limitation of the buffer. */ static int -ip6optlen(opt, lim) - u_int8_t *opt, *lim; +ip6optlen(u_int8_t *opt, u_int8_t *lim) { int optlen; Modified: user/ed/newcons/lib/libc/nls/nl_NL.ISO8859-1.msg ============================================================================== --- user/ed/newcons/lib/libc/nls/nl_NL.ISO8859-1.msg Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/lib/libc/nls/nl_NL.ISO8859-1.msg Fri Nov 13 13:08:34 2009 (r199254) @@ -26,7 +26,7 @@ $ EBADF $ ECHILD 10 Geen kindprocessen $ EDEADLK -11 Een deadlock is vermeden +11 Een deadlock op een bron is vermeden $ ENOMEM 12 Kan geen geheugen meer verkrijgen $ EACCES @@ -40,13 +40,13 @@ $ EBUSY $ EEXIST 17 Bestand bestaat reeds $ EXDEV -18 Verwijzing tussen bestanden op verschillende bestandssystemen +18 Verwijzing tussen verschillende apparaten $ ENODEV 19 Bewerking wordt niet ondersteund door dit apparaat $ ENOTDIR 20 Dit is geen map $ EISDIR -21 Dit is een map +21 Dit is een map $ EINVAL 22 Ongeldig argument $ ENFILE @@ -62,7 +62,7 @@ $ EFBIG $ ENOSPC 28 Geen ruimte meer op dit apparaat $ ESPIPE -29 Onuitvoerbare zoekopdracht +29 Ongeldige zoekopdracht $ EROFS 30 Van dit bestandssysteem kan alleen worden gelezen $ EMLINK @@ -84,7 +84,7 @@ $ ENOTSOCK $ EDESTADDRREQ 39 Een bestemmingsadres is vereist $ EMSGSIZE -40 Te grote bericht +40 Te groot bericht $ EPROTOTYPE 41 Protocol past niet bij dit contactpunt $ ENOPROTOOPT @@ -116,7 +116,7 @@ $ ECONNRESET $ ENOBUFS 55 Geen bufferruimte meer beschikbaar $ EISCONN -56 Dit contactpunt is al verbonden +56 Contactpunt is al verbonden $ ENOTCONN 57 Contactpunt is niet verbonden $ ESHUTDOWN @@ -136,9 +136,9 @@ $ EHOSTDOWN $ EHOSTUNREACH 65 Bestemming niet bereikbaar $ ENOTEMPTY -66 Directory is niet leeg +66 Map is niet leeg $ EPROCLIM -67 Te veel taken +67 Te veel processen $ EUSERS 68 Te veel gebruikers $ EDQUOT @@ -160,7 +160,7 @@ $ EPROCUNAVAIL $ ENOLCK 77 Geen sloten beschikbaar $ ENOSYS -78 Deze systeemfunctie is niet geimplementeerd +78 Systeemfunctie is niet geimplementeerd $ EFTYPE 79 Bestandsformaat niet van toepassing $ EAUTH @@ -173,30 +173,24 @@ $ ENOMSG 83 Geen bericht van het gewenste type $ EOVERFLOW 84 Waarde te groot om te bewaren in gegevenstype -$ EILSEQ -85 Ongeldige bytereeks -$ ENOTSUP -86 Niet ondersteund $ ECANCELED -87 Bewerking geannuleerd -$ EBADMSG -88 Verkeerd of defect bericht -$ ENODATA -89 Geen bericht beschikbaar -$ ENOSR -90 Geen STREAM-voorraad -$ ENOSTR -91 Dit is geen STREAM -$ ETIME -92 STREAM-ioctl verlopen +85 Bewerking geannuleerd +$ EILSEQ +86 Ongeldige bytereeks $ ENOATTR -93 Attribuut niet gevonden +87 Attribuut niet gevonden +$ EDOOFUS +88 Programmeerfout +$ EBADMSG +89 Verkeerd of defect bericht $ EMULTIHOP -94 Multihopverzoek +90 Multihopverzoek $ ENOLINK -95 Verbinding werd verstoord +91 Verbinding werd verstoord $ EPROTO -96 Protocolfout +92 Protocolfout +$ ENOTCAPABLE +93 Onvoldoende mogelijkheden $ $ strsignal() support catalog $ @@ -263,5 +257,38 @@ $ SIGUSR1 30 Gebruikersignaal 1 $ SIGUSR2 31 Gebruikersignaal 2 -$ SIGPWR -32 Stroomuitval/stroominschakeling +$ +$ gai_strerror() support catalog +$set 3 +$ 1 (obsolete) +1 Adresfamilie voor hostnaam niet ondersteund +$ EAI_AGAIN +2 Tijdelijke fout in naamresolutie +$ EAI_BADFLAGS +3 Ongeldige waarde voor ai_flags +$ EAI_FAIL +4 Onherstelbare fout in naamresolutie +$ EAI_FAMILY +5 ai_familie niet ondersteund +$ EAI_MEMORY +6 Geheugenallocatiefout +$ 7 (obsolete) +7 Geen adres met hostnaam geassocieerd +$ EAI_NONAME +8 hostname noch servname gegeven, of onbekend +$ EAI_SERVICE +9 servname niet ondersteund voor ai_socktype +$ EAI_SOCKTYPE +10 ai_socktype niet ondersteund +$ EAI_SYSTEM +11 Systeemfout geretourneerd in errno +$ EAI_BADHINTS +12 Ongeldige waarde voor hints +$ EAI_PROTOCOL +13 Opgelost protocol is onbekend +$ EAI_OVERFLOW +14 Argumentbuffer overstroomd +$ 0 +32766 Succes +$ NL_MSGMAX +32767 Onbekende fout Modified: user/ed/newcons/lib/libpam/modules/pam_unix/pam_unix.8 ============================================================================== --- user/ed/newcons/lib/libpam/modules/pam_unix/pam_unix.8 Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/lib/libpam/modules/pam_unix/pam_unix.8 Fri Nov 13 13:08:34 2009 (r199254) @@ -105,6 +105,17 @@ sufficient. If the password database has no password for the entity being authenticated, then this option will forgo password prompting, and silently allow authentication to succeed. +.Pp +.Sy NOTE: +If +.Nm +is invoked by a process that does not have the privileges required to +access the password database (in most cases, this means root +privileges), the +.Cm nullok +option may cause +.Nm +to allow any user to log in with any password. .It Cm local_pass Use only the local password database, even if NIS is in use. This will cause an authentication failure if the system is configured Modified: user/ed/newcons/release/picobsd/floppy.tree/etc/ttys ============================================================================== --- user/ed/newcons/release/picobsd/floppy.tree/etc/ttys Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/release/picobsd/floppy.tree/etc/ttys Fri Nov 13 13:08:34 2009 (r199254) @@ -8,19 +8,19 @@ # This entry needed for asking password when init goes to single-user mode # If you want to be asked for password, change "secure" to "insecure" here #console none unknown off secure -vga none cons25 off secure +vga none xterm off secure # -ttyv0 "/usr/libexec/getty Pc" cons25 on secure +ttyv0 "/usr/libexec/getty Pc" xterm on secure # Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure -#ttyv8 "/usr/libexec/getty Pc" cons25 on secure -#ttyv9 "/usr/libexec/getty Pc" cons25 on secure +ttyv1 "/usr/libexec/getty Pc" xterm on secure +ttyv2 "/usr/libexec/getty Pc" xterm on secure +ttyv3 "/usr/libexec/getty Pc" xterm on secure +ttyv4 "/usr/libexec/getty Pc" xterm on secure +ttyv5 "/usr/libexec/getty Pc" xterm on secure +ttyv6 "/usr/libexec/getty Pc" xterm on secure +ttyv7 "/usr/libexec/getty Pc" xterm on secure +#ttyv8 "/usr/libexec/getty Pc" xterm on secure +#ttyv9 "/usr/libexec/getty Pc" xterm on secure # Pseudo terminals ttyp0 none network secure ttyp1 none network secure Modified: user/ed/newcons/release/picobsd/tinyware/oinit/oinit.c ============================================================================== --- user/ed/newcons/release/picobsd/tinyware/oinit/oinit.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/release/picobsd/tinyware/oinit/oinit.c Fri Nov 13 13:08:34 2009 (r199254) @@ -116,7 +116,7 @@ struct command bltins[]={ {"cd","Change working directory","cd [dir]","cd /etc",cd}, {"pwd","Print current directory","pwd","pwd",pwd}, {"exit","Exit from shell()","exit","exit",xit}, - {"set","Set environment variable","set [VAR=value]","set TERM=cons25",set}, + {"set","Set environment variable","set [VAR=value]","set TERM=xterm",set}, {"unset","Unset environment variable","unset VAR","unset EDITOR",unset}, {"echo","Echo arguments on stdout","echo arg1 arg2 ...","echo Hello World!",echo}, {"env","Print all environment variables","env","env",env}, @@ -572,7 +572,7 @@ start_session(int vty, int argc, char ** if(fd>2) close(fd); login_tty(fd); setpgid(0,getpid()); - putenv("TERM=cons25"); + putenv("TERM=xterm"); putenv("HOME=/"); putenv("PATH=/stand:/bin:/usr/bin:/sbin:."); signal(SIGHUP,SIG_DFL); Modified: user/ed/newcons/sbin/mount/mount.8 ============================================================================== --- user/ed/newcons/sbin/mount/mount.8 Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sbin/mount/mount.8 Fri Nov 13 13:08:34 2009 (r199254) @@ -527,7 +527,9 @@ support for a particular file system mig .Xr mount_smbfs 8 , .Xr mount_udf 8 , .Xr mount_unionfs 8 , -.Xr umount 8 +.Xr umount 8 , +.Xr zfs 8 , +.Xr zpool 8 .Sh CAVEATS After a successful .Nm , Modified: user/ed/newcons/share/man/man4/snd_hda.4 ============================================================================== --- user/ed/newcons/share/man/man4/snd_hda.4 Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/share/man/man4/snd_hda.4 Fri Nov 13 13:08:34 2009 (r199254) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 7, 2009 +.Dd November 13, 2009 .Dt SND_HDA 4 .Os .Sh NAME @@ -59,7 +59,7 @@ driver that allows the generic audio dri to be used with this hardware. Only audio functions are supported by .Nm . -Modem, HDMI and other possible functions are not implemented. +Modem and other possible functions are not implemented. .Pp The .Nm @@ -500,6 +500,14 @@ nVidia MCP68 .It nVidia MCP69 .It +nVidia MCP73 +.It +nVidia MCP78 +.It +nVidia MCP79 +.It +nVidia MCP89 +.It SiS 966 .It VIA VT8251/8237A @@ -626,5 +634,11 @@ trying to fix problem that way, make sur and the PCM audio device you are using really corresponds to expected audio connector. .Pp +Some vendors use non-standardized General Purpose I/O (GPIO) pins of codec +to control external amplifiers. In some cases setting proper combination of +GPIO bits may be needed to make sound work on specific device. +.Pp +HDMI and DisplayPort audio may also require support from video driver. +.Pp Due to OSS limitation multichannel (not multidevice) playback is not supported. Modified: user/ed/newcons/share/misc/organization.dot ============================================================================== --- user/ed/newcons/share/misc/organization.dot Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/share/misc/organization.dot Fri Nov 13 13:08:34 2009 (r199254) @@ -28,7 +28,7 @@ _misc [label="Miscellaneous Hats"] core [label="Core Team\ncore@FreeBSD.org\nwilko, brooks, keramida, imp,\ngnn, wes, hrs, murray,\nrwatson"] coresecretary [label="Core Team Secretary\ncore-secretary@FreeBSD.org\njoel"] doccommitters [label="Doc/www Committers\ndoc-committers@FreeBSD.org"] -doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\nnik, blackend, hrs,\nmurray"] +doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\nnik, blackend, hrs,\nkeramida"] portscommitters [label="Ports Committers\nports-committers@FreeBSD.org"] portmgr [label="Port Management Team\nportmgr@FreeBSD.org\nmarcus, kris, erwin,\nlinimon, pav, krion"] portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\nerwin"] Modified: user/ed/newcons/share/skel/dot.profile ============================================================================== --- user/ed/newcons/share/skel/dot.profile Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/share/skel/dot.profile Fri Nov 13 13:08:34 2009 (r199254) @@ -11,8 +11,7 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/ # Setting TERM is normally done through /etc/ttys. Do only override # if you're sure that you'll never log in via telnet or xterm or a # serial line. -# Use cons25l1 for iso-* fonts -# TERM=cons25; export TERM +# TERM=xterm; export TERM BLOCKSIZE=K; export BLOCKSIZE EDITOR=vi; export EDITOR Modified: user/ed/newcons/share/timedef/ja_JP.SJIS.src ============================================================================== --- user/ed/newcons/share/timedef/ja_JP.SJIS.src Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/share/timedef/ja_JP.SJIS.src Fri Nov 13 13:08:34 2009 (r199254) @@ -5,18 +5,18 @@ # # Short month names # - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -11 -12 + 1月 + 2月 + 3月 + 4月 + 5月 + 6月 + 7月 + 8月 + 9月 +10月 +11月 +12月 # # Long month names (as in a date) # Modified: user/ed/newcons/share/timedef/ja_JP.UTF-8.src ============================================================================== --- user/ed/newcons/share/timedef/ja_JP.UTF-8.src Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/share/timedef/ja_JP.UTF-8.src Fri Nov 13 13:08:34 2009 (r199254) @@ -4,18 +4,18 @@ # WARNING: empty lines are essential too # # Short month names - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -11 -12 + 1譛 + 2譛 + 3譛 + 4譛 + 5譛 + 6譛 + 7譛 + 8譛 + 9譛 +10譛 +11譛 +12譛 # # Long month names (as in a date) # Modified: user/ed/newcons/share/timedef/ja_JP.eucJP.src ============================================================================== --- user/ed/newcons/share/timedef/ja_JP.eucJP.src Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/share/timedef/ja_JP.eucJP.src Fri Nov 13 13:08:34 2009 (r199254) @@ -4,18 +4,18 @@ # WARNING: empty lines are essential too # # Short month names - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -11 -12 + 1キ + 2キ + 3キ + 4キ + 5キ + 6キ + 7キ + 8キ + 9キ +10キ +11キ +12キ # # Long month names (as in a date) # Modified: user/ed/newcons/sys/amd64/amd64/initcpu.c ============================================================================== --- user/ed/newcons/sys/amd64/amd64/initcpu.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sys/amd64/amd64/initcpu.c Fri Nov 13 13:08:34 2009 (r199254) @@ -47,6 +47,12 @@ __FBSDID("$FreeBSD$"); static int hw_instruction_sse; SYSCTL_INT(_hw, OID_AUTO, instruction_sse, CTLFLAG_RD, &hw_instruction_sse, 0, "SIMD/MMX2 instructions available in CPU"); +/* + * -1: automatic (default) + * 0: keep enable CLFLUSH + * 1: force disable CLFLUSH + */ +static int hw_clflush_disable = -1; int cpu; /* Are we 386, 386sx, 486, etc? */ u_int cpu_feature; /* Feature flags */ @@ -169,6 +175,15 @@ initializecpu(void) * XXXKIB: (temporary) hack to work around traps generated when * CLFLUSHing APIC registers window. */ - if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS)) + TUNABLE_INT_FETCH("hw.clflush_disable", &hw_clflush_disable); + if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS) && + hw_clflush_disable == -1) + cpu_feature &= ~CPUID_CLFSH; + /* + * Allow to disable CLFLUSH feature manually by + * hw.clflush_disable tunable. This may help Xen guest on some AMD + * CPUs. + */ + if (hw_clflush_disable == 1) cpu_feature &= ~CPUID_CLFSH; } Modified: user/ed/newcons/sys/amd64/amd64/pmap.c ============================================================================== --- user/ed/newcons/sys/amd64/amd64/pmap.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sys/amd64/amd64/pmap.c Fri Nov 13 13:08:34 2009 (r199254) @@ -183,7 +183,7 @@ static int pat_works = 0; /* Is page at SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); static int pg_ps_enabled = 1; -SYSCTL_INT(_vm_pmap, OID_AUTO, pg_ps_enabled, CTLFLAG_RD, &pg_ps_enabled, 0, +SYSCTL_INT(_vm_pmap, OID_AUTO, pg_ps_enabled, CTLFLAG_RDTUN, &pg_ps_enabled, 0, "Are large page mappings enabled?"); static u_int64_t KPTphys; /* phys addr of kernel level 1 */ Modified: user/ed/newcons/sys/boot/common/Makefile.inc ============================================================================== --- user/ed/newcons/sys/boot/common/Makefile.inc Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sys/boot/common/Makefile.inc Fri Nov 13 13:08:34 2009 (r199254) @@ -38,4 +38,8 @@ MAN+= ../forth/loader.conf.5 MAN+= ../forth/loader.4th.8 .endif +.if defined(BOOT_PROMPT_123) +CFLAGS+= -DBOOT_PROMPT_123 +.endif + MAN+= loader.8 Modified: user/ed/newcons/sys/boot/common/boot.c ============================================================================== --- user/ed/newcons/sys/boot/common/boot.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sys/boot/common/boot.c Fri Nov 13 13:08:34 2009 (r199254) @@ -162,6 +162,9 @@ autoboot(int timeout, char *prompt) int c, yes; char *argv[2], *cp, *ep; char *kernelname; +#ifdef BOOT_PROMPT_123 + const char *seq = "123", *p = seq; +#endif autoboot_tried = 1; @@ -192,14 +195,29 @@ autoboot(int timeout, char *prompt) yes = 0; +#ifdef BOOT_PROMPT_123 + printf("%s\n", (prompt == NULL) ? "Hit [Enter] to boot immediately, or " + "1 2 3 sequence for command prompt." : prompt); +#else printf("%s\n", (prompt == NULL) ? "Hit [Enter] to boot immediately, or any other key for command prompt." : prompt); +#endif for (;;) { if (ischar()) { c = getchar(); +#ifdef BOOT_PROMPT_123 + if ((c == '\r') || (c == '\n')) { + yes = 1; + break; + } else if (c != *p++) + p = seq; + if (*p == 0) + break; +#else if ((c == '\r') || (c == '\n')) yes = 1; break; +#endif } ntime = time(NULL); if (ntime >= when) { Modified: user/ed/newcons/sys/boot/uboot/lib/glue.c ============================================================================== --- user/ed/newcons/sys/boot/uboot/lib/glue.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sys/boot/uboot/lib/glue.c Fri Nov 13 13:08:34 2009 (r199254) @@ -467,7 +467,7 @@ ub_stor_type(int type) if (type & DT_STOR_USB) return ("USB"); - if (type & DT_STOR_MMC); + if (type & DT_STOR_MMC) return ("MMC"); return ("Unknown"); @@ -581,11 +581,6 @@ ub_env_enum(const char *last) if (!env) /* no more env. variables to enumerate */ return (NULL); -#if 0 - if (last && strncmp(env, last, strlen(last)) == 0); - /* error, trying to enumerate non existing env. variable */ - return NULL; -#endif /* next enumerated env var */ memset(env_name, 0, 256); Modified: user/ed/newcons/sys/cam/ata/ata_all.c ============================================================================== --- user/ed/newcons/sys/cam/ata/ata_all.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sys/cam/ata/ata_all.c Fri Nov 13 13:08:34 2009 (r199254) @@ -509,3 +509,38 @@ ata_max_mode(struct ata_params *ap, int return (mode); } +int +ata_identify_match(caddr_t identbuffer, caddr_t table_entry) +{ + struct scsi_inquiry_pattern *entry; + struct ata_params *ident; + + entry = (struct scsi_inquiry_pattern *)table_entry; + ident = (struct ata_params *)identbuffer; + + if ((cam_strmatch(ident->model, entry->product, + sizeof(ident->model)) == 0) + && (cam_strmatch(ident->revision, entry->revision, + sizeof(ident->revision)) == 0)) { + return (0); + } + return (-1); +} + +int +ata_static_identify_match(caddr_t identbuffer, caddr_t table_entry) +{ + struct scsi_static_inquiry_pattern *entry; + struct ata_params *ident; + + entry = (struct scsi_static_inquiry_pattern *)table_entry; + ident = (struct ata_params *)identbuffer; + + if ((cam_strmatch(ident->model, entry->product, + sizeof(ident->model)) == 0) + && (cam_strmatch(ident->revision, entry->revision, + sizeof(ident->revision)) == 0)) { + return (0); + } + return (-1); +} Modified: user/ed/newcons/sys/cam/ata/ata_all.h ============================================================================== --- user/ed/newcons/sys/cam/ata/ata_all.h Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sys/cam/ata/ata_all.h Fri Nov 13 13:08:34 2009 (r199254) @@ -114,4 +114,7 @@ int ata_max_wmode(struct ata_params *ap) int ata_max_umode(struct ata_params *ap); int ata_max_mode(struct ata_params *ap, int mode, int maxmode); +int ata_identify_match(caddr_t identbuffer, caddr_t table_entry); +int ata_static_identify_match(caddr_t identbuffer, caddr_t table_entry); + #endif Modified: user/ed/newcons/sys/cam/ata/ata_da.c ============================================================================== --- user/ed/newcons/sys/cam/ata/ata_da.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sys/cam/ata/ata_da.c Fri Nov 13 13:08:34 2009 (r199254) @@ -122,9 +122,17 @@ struct ada_quirk_entry { ada_quirks quirks; }; -//static struct ada_quirk_entry ada_quirk_table[] = -//{ -//}; +static struct ada_quirk_entry ada_quirk_table[] = +{ + { + /* Default */ + { + T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED, + /*vendor*/"*", /*product*/"*", /*revision*/"*" + }, + /*quirks*/0 + }, +}; static disk_strategy_t adastrategy; static dumper_t adadump; @@ -618,7 +626,7 @@ adaregister(struct cam_periph *periph, v if (cgd->ident_data.support.command2 & ATA_SUPPORT_FLUSHCACHE) softc->flags |= ADA_FLAG_CAN_FLUSHCACHE; if (cgd->ident_data.satacapabilities & ATA_SUPPORT_NCQ && - cgd->ident_data.queue >= 31) + cgd->inq_flags & SID_CmdQue) softc->flags |= ADA_FLAG_CAN_NCQ; softc->state = ADA_STATE_NORMAL; @@ -627,12 +635,10 @@ adaregister(struct cam_periph *periph, v /* * See if this device has any quirks. */ -// match = cam_quirkmatch((caddr_t)&cgd->inq_data, -// (caddr_t)ada_quirk_table, -// sizeof(ada_quirk_table)/sizeof(*ada_quirk_table), -// sizeof(*ada_quirk_table), scsi_inquiry_match); - match = NULL; - + match = cam_quirkmatch((caddr_t)&cgd->ident_data, + (caddr_t)ada_quirk_table, + sizeof(ada_quirk_table)/sizeof(*ada_quirk_table), + sizeof(*ada_quirk_table), ata_identify_match); if (match != NULL) softc->quirks = ((struct ada_quirk_entry *)match)->quirks; else @@ -700,11 +706,6 @@ adaregister(struct cam_periph *periph, v dp->secsize, dp->heads, dp->secs_per_track, dp->cylinders); xpt_announce_periph(periph, announce_buf); - if (softc->flags & ADA_FLAG_CAN_NCQ) { - printf("%s%d: Native Command Queueing enabled\n", - periph->periph_name, periph->unit_number); - } - /* * Add async callbacks for bus reset and * bus device reset calls. I don't bother Modified: user/ed/newcons/sys/cam/ata/ata_xpt.c ============================================================================== --- user/ed/newcons/sys/cam/ata/ata_xpt.c Fri Nov 13 13:07:01 2009 (r199253) +++ user/ed/newcons/sys/cam/ata/ata_xpt.c Fri Nov 13 13:08:34 2009 (r199254) @@ -66,17 +66,12 @@ __FBSDID("$FreeBSD$"); #include /* for xpt_print below */ #include "opt_cam.h" -struct scsi_quirk_entry { +struct ata_quirk_entry { struct scsi_inquiry_pattern inq_pat; u_int8_t quirks; -#define CAM_QUIRK_NOLUNS 0x01 -#define CAM_QUIRK_NOSERIAL 0x02 -#define CAM_QUIRK_HILUNS 0x04 -#define CAM_QUIRK_NOHILUNS 0x08 - u_int mintags; +#define CAM_QUIRK_MAXTAGS 0x01 u_int maxtags; }; -#define SCSI_QUIRK(dev) ((struct scsi_quirk_entry *)((dev)->quirk)) static periph_init_t probe_periph_init; @@ -138,7 +133,7 @@ typedef struct { struct cam_periph *periph; } probe_softc; -static struct scsi_quirk_entry scsi_quirk_table[] = +static struct ata_quirk_entry ata_quirk_table[] = { { /* Default tagged queuing parameters for all devices */ @@ -146,12 +141,12 @@ static struct scsi_quirk_entry scsi_quir T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED, /*vendor*/"*", /*product*/"*", /*revision*/"*" }, - /*quirks*/0, /*mintags*/2, /*maxtags*/32 + /*quirks*/0, /*maxtags*/0 }, }; -static const int scsi_quirk_table_size = - sizeof(scsi_quirk_table) / sizeof(*scsi_quirk_table); +static const int ata_quirk_table_size = + sizeof(ata_quirk_table) / sizeof(*ata_quirk_table); static cam_status proberegister(struct cam_periph *periph, void *arg); @@ -162,7 +157,7 @@ static void probestart(struct cam_perip // struct cam_ed *device); static void probedone(struct cam_periph *periph, union ccb *done_ccb); static void probecleanup(struct cam_periph *periph); -static void scsi_find_quirk(struct cam_ed *device); +static void ata_find_quirk(struct cam_ed *device); static void ata_scan_bus(struct cam_periph *periph, union ccb *ccb); static void ata_scan_lun(struct cam_periph *periph, struct cam_path *path, cam_flags flags, @@ -172,10 +167,9 @@ static struct cam_ed * ata_alloc_device(struct cam_eb *bus, struct cam_et *target, lun_id_t lun_id); static void ata_device_transport(struct cam_path *path); -static void scsi_set_transfer_settings(struct ccb_trans_settings *cts, +static void ata_set_transfer_settings(struct ccb_trans_settings *cts, struct cam_ed *device, int async_update); -static void scsi_toggle_tags(struct cam_path *path); static void ata_dev_async(u_int32_t async_code, struct cam_eb *bus, struct cam_et *target, @@ -717,6 +711,17 @@ noerror: path->device->flags |= CAM_DEV_IDENTIFY_DATA_VALID; } + if (ident_buf->satacapabilities & ATA_SUPPORT_NCQ) { + path->device->mintags = path->device->maxtags = + ATA_QUEUE_LEN(ident_buf->queue) + 1; + } + ata_find_quirk(path->device); + /* XXX: If not all tags allowed, we must to tell SIM which are. */ + if (path->device->mintags < path->bus->sim->max_tagged_dev_openings) + path->device->mintags = path->device->maxtags = 0; + if (path->device->mintags != 0) { + xpt_start_tags(path); + } ata_device_transport(path); PROBE_SET_ACTION(softc, PROBE_SETMODE); xpt_release_ccb(done_ccb); @@ -776,7 +781,6 @@ noerror: return; } - scsi_find_quirk(path->device); ata_device_transport(path); if (periph->path->device->flags & CAM_DEV_UNCONFIGURED) { path->device->flags &= ~CAM_DEV_UNCONFIGURED; @@ -853,24 +857,23 @@ probecleanup(struct cam_periph *periph) } static void -scsi_find_quirk(struct cam_ed *device) +ata_find_quirk(struct cam_ed *device) { - struct scsi_quirk_entry *quirk; + struct ata_quirk_entry *quirk; caddr_t match; - match = cam_quirkmatch((caddr_t)&device->inq_data, - (caddr_t)scsi_quirk_table, - sizeof(scsi_quirk_table) / - sizeof(*scsi_quirk_table), - sizeof(*scsi_quirk_table), scsi_inquiry_match); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Fri Nov 13 13:17:55 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6FA9E106566C; Fri, 13 Nov 2009 13:17:55 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 43B768FC15; Fri, 13 Nov 2009 13:17:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nADDHt5S067380; Fri, 13 Nov 2009 13:17:55 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nADDHt8Y067375; Fri, 13 Nov 2009 13:17:55 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200911131317.nADDHt8Y067375@svn.freebsd.org> From: Ed Schouten Date: Fri, 13 Nov 2009 13:17:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199256 - in user/ed/newcons: lib/libc/sys sys/amd64/amd64 sys/amd64/include X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Nov 2009 13:17:55 -0000 Author: ed Date: Fri Nov 13 13:17:54 2009 New Revision: 199256 URL: http://svn.freebsd.org/changeset/base/199256 Log: MFC again at r199255. I want that patch that kib@ just committed. Modified: user/ed/newcons/lib/libc/sys/vfork.2 user/ed/newcons/sys/amd64/amd64/initcpu.c user/ed/newcons/sys/amd64/amd64/machdep.c user/ed/newcons/sys/amd64/include/md_var.h Directory Properties: user/ed/newcons/ (props changed) Modified: user/ed/newcons/lib/libc/sys/vfork.2 ============================================================================== --- user/ed/newcons/lib/libc/sys/vfork.2 Fri Nov 13 13:13:35 2009 (r199255) +++ user/ed/newcons/lib/libc/sys/vfork.2 Fri Nov 13 13:17:54 2009 (r199256) @@ -28,12 +28,12 @@ .\" @(#)vfork.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd June 4, 1993 +.Dd November 13, 2009 .Dt VFORK 2 .Os .Sh NAME .Nm vfork -.Nd spawn new process in a virtual memory efficient way +.Nd create a new process without copying the address space .Sh LIBRARY .Lb libc .Sh SYNOPSIS Modified: user/ed/newcons/sys/amd64/amd64/initcpu.c ============================================================================== --- user/ed/newcons/sys/amd64/amd64/initcpu.c Fri Nov 13 13:13:35 2009 (r199255) +++ user/ed/newcons/sys/amd64/amd64/initcpu.c Fri Nov 13 13:17:54 2009 (r199256) @@ -163,6 +163,11 @@ initializecpu(void) CPUID_TO_FAMILY(cpu_id) == 0x6 && CPUID_TO_MODEL(cpu_id) >= 0xf) init_via(); +} + +void +initializecpucache() +{ /* * CPUID with %eax = 1, %ebx returns Modified: user/ed/newcons/sys/amd64/amd64/machdep.c ============================================================================== --- user/ed/newcons/sys/amd64/amd64/machdep.c Fri Nov 13 13:13:35 2009 (r199255) +++ user/ed/newcons/sys/amd64/amd64/machdep.c Fri Nov 13 13:17:54 2009 (r199256) @@ -1663,6 +1663,7 @@ hammer_time(u_int64_t modulep, u_int64_t identify_cpu(); /* Final stage of CPU initialization */ initializecpu(); /* Initialize CPU registers */ + initializecpucache(); /* make an initial tss so cpu can get interrupt stack on syscall! */ common_tss[0].tss_rsp0 = thread0.td_kstack + \ Modified: user/ed/newcons/sys/amd64/include/md_var.h ============================================================================== --- user/ed/newcons/sys/amd64/include/md_var.h Fri Nov 13 13:13:35 2009 (r199255) +++ user/ed/newcons/sys/amd64/include/md_var.h Fri Nov 13 13:17:54 2009 (r199256) @@ -89,6 +89,7 @@ void gs_load_fault(void) __asm(__STRING( void dump_add_page(vm_paddr_t); void dump_drop_page(vm_paddr_t); void initializecpu(void); +void initializecpucache(void); void fillw(int /*u_short*/ pat, void *base, size_t cnt); void fpstate_drop(struct thread *td); int is_physical_memory(vm_paddr_t addr); From owner-svn-src-user@FreeBSD.ORG Sat Nov 14 12:19:01 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57056106566B; Sat, 14 Nov 2009 12:19:01 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2CD458FC08; Sat, 14 Nov 2009 12:19:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAECJ15u098307; Sat, 14 Nov 2009 12:19:01 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAECJ1PP098305; Sat, 14 Nov 2009 12:19:01 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200911141219.nAECJ1PP098305@svn.freebsd.org> From: Edwin Groothuis Date: Sat, 14 Nov 2009 12:19:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199267 - user/edwin/locale/share X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Nov 2009 12:19:01 -0000 Author: edwin Date: Sat Nov 14 12:19:00 2009 New Revision: 199267 URL: http://svn.freebsd.org/changeset/base/199267 Log: Add a table of all language/country combinations with their supported character encodings. Added: user/edwin/locale/share/locale.tab Added: user/edwin/locale/share/locale.tab ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/locale.tab Sat Nov 14 12:19:00 2009 (r199267) @@ -0,0 +1,85 @@ +# +# $FreeBSD$ +# +# Lists of locales and corresponding charactersets known by the +# FreeBSD locale definition database (/usr/share/*def).. +# +# Note that even if the FreeBSD locale definition database has an +# entry for it, it doesn't mean automatically that all FreeBSD base +# system tools do support them, not that all FreeBSD ports related +# tools do support them. +# +# Extra charactermaps: defines which additional charactermaps besides UTF-8 +# need to be generated for a certain language/country combination. +# +af_ZA: ISO8859-1 ISO8859-15 +am_ET: +be_BY: CP1131 CP1251 ISO8859-5 +bg_BG: CP1251 +ca_AD: ISO8859-1 ISO8859-15 +ca_ES: ISO8859-1 ISO8859-15 +ca_FR: ISO8859-1 ISO8859-15 +ca_IT: ISO8859-1 ISO8859-15 +cs_CZ: ISO8859-2 +da_DK: ISO8859-1 ISO8859-15 +de_AT: ISO8859-1 ISO8859-15 +de_CH: ISO8859-1 ISO8859-15 +de_DE: ISO8859-1 ISO8859-15 +el_GR: ISO8859-7 +en_AU: ISO8859-1 ISO8859-15 US-ASCII +en_CA: ISO8859-1 ISO8859-15 US-ASCII +en_GB: ISO8859-1 ISO8859-15 US-ASCII +en_IE: +en_NZ: ISO8859-1 ISO8859-15 US-ASCII +en_US: ISO8859-1 ISO8859-15 US-ASCII +es_ES: ISO8859-1 ISO8859-15 +et_EE: ISO8859-15 +eu_ES: ISO8859-1 ISO8859-15 +fi_FI: ISO8859-1 ISO8859-15 +fr_BE: ISO8859-1 ISO8859-15 +fr_CA: ISO8859-1 ISO8859-15 +fr_CH: ISO8859-1 ISO8859-15 +fr_FR: ISO8859-1 ISO8859-15 +he_IL: +hi_IN: ISCII-DEV +hr_HR: ISO8859-2 +hu_HU: ISO8859-2 +hy_AM: ARMSCII-8 +is_IS: ISO8859-1 ISO8859-15 +it_CH: ISO8859-1 ISO8859-15 +it_IT: ISO8859-1 ISO8859-15 +ja_JP: SJIS eucJP +kk_KZ: PT154 +ko_KR: CP949 eucKR +la_LN: ISO8859-2 ISO8859-4 ISO8859-15 US-ASCII +lt_LT: ISO8859-4 ISO8859-13 +lv_LV: ISO8859-13 +mn_MN: +nb_NO: ISO8859-1 ISO8859-15 +nl_BE: ISO8859-1 ISO8859-15 +nl_NL: ISO8859-1 ISO8859-15 +nn_NO: ISO8859-1 ISO8859-15 +no_NO: ISO8859-1 ISO8859-15 +pl_PL: ISO8859-2 +pt_BR: ISO8859-1 ISO8859-15 +pt_PT: ISO8859-1 ISO8859-15 +ro_RO: ISO8859-2 +ru_RU: CP1251 CP866 ISO8859-5 KOI8-R +sk_SK: ISO8859-2 +sl_SI: ISO8859-2 +sr_Cyrl_RS: ISO8859-5 +sr_Latn_RS: ISO8859-2 +sv_SE: ISO8859-1 +tr_TR: ISO8859-9 +uk_UA: CP1251 ISO8859-5 KOI8-U +zh_Hans_CN: eucCN GB18030 GB2312 GBK +zh_Hant_HK: Big5 +zh_Hant_TW: Big5 +# +# Legacy links: The following language/country combinations are old +# names and the corresponding new name. +# +sr_YU! sr_Cyrl_RS sr_Latn_RS +zh_CN! zh_Hans_CN +zh_HK! zh_Hant_HK +zh_TW! zh_Hant_TW From owner-svn-src-user@FreeBSD.ORG Sat Nov 14 18:54:25 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF16A1065694; Sat, 14 Nov 2009 18:54:25 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DF7CC8FC1D; Sat, 14 Nov 2009 18:54:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAEIsPPT010472; Sat, 14 Nov 2009 18:54:25 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAEIsP3Q010470; Sat, 14 Nov 2009 18:54:25 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <200911141854.nAEIsP3Q010470@svn.freebsd.org> From: Doug Barton Date: Sat, 14 Nov 2009 18:54:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199277 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Nov 2009 18:54:26 -0000 Author: dougb Date: Sat Nov 14 18:54:25 2009 New Revision: 199277 URL: http://svn.freebsd.org/changeset/base/199277 Log: Also remove "All" from the end of the PACKAGESITE environment variable Submitted by: beat Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Sat Nov 14 18:53:44 2009 (r199276) +++ user/dougb/portmaster/portmaster Sat Nov 14 18:54:25 2009 (r199277) @@ -2343,6 +2343,7 @@ if [ -n "$PM_PACKAGES" ]; then else sitepath="${PACKAGESITE%/}" sitepath="${sitepath%Latest}" + sitepath="${sitepath%All}" fi sitepath="${sitepath%/}/${portdir%/*}/" From owner-svn-src-user@FreeBSD.ORG Sat Nov 14 23:35:37 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB660106566B; Sat, 14 Nov 2009 23:35:37 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C9ED78FC1D; Sat, 14 Nov 2009 23:35:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nAENZbTO016513; Sat, 14 Nov 2009 23:35:37 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAENZbZq016511; Sat, 14 Nov 2009 23:35:37 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911142335.nAENZbZq016511@svn.freebsd.org> From: Kip Macy Date: Sat, 14 Nov 2009 23:35:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199283 - user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Nov 2009 23:35:37 -0000 Author: kmacy Date: Sat Nov 14 23:35:37 2009 New Revision: 199283 URL: http://svn.freebsd.org/changeset/base/199283 Log: simplify page cache invalidation when doing buffer cloning in the ARC Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Nov 14 22:08:32 2009 (r199282) +++ user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Nov 14 23:35:37 2009 (r199283) @@ -1259,9 +1259,7 @@ arc_buf_clone(arc_buf_t *from) hdr->b_buf = buf; hdr->b_flags |= ARC_BUF_CLONING; arc_get_data_buf(buf); -#ifdef nomore bcopy(from->b_data, buf->b_data, size); -#endif hdr->b_datacnt += 1; return (buf); } @@ -1327,7 +1325,7 @@ arc_getblk(arc_buf_t *buf) if ((size < PAGE_SIZE)) { data = zio_buf_alloc(size); } else if ((buf->b_hdr->b_flags & ARC_BUF_CLONING) || - BUF_EMPTY(buf->b_hdr)) { + BUF_EMPTY(buf->b_hdr)) { newbp = geteblk(size, flags); data = newbp->b_data; } else { @@ -1363,15 +1361,12 @@ arc_getblk(arc_buf_t *buf) data = newbp->b_data; } - if (buf->b_hdr->b_flags & ARC_BUF_CLONING) { - vp = spa_get_vnode(spa); + if ((buf->b_hdr->b_flags & ARC_BUF_CLONING) && + (size >= PAGE_SIZE) && + (!BUF_EMPTY(buf->b_hdr))) + arc_binval(buf, blkno, vp, size, newbp); + buf->b_hdr->b_flags &= ~ARC_BUF_CLONING; - bcopy(buf->b_next->b_data, data, size); - if (size >= PAGE_SIZE) - arc_binval(buf, blkno, vp, size, newbp); - buf->b_hdr->b_flags &= ~ARC_BUF_CLONING; - } - #ifdef LOGALL /* * not useful for tracking down collisions