From owner-p4-projects@FreeBSD.ORG Sat Sep 4 19:18:44 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E232A10656BC; Sat, 4 Sep 2010 19:18:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A2C5610656AD for ; Sat, 4 Sep 2010 19:18:43 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 6184C8FC1D for ; Sat, 4 Sep 2010 19:18:43 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id o84JIhU3019612 for ; Sat, 4 Sep 2010 19:18:43 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id o84JIhg7019609 for perforce@freebsd.org; Sat, 4 Sep 2010 19:18:43 GMT (envelope-from gcooper@FreeBSD.org) Date: Sat, 4 Sep 2010 19:18:43 GMT Message-Id: <201009041918.o84JIhg7019609@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 183341 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Sep 2010 19:18:44 -0000 http://p4web.freebsd.org/@@183341?ac=10 Change 183341 by gcooper@gcooper-bayonetta on 2010/09/04 19:18:20 IFC Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/bin/sh/mksyntax.c#5 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/games/fortune/datfiles/fortunes#4 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libedit/common.c#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libpkg/Makefile#4 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libpkg/file.c#23 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libpkg/pkg.h#15 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libpkg/plist.c#14 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sbin/mount_nfs/mount_nfs.c#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/share/man/man4/sis.4#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/amd64/include/cpufunc.h#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/arm/include/bootinfo.h#2 delete .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/boot/ofw/libofw/ofw_copy.c#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/cam/ata/ata_da.c#5 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/cam/scsi/scsi_da.c#5 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#6 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/acpica/acpi.c#7 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/ata/ata-all.h#5 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/ata/ata-lowlevel.c#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/ata/chipsets/ata-siliconimage.c#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/fb/vesa.c#8 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/iscsi/initiator/iscsi.c#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/iscsi/initiator/iscsivar.h#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/sis/if_sis.c#4 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/sis/if_sisreg.h#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/twa/tw_osl_freebsd.c#4 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/geom/geom_io.c#5 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/geom/sched/subr_disk.c#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/i386/include/cpufunc.h#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/kern/sched_ule.c#6 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/kern/subr_bus.c#6 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/kern/subr_disk.c#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/kern/subr_sbuf.c#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/net/if_epair.c#4 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/netinet/in.c#5 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/netinet/ip_input.c#5 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/netinet/ip_var.h#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/netinet6/ip6_input.c#6 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/netinet6/ip6_var.h#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/powerpc/conf/GENERIC64#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/powerpc/include/param.h#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/powerpc/powerpc/mp_machdep.c#4 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/sparc64/conf/GENERIC#4 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/sys/bio.h#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/sys/bus.h#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/sys/copyright.h#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/vm/vm_page.c#11 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/bin/sh/builtins/read2.0#1 branch .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/Makefile#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/tools/nanobsd/nanobsd.sh#5 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/tools/sysbuild/sysbuild.sh#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.fetes#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.bin/split/split.1#2 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/Makefile#7 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/extract.c#6 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/Makefile#6 delete .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pmcstat/pmcpl_callgraph.c#4 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pmcstat/pmcpl_calltree.c#7 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pmcstat/pmcstat_log.c#6 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pmcstat/pmcstat_log.h#3 integrate .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/sysinstall/installUpgrade.c#3 integrate Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/bin/sh/mksyntax.c#5 (text+ko) ==== @@ -42,7 +42,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/sh/mksyntax.c,v 1.30 2010/08/08 21:04:27 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/mksyntax.c,v 1.31 2010/09/03 22:13:54 jilles Exp $"); /* * This program creates syntax.h and syntax.c. @@ -338,12 +338,12 @@ */ static const char *macro[] = { - "#define is_digit(c)\t((is_type+SYNBASE)[c] & ISDIGIT)", + "#define is_digit(c)\t((is_type+SYNBASE)[(int)c] & ISDIGIT)", "#define is_eof(c)\t((c) == PEOF)", - "#define is_alpha(c)\t(((c) < CTLESC || (c) > CTLQUOTEMARK) && isalpha((unsigned char) (c)))", - "#define is_name(c)\t(((c) < CTLESC || (c) > CTLQUOTEMARK) && ((c) == '_' || isalpha((unsigned char) (c))))", - "#define is_in_name(c)\t(((c) < CTLESC || (c) > CTLQUOTEMARK) && ((c) == '_' || isalnum((unsigned char) (c))))", - "#define is_special(c)\t((is_type+SYNBASE)[c] & (ISSPECL|ISDIGIT))", + "#define is_alpha(c)\t(((c) < CTLESC || (c) > CTLQUOTEMARK) && (is_type+SYNBASE)[(int)c] & (ISUPPER|ISLOWER))", + "#define is_name(c)\t(((c) < CTLESC || (c) > CTLQUOTEMARK) && (is_type+SYNBASE)[(int)c] & (ISUPPER|ISLOWER|ISUNDER))", + "#define is_in_name(c)\t(((c) < CTLESC || (c) > CTLQUOTEMARK) && (is_type+SYNBASE)[(int)c] & (ISUPPER|ISLOWER|ISUNDER|ISDIGIT))", + "#define is_special(c)\t((is_type+SYNBASE)[(int)c] & (ISSPECL|ISDIGIT))", NULL }; ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/games/fortune/datfiles/fortunes#4 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.289 2010/07/30 20:20:14 uqs Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.290 2010/09/03 03:20:34 jmg Exp $ % ======================================================================= || || @@ -45221,7 +45221,7 @@ 1: P-Q4, Kt-KB3 2: Kt-Q2, P-K4 3: PxP, Kt-Kt5 - 4: P-K6, Kt-K6/ + 4: P-KR3, Kt-K6/ White then resigns on realizing that a fifth move would involve either a Q-KR5 check or the loss of his queen. -- Stephen Pile, "The Book of Heroic Failures" ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libedit/common.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)common.c 8.1 (Berkeley) 6/4/93"; #endif /* not lint && not SCCSID */ #include -__FBSDID("$FreeBSD: src/lib/libedit/common.c,v 1.12 2007/03/11 18:30:22 stefanf Exp $"); +__FBSDID("$FreeBSD: src/lib/libedit/common.c,v 1.13 2010/09/03 22:24:26 jilles Exp $"); /* * common.c: Common Editor functions @@ -163,15 +163,12 @@ return (CC_ERROR); #endif } - } else { - if (el->el_line.cursor != el->el_line.buffer) - el->el_line.cursor--; - else - return (CC_ERROR); - } + } else + return (CC_ERROR); } c_delafter(el, el->el_state.argument); /* delete after dot */ - if (el->el_line.cursor >= el->el_line.lastchar && + if (el->el_map.type == MAP_VI && + el->el_line.cursor >= el->el_line.lastchar && el->el_line.cursor > el->el_line.buffer) /* bounds check */ el->el_line.cursor = el->el_line.lastchar - 1; ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libpkg/Makefile#4 (text+ko) ==== @@ -20,7 +20,8 @@ version.c INCS= pkg.h -CFLAGS+= -DYES_I_KNOW_THE_API_IS_RUBBISH_AND_IS_DOOMED_TO_CHANGE +CFLAGS+= -DYES_I_KNOW_THE_API_IS_RUBBISH_AND_IS_DOOMED_TO_CHANGE \ + -DI_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS DPADD= ${LIBARCHIVE} ${LIBFETCH} ${LIBMD} ${LIBUTIL} LDADD= -larchive -lfetch -lmd -lutil ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libpkg/file.c#23 (text+ko) ==== @@ -228,6 +228,7 @@ } +/*#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS*/ /* * Takes a filename and package name, returning (in "try") the * canonical "preserve" name for it. @@ -262,6 +263,7 @@ strncat(try, "backup", max -= 6); return TRUE; } +/*#endif*/ /* * Write the contents of "str" to a file ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libpkg/pkg.h#15 (text+ko) ==== @@ -107,12 +107,21 @@ #define PLIST_FMT_VER_MINOR 1 typedef enum _plist_t { - PLIST_FILE, PLIST_CWD, PLIST_CMD, PLIST_CHMOD, - PLIST_CHOWN, PLIST_CHGRP, PLIST_COMMENT, PLIST_IGNORE, - PLIST_NAME, PLIST_UNEXEC, PLIST_SRC, PLIST_DISPLAY, + PLIST_FILE, PLIST_CWD, PLIST_CMD, +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS + PLIST_CHMOD, PLIST_CHOWN, PLIST_CHGRP, +#endif + PLIST_COMMENT, PLIST_IGNORE, + PLIST_NAME, +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS + PLIST_UNEXEC, +#endif + PLIST_SRC, PLIST_DISPLAY, PLIST_PKGDEP, PLIST_CONFLICTS, PLIST_MTREE, PLIST_DIR_RM, PLIST_IGNORE_INST, PLIST_OPTION, PLIST_ORIGIN, PLIST_DEPORIGIN, +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS PLIST_NOINST +#endif } plist_t; typedef enum _match_t { ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/lib/libpkg/plist.c#14 (text+ko) ==== @@ -145,6 +145,7 @@ return (NULL); } +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS /* Look for a specific boolean option argument in the list */ char * find_plist_option(Package *pkg, const char *name) @@ -156,6 +157,7 @@ return (p->name); return (NULL); } +#endif /* * Delete plist item 'type' in the list (if 'name' is non-null, match it @@ -273,6 +275,7 @@ return (PLIST_SRC); else if (!strcmp(cmd, "cd")) return (PLIST_CWD); +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS else if (!strcmp(cmd, "exec")) return (PLIST_CMD); else if (!strcmp(cmd, "unexec")) @@ -285,6 +288,7 @@ return (PLIST_CHGRP); else if (!strcmp(cmd, "noinst")) return (PLIST_NOINST); +#endif else if (!strcmp(cmd, "comment")) { if (!strncmp(*arg, "ORIGIN:", 7)) { *arg += 7; @@ -526,6 +530,7 @@ fprintf(fp, "%csrcdir %s\n", CMD_CHAR, plist->name); break; +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS case PLIST_CMD: fprintf(fp, "%cexec %s\n", CMD_CHAR, plist->name); break; @@ -548,15 +553,18 @@ fprintf(fp, "%cgroup %s\n", CMD_CHAR, plist->name ? plist->name : ""); break; +#endif case PLIST_COMMENT: fprintf(fp, "%ccomment %s\n", CMD_CHAR, plist->name); break; +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS case PLIST_NOINST: fprintf(fp, "%cnoinst %s\n", CMD_CHAR, plist->name); break; +#endif case PLIST_IGNORE: /* FALLTHROUGH */ @@ -589,9 +597,11 @@ fprintf(fp, "%cdirrm %s\n", CMD_CHAR, plist->name); break; +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS case PLIST_OPTION: fprintf(fp, "%coption %s\n", CMD_CHAR, plist->name); break; +#endif case PLIST_ORIGIN: fprintf(fp, "%ccomment ORIGIN:%s\n", @@ -627,14 +637,18 @@ { PackingList p; Boolean fail = FALSE; +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS Boolean preserve; +#endif char tmp[FILENAME_MAX]; char *name = NULL; char *prefix = NULL; const char *Where = "."; const char *last_file = ""; +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS preserve = find_plist_option(pkg, "preserve") ? TRUE : FALSE; +#endif for (p = pkg->head; p != NULL; p = p->next) { @@ -734,6 +748,7 @@ if (delete_hierarchy(tmp, ign_err, nukedirs)) fail = -1; +#if I_CARE_ABOUT_BACKWARDS_COMPATIBILITY_MORE_THAN_PROGRESS if (preserve && name) { char tmp2[FILENAME_MAX]; @@ -748,6 +763,7 @@ } } +#endif } ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sbin/mount_nfs/mount_nfs.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/mount_nfs/mount_nfs.c,v 1.92 2010/02/04 15:17:49 ume Exp $"); +__FBSDID("$FreeBSD: src/sbin/mount_nfs/mount_nfs.c,v 1.93 2010/09/04 08:42:19 kevlo Exp $"); #include #include @@ -866,6 +866,7 @@ enum clnt_stat stat; enum mountmode trymntmode; + sotype = 0; trymntmode = mountmode; errbuf[0] = '\0'; *errstr = errbuf; ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/share/man/man4/sis.4#2 (text+ko) ==== @@ -28,9 +28,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/sis.4,v 1.26 2010/01/15 16:01:22 ru Exp $ +.\" $FreeBSD: src/share/man/man4/sis.4,v 1.28 2010/09/02 20:43:01 yongari Exp $ .\" -.Dd October 28, 2006 +.Dd September 2, 2010 .Dt SIS 4 .Os .Sh NAME @@ -145,6 +145,22 @@ .It Soekris Engineering net45xx, net48xx, lan1621, and lan1641 .El +.Sh SYSCTL VARIABLES +The following variable is available as both +.Xr sysctl 8 +variable and +.Xr loader 8 +tunable: +.Bl -tag -width indent +.It Va dev.sis.%unit.manual_pad +This variable controls how to pad short frames for DP83815/DP83816 +controllers on the specified device. +DP83815/DP83816 controllers are known to pad 0xFF for short frames +which is violation of RFC 1042. +Set this variable to a non-zero value to let driver manually pad +each short frame with zeros at the cost of extra CPU cycles. +The default value is 0 to let hardware perform automatic padding. +.El .Sh DIAGNOSTICS .Bl -diag .It "sis%d: couldn't map ports/memory" @@ -190,6 +206,7 @@ .Xr netintro 4 , .Xr ng_ether 4 , .Xr polling 4 , +.Xr vlan 4 , .Xr ifconfig 8 .Rs .%T SiS 900 and SiS 7016 datasheets ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/amd64/include/cpufunc.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/cpufunc.h,v 1.156 2010/01/01 20:55:11 obrien Exp $ + * $FreeBSD: src/sys/amd64/include/cpufunc.h,v 1.157 2010/09/03 14:25:17 rdivacky Exp $ */ /* @@ -421,40 +421,40 @@ __asm __volatile("invlpg %0" : : "m" (*(char *)addr) : "memory"); } -static __inline u_int +static __inline u_short rfs(void) { - u_int sel; - __asm __volatile("mov %%fs,%0" : "=rm" (sel)); + u_short sel; + __asm __volatile("movw %%fs,%0" : "=rm" (sel)); return (sel); } -static __inline u_int +static __inline u_short rgs(void) { - u_int sel; - __asm __volatile("mov %%gs,%0" : "=rm" (sel)); + u_short sel; + __asm __volatile("movw %%gs,%0" : "=rm" (sel)); return (sel); } -static __inline u_int +static __inline u_short rss(void) { - u_int sel; - __asm __volatile("mov %%ss,%0" : "=rm" (sel)); + u_short sel; + __asm __volatile("movw %%ss,%0" : "=rm" (sel)); return (sel); } static __inline void -load_ds(u_int sel) +load_ds(u_short sel) { - __asm __volatile("mov %0,%%ds" : : "rm" (sel)); + __asm __volatile("movw %0,%%ds" : : "rm" (sel)); } static __inline void -load_es(u_int sel) +load_es(u_short sel) { - __asm __volatile("mov %0,%%es" : : "rm" (sel)); + __asm __volatile("movw %0,%%es" : : "rm" (sel)); } static __inline void @@ -476,10 +476,10 @@ #define MSR_FSBASE 0xc0000100 #endif static __inline void -load_fs(u_int sel) +load_fs(u_short sel) { /* Preserve the fsbase value across the selector load */ - __asm __volatile("rdmsr; mov %0,%%fs; wrmsr" + __asm __volatile("rdmsr; movw %0,%%fs; wrmsr" : : "rm" (sel), "c" (MSR_FSBASE) : "eax", "edx"); } @@ -487,28 +487,28 @@ #define MSR_GSBASE 0xc0000101 #endif static __inline void -load_gs(u_int sel) +load_gs(u_short sel) { /* * Preserve the gsbase value across the selector load. * Note that we have to disable interrupts because the gsbase * being trashed happens to be the kernel gsbase at the time. */ - __asm __volatile("pushfq; cli; rdmsr; mov %0,%%gs; wrmsr; popfq" + __asm __volatile("pushfq; cli; rdmsr; movw %0,%%gs; wrmsr; popfq" : : "rm" (sel), "c" (MSR_GSBASE) : "eax", "edx"); } #else /* Usable by userland */ static __inline void -load_fs(u_int sel) +load_fs(u_short sel) { - __asm __volatile("mov %0,%%fs" : : "rm" (sel)); + __asm __volatile("movw %0,%%fs" : : "rm" (sel)); } static __inline void -load_gs(u_int sel) +load_gs(u_short sel) { - __asm __volatile("mov %0,%%gs" : : "rm" (sel)); + __asm __volatile("movw %0,%%gs" : : "rm" (sel)); } #endif @@ -692,8 +692,8 @@ void load_dr5(u_int64_t dr5); void load_dr6(u_int64_t dr6); void load_dr7(u_int64_t dr7); -void load_fs(u_int sel); -void load_gs(u_int sel); +void load_fs(u_short sel); +void load_gs(u_short sel); void ltr(u_short sel); void outb(u_int port, u_char data); void outl(u_int port, u_int data); ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/boot/ofw/libofw/ofw_copy.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_copy.c,v 1.16 2005/07/22 23:22:29 grehan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_copy.c,v 1.17 2010/09/02 22:26:49 nwhitehorn Exp $"); /* * MD primitives supporting placement of module data @@ -68,7 +68,7 @@ /* * Trim area covered by existing mapping, if any */ - if (dest < (last_dest + last_len)) { + if (dest < (last_dest + last_len) && dest >= last_dest) { nlen -= (last_dest + last_len) - dest; dest = last_dest + last_len; } ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/cam/ata/ata_da.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/ata/ata_da.c,v 1.19 2010/07/25 15:43:52 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/ata/ata_da.c,v 1.20 2010/09/02 19:40:28 gibbs Exp $"); #include @@ -874,7 +874,8 @@ } bioq_remove(&softc->bio_queue, bp); - if ((softc->flags & ADA_FLAG_NEED_OTAG) != 0) { + if ((bp->bio_flags & BIO_ORDERED) != 0 + || (softc->flags & ADA_FLAG_NEED_OTAG) != 0) { softc->flags &= ~ADA_FLAG_NEED_OTAG; softc->ordered_tag_count++; tag_code = 0; ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/cam/scsi/scsi_da.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.251 2010/08/20 17:20:05 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.252 2010/09/02 19:40:28 gibbs Exp $"); #include @@ -1354,7 +1354,8 @@ bioq_remove(&softc->bio_queue, bp); - if ((softc->flags & DA_FLAG_NEED_OTAG) != 0) { + if ((bp->bio_flags & BIO_ORDERED) != 0 + || (softc->flags & DA_FLAG_NEED_OTAG) != 0) { softc->flags &= ~DA_FLAG_NEED_OTAG; softc->ordered_tag_count++; tag_code = MSG_ORDERED_Q_TAG; @@ -1368,7 +1369,8 @@ /*retries*/da_retry_count, /*cbfcnp*/dadone, /*tag_action*/tag_code, - /*read_op*/bp->bio_cmd == BIO_READ, + /*read_op*/bp->bio_cmd + == BIO_READ, /*byte2*/0, softc->minimum_cmd_size, /*lba*/bp->bio_pblkno, @@ -1377,17 +1379,24 @@ /*data_ptr*/ bp->bio_data, /*dxfer_len*/ bp->bio_bcount, /*sense_len*/SSD_FULL_SIZE, - /*timeout*/da_default_timeout*1000); + da_default_timeout * 1000); break; case BIO_FLUSH: + /* + * BIO_FLUSH doesn't currently communicate + * range data, so we synchronize the cache + * over the whole disk. We also force + * ordered tag semantics the flush applies + * to all previously queued I/O. + */ scsi_synchronize_cache(&start_ccb->csio, /*retries*/1, /*cbfcnp*/dadone, - MSG_SIMPLE_Q_TAG, - /*begin_lba*/0,/* Cover the whole disk */ + MSG_ORDERED_Q_TAG, + /*begin_lba*/0, /*lb_count*/0, SSD_FULL_SIZE, - /*timeout*/da_default_timeout*1000); + da_default_timeout*1000); break; } start_ccb->ccb_h.ccb_state = DA_CCB_BUFFER_IO; ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#6 (text+ko) ==== @@ -598,6 +598,7 @@ break; case ZIO_TYPE_IOCTL: bp->bio_cmd = BIO_FLUSH; + bp->bio_flags |= BIO_ORDERED; bp->bio_data = NULL; bp->bio_offset = cp->provider->mediasize; bp->bio_length = 0; ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/acpica/acpi.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.284 2010/08/17 15:44:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.285 2010/09/03 08:07:04 avg Exp $"); #include "opt_acpi.h" #include @@ -1690,10 +1690,10 @@ ACPI_OBJECT_TYPE type; /* - * 1. I/O port and memory system resource holders - * 2. Embedded controllers (to handle early accesses) - * 3. PCI Link Devices - * 100000. CPUs + * 1. CPUs + * 2. I/O port and memory system resource holders + * 3. Embedded controllers (to handle early accesses) + * 4. PCI Link Devices */ AcpiGetType(handle, &type); if (type == ACPI_TYPE_PROCESSOR) @@ -1753,8 +1753,7 @@ * placeholder so that the probe/attach passes will run * breadth-first. Orders less than ACPI_DEV_BASE_ORDER * are reserved for special objects (i.e., system - * resources). CPU devices have a very high order to - * ensure they are probed after other devices. + * resources). */ ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "scanning '%s'\n", handle_str)); order = level * 10 + 100; ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/ata/ata-all.h#5 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.155 2010/07/03 14:14:42 mav Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.156 2010/09/02 11:18:43 mav Exp $ */ #include "opt_ata.h" @@ -565,6 +565,7 @@ #define ATA_NO_ATAPI_DMA 0x40 #define ATA_SATA 0x80 #define ATA_DMA_BEFORE_CMD 0x100 +#define ATA_KNOWN_PRESENCE 0x200 int pm_level; /* power management level */ int devices; /* what is present */ ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/ata/ata-lowlevel.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.87 2010/06/06 14:09:48 nwhitehorn Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.88 2010/09/02 11:18:43 mav Exp $"); #include "opt_ata.h" #include @@ -474,7 +474,8 @@ ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_D_LBA | ATA_DEV(ATA_MASTER)); DELAY(10); ostat0 = ATA_IDX_INB(ch, ATA_STATUS); - if ((ostat0 & 0xf8) != 0xf8 && ostat0 != 0xa5) { + if (((ostat0 & 0xf8) != 0xf8 || (ch->flags & ATA_KNOWN_PRESENCE)) && + ostat0 != 0xa5) { stat0 = ATA_S_BUSY; mask |= 0x01; } @@ -484,7 +485,8 @@ ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_D_LBA | ATA_DEV(ATA_SLAVE)); DELAY(10); ostat1 = ATA_IDX_INB(ch, ATA_STATUS); - if ((ostat1 & 0xf8) != 0xf8 && ostat1 != 0xa5) { + if (((ostat1 & 0xf8) != 0xf8 || (ch->flags & ATA_KNOWN_PRESENCE)) && + ostat1 != 0xa5) { stat1 = ATA_S_BUSY; mask |= 0x02; } @@ -570,22 +572,16 @@ } } - if (mask == 0x00) /* nothing to wait for */ - break; - if (mask == 0x01) /* wait for master only */ - if (!(stat0 & ATA_S_BUSY) || (stat0 == 0xff && timeout > 10)) - break; - if (mask == 0x02) /* wait for slave only */ - if (!(stat1 & ATA_S_BUSY) || (stat1 == 0xff && timeout > 10)) + if ((ch->flags & ATA_KNOWN_PRESENCE) == 0 && + timeout > ((mask == 0x03) ? 20 : 10)) { + if ((mask & 0x01) && stat0 == 0xff) + mask &= ~0x01; + if ((mask & 0x02) && stat1 == 0xff) + mask &= ~0x02; + } + if (((mask & 0x01) == 0 || !(stat0 & ATA_S_BUSY)) && + ((mask & 0x02) == 0 || !(stat1 & ATA_S_BUSY))) break; - if (mask == 0x03) { /* wait for both master & slave */ - if (!(stat0 & ATA_S_BUSY) && !(stat1 & ATA_S_BUSY)) - break; - if ((stat0 == 0xff) && (timeout > 20)) - mask &= ~0x01; - if ((stat1 == 0xff) && (timeout > 20)) - mask &= ~0x02; - } ata_udelay(100000); } ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/ata/chipsets/ata-siliconimage.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/chipsets/ata-siliconimage.c,v 1.15 2010/07/10 15:36:27 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/chipsets/ata-siliconimage.c,v 1.17 2010/09/02 12:32:29 mav Exp $"); #include "opt_ata.h" #include @@ -316,6 +316,7 @@ ch->r_io[ATA_SCONTROL].offset = 0x100 + (unit01 << 7) + (unit10 << 8); ch->flags |= ATA_NO_SLAVE; ch->flags |= ATA_SATA; + ch->flags |= ATA_KNOWN_PRESENCE; /* enable PHY state change interrupt */ ATA_OUTL(ctlr->r_res2, 0x148 + (unit01 << 7) + (unit10 << 8),(1 << 16)); @@ -364,7 +365,15 @@ static void ata_sii_reset(device_t dev) { + struct ata_pci_controller *ctlr = device_get_softc(device_get_parent(dev)); struct ata_channel *ch = device_get_softc(dev); + int offset = ((ch->unit & 1) << 7) + ((ch->unit & 2) << 8); + uint32_t val; + + /* Apply R_ERR on DMA activate FIS errata workaround. */ + val = ATA_INL(ctlr->r_res2, 0x14c + offset); + if ((val & 0x3) == 0x1) + ATA_OUTL(ctlr->r_res2, 0x14c + offset, val & ~0x3); if (ata_sata_phy_reset(dev, -1, 1)) ata_generic_reset(dev); ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/fb/vesa.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fb/vesa.c,v 1.47 2010/08/31 20:21:52 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fb/vesa.c,v 1.48 2010/09/02 17:22:12 jkim Exp $"); #include "opt_vga.h" #include "opt_vesa.h" @@ -96,10 +96,10 @@ static video_adapter_t *vesa_adp = NULL; SYSCTL_NODE(_debug, OID_AUTO, vesa, CTLFLAG_RD, NULL, "VESA debugging"); -static int vesa_shadow_rom = 1; +static int vesa_shadow_rom = 0; TUNABLE_INT("debug.vesa.shadow_rom", &vesa_shadow_rom); SYSCTL_INT(_debug_vesa, OID_AUTO, shadow_rom, CTLFLAG_RDTUN, &vesa_shadow_rom, - 1, "Enable video BIOS shadow"); + 0, "Enable video BIOS shadow"); /* VESA functions */ #if 0 ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/iscsi/initiator/iscsi.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iscsi/initiator/iscsi.c,v 1.6 2010/08/11 16:56:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iscsi/initiator/iscsi.c,v 1.7 2010/09/02 14:13:43 des Exp $"); #include "opt_iscsi_initiator.h" @@ -295,12 +295,6 @@ sprintf(buf, "%d/%d /---- free -----/\n", sc->npdu_alloc, sc->npdu_max); i = 0; uiomove(buf, strlen(buf), uio); - TAILQ_FOREACH(pq, &sc->freepdu, pq_link) { - if(uio->uio_resid == 0) - return 0; - sprintf(buf, "%03d] %06x\n", i++, ntohl(pq->pdu.ipdu.bhs.itt)); - uiomove(buf, strlen(buf), uio); - } } else { int i = 0; @@ -704,15 +698,10 @@ static void free_pdus(struct isc_softc *sc) { - pduq_t *pq; debug_called(8); if(sc->pdu_zone != NULL) { - TAILQ_FOREACH(pq, &sc->freepdu, pq_link) { - TAILQ_REMOVE(&sc->freepdu, pq, pq_link); - uma_zfree(sc->pdu_zone, pq); - } uma_zdestroy(sc->pdu_zone); sc->pdu_zone = NULL; } @@ -730,7 +719,6 @@ isc->dev = make_dev(&iscsi_cdevsw, max_sessions, UID_ROOT, GID_WHEEL, 0600, "iscsi"); isc->dev->si_drv1 = isc; mtx_init(&isc->isc_mtx, "iscsi", NULL, MTX_DEF); - mtx_init(&isc->pdu_mtx, "iscsi pdu pool", NULL, MTX_DEF); TAILQ_INIT(&isc->isc_sess); /* @@ -744,7 +732,6 @@ // XXX: should fail... } uma_zone_set_max(isc->pdu_zone, max_pdus); - TAILQ_INIT(&isc->freepdu); isc->unit = new_unrhdr(0, max_sessions-1, NULL); sx_init(&isc->unit_sx, "iscsi sx"); @@ -818,7 +805,6 @@ ic_destroy(sp); } mtx_destroy(&isc->isc_mtx); - mtx_destroy(&isc->pdu_mtx); sx_destroy(&isc->unit_sx); free_pdus(isc); ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/iscsi/initiator/iscsivar.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/iscsi/initiator/iscsivar.h,v 1.3 2010/08/09 12:36:36 des Exp $ + * $FreeBSD: src/sys/dev/iscsi/initiator/iscsivar.h,v 1.4 2010/09/02 14:13:43 des Exp $ */ /* @@ -203,10 +203,7 @@ struct unrhdr *unit; struct sx unit_sx; - struct mtx pdu_mtx; uma_zone_t pdu_zone; // pool of free pdu's - TAILQ_HEAD(,pduq) freepdu; - #ifdef ISCSI_INITIATOR_DEBUG int npdu_alloc, npdu_max; // for instrumentation #endif @@ -303,25 +300,15 @@ { pduq_t *pq; - mtx_lock(&isc->pdu_mtx); - if((pq = TAILQ_FIRST(&isc->freepdu)) == NULL) { - mtx_unlock(&isc->pdu_mtx); - pq = (pduq_t *)uma_zalloc(isc->pdu_zone, wait /* M_WAITOK or M_NOWAIT*/); - } - else { - TAILQ_REMOVE(&isc->freepdu, pq, pq_link); - mtx_unlock(&isc->pdu_mtx); - } + pq = (pduq_t *)uma_zalloc(isc->pdu_zone, wait /* M_WAITOK or M_NOWAIT*/); if(pq == NULL) { debug(7, "out of mem"); return NULL; } #ifdef ISCSI_INITIATOR_DEBUG - mtx_lock(&isc->pdu_mtx); isc->npdu_alloc++; if(isc->npdu_alloc > isc->npdu_max) isc->npdu_max = isc->npdu_alloc; - mtx_unlock(&isc->pdu_mtx); #endif memset(pq, 0, sizeof(pduq_t)); @@ -337,12 +324,10 @@ if(pq->buf != NULL) free(pq->buf, M_ISCSIBUF); #endif - mtx_lock(&isc->pdu_mtx); - TAILQ_INSERT_TAIL(&isc->freepdu, pq, pq_link); #ifdef ISCSI_INITIATOR_DEBUG isc->npdu_alloc--; #endif - mtx_unlock(&isc->pdu_mtx); + uma_zfree(isc->pdu_zone, pq); } static __inline void ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/sys/dev/sis/if_sis.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/sis/if_sis.c,v 1.21 2010/09/02 00:44:05 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sis/if_sis.c,v 1.26 2010/09/03 18:00:17 yongari Exp $"); /* * SiS 900/SiS 7016 fast ethernet PCI NIC driver. Datasheets are @@ -73,6 +73,7 @@ #include #include #include +#include #include #include @@ -146,11 +147,15 @@ static void sis_intr(void *); static int sis_ioctl(struct ifnet *, u_long, caddr_t); static int sis_newbuf(struct sis_softc *, struct sis_rxdesc *); +static int sis_resume(device_t); static int sis_rxeof(struct sis_softc *); static void sis_start(struct ifnet *); static void sis_startl(struct ifnet *); static void sis_stop(struct sis_softc *); +static int sis_suspend(device_t); +static void sis_add_sysctls(struct sis_softc *); static void sis_watchdog(struct sis_softc *); +static void sis_wol(struct sis_softc *); static struct resource_spec sis_res_spec[] = { @@ -710,24 +715,24 @@ (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) return; - sc->sis_link = 0; + sc->sis_flags &= ~SIS_FLAG_LINK; if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == (IFM_ACTIVE | IFM_AVALID)) { switch (IFM_SUBTYPE(mii->mii_media_active)) { case IFM_10_T: - sc->sis_link++; CSR_WRITE_4(sc, SIS_TX_CFG, SIS_TXCFG_10); + sc->sis_flags |= SIS_FLAG_LINK; break; case IFM_100_TX: - sc->sis_link++; CSR_WRITE_4(sc, SIS_TX_CFG, SIS_TXCFG_100); + sc->sis_flags |= SIS_FLAG_LINK; break; default: break; } } - if (sc->sis_link == 0) { + if ((sc->sis_flags & SIS_FLAG_LINK) == 0) { /* * Stopping MACs seem to reset SIS_TX_LISTPTR and * SIS_RX_LISTPTR which in turn requires resetting >>> TRUNCATED FOR MAIL (1000 lines) <<<