Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Dec 2013 17:47:46 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r259956 - in user/gjb/hacking/release-embedded: bin/sh contrib/gcc etc/devd lib/libc/sys release sbin/geom/class/mirror share/man/man4 sys/amd64/vmm/intel sys/amd64/vmm/io sys/arm/arm s...
Message-ID:  <201312271747.rBRHlkK6044080@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Fri Dec 27 17:47:45 2013
New Revision: 259956
URL: http://svnweb.freebsd.org/changeset/base/259956

Log:
  MFH: Tracking commit.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  user/gjb/hacking/release-embedded/bin/sh/input.c
  user/gjb/hacking/release-embedded/contrib/gcc/ChangeLog.gcc43
  user/gjb/hacking/release-embedded/contrib/gcc/reload1.c
  user/gjb/hacking/release-embedded/etc/devd/usb.conf
  user/gjb/hacking/release-embedded/lib/libc/sys/aio_fsync.2
  user/gjb/hacking/release-embedded/release/release.sh
  user/gjb/hacking/release-embedded/sbin/geom/class/mirror/gmirror.8
  user/gjb/hacking/release-embedded/share/man/man4/run.4
  user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx.c
  user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.c
  user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.h
  user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic_priv.h
  user/gjb/hacking/release-embedded/sys/arm/arm/pmap-v6.c
  user/gjb/hacking/release-embedded/sys/dev/usb/usbdevs
  user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_run.c
  user/gjb/hacking/release-embedded/sys/kern/vfs_bio.c
  user/gjb/hacking/release-embedded/sys/kern/vfs_cache.c
  user/gjb/hacking/release-embedded/sys/netinet/sctp_usrreq.c
  user/gjb/hacking/release-embedded/sys/netinet/sctputil.c
  user/gjb/hacking/release-embedded/sys/sys/gpt.h
  user/gjb/hacking/release-embedded/sys/vm/vm_map.c
Directory Properties:
  user/gjb/hacking/release-embedded/   (props changed)

Modified: user/gjb/hacking/release-embedded/bin/sh/input.c
==============================================================================
--- user/gjb/hacking/release-embedded/bin/sh/input.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/bin/sh/input.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -228,7 +228,6 @@ preadbuffer(void)
 {
 	char *p, *q;
 	int more;
-	int something;
 	char savec;
 
 	if (parsefile->strpush) {
@@ -252,24 +251,18 @@ again:
 	q = p = parsefile->buf + (parsenextc - parsefile->buf);
 
 	/* delete nul characters */
-	something = 0;
 	for (more = 1; more;) {
 		switch (*p) {
 		case '\0':
 			p++;	/* Skip nul */
 			goto check;
 
-		case '\t':
-		case ' ':
-			break;
-
 		case '\n':
 			parsenleft = q - parsenextc;
 			more = 0; /* Stop processing here */
 			break;
 
 		default:
-			something = 1;
 			break;
 		}
 
@@ -288,7 +281,8 @@ check:
 	*q = '\0';
 
 #ifndef NO_HISTORY
-	if (parsefile->fd == 0 && hist && something) {
+	if (parsefile->fd == 0 && hist &&
+	    parsenextc[strspn(parsenextc, " \t\n")] != '\0') {
 		HistEvent he;
 		INTOFF;
 		history(hist, &he, whichprompt == 1 ? H_ENTER : H_ADD,

Modified: user/gjb/hacking/release-embedded/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- user/gjb/hacking/release-embedded/contrib/gcc/ChangeLog.gcc43	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/contrib/gcc/ChangeLog.gcc43	Fri Dec 27 17:47:45 2013	(r259956)
@@ -151,6 +151,11 @@
 	alignment for amdfam10 architecture. Increasing the max loop
 	alignment to 24 bytes.
 
+2007-04-24  Hui-May Chang <hm.chang@apple.com> (r124115)
+
+	* reload1.c (merge_assigned_reloads) : Do not merge a RELOAD_OTHER
+	instruction with a RELOAD_FOR_OPERAND_ADDRESS instruction.
+
 2007-04-16  Lawrence Crowl  <crowl@google.com> (r123909)
 
 	* doc/invoke.texi (Debugging Options): Add documentation for the

Modified: user/gjb/hacking/release-embedded/contrib/gcc/reload1.c
==============================================================================
--- user/gjb/hacking/release-embedded/contrib/gcc/reload1.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/contrib/gcc/reload1.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -6238,15 +6238,23 @@ merge_assigned_reloads (rtx insn)
 		transfer_replacements (i, j);
 	      }
 
-	  /* If this is now RELOAD_OTHER, look for any reloads that load
-	     parts of this operand and set them to RELOAD_FOR_OTHER_ADDRESS
-	     if they were for inputs, RELOAD_OTHER for outputs.  Note that
-	     this test is equivalent to looking for reloads for this operand
-	     number.  */
-	  /* We must take special care with RELOAD_FOR_OUTPUT_ADDRESS; it may
-	     share registers with a RELOAD_FOR_INPUT, so we can not change it
-	     to RELOAD_FOR_OTHER_ADDRESS.  We should never need to, since we
-	     do not modify RELOAD_FOR_OUTPUT.  */
+	  /* If this is now RELOAD_OTHER, look for any reloads that
+	     load parts of this operand and set them to
+	     RELOAD_FOR_OTHER_ADDRESS if they were for inputs,
+	     RELOAD_OTHER for outputs.  Note that this test is
+	     equivalent to looking for reloads for this operand
+	     number.
+
+	     We must take special care with RELOAD_FOR_OUTPUT_ADDRESS;
+	     it may share registers with a RELOAD_FOR_INPUT, so we can
+	     not change it to RELOAD_FOR_OTHER_ADDRESS.  We should
+	     never need to, since we do not modify RELOAD_FOR_OUTPUT.
+
+	     It is possible that the RELOAD_FOR_OPERAND_ADDRESS
+	     instruction is assigned the same register as the earlier
+	     RELOAD_FOR_OTHER_ADDRESS instruction.  Merging these two
+	     instructions will cause the RELOAD_FOR_OTHER_ADDRESS
+	     instruction to be deleted later on.  */
 
 	  if (rld[i].when_needed == RELOAD_OTHER)
 	    for (j = 0; j < n_reloads; j++)
@@ -6254,6 +6262,7 @@ merge_assigned_reloads (rtx insn)
 		  && rld[j].when_needed != RELOAD_OTHER
 		  && rld[j].when_needed != RELOAD_FOR_OTHER_ADDRESS
 		  && rld[j].when_needed != RELOAD_FOR_OUTPUT_ADDRESS
+		  && rld[j].when_needed != RELOAD_FOR_OPERAND_ADDRESS
 		  && (! conflicting_input
 		      || rld[j].when_needed == RELOAD_FOR_INPUT_ADDRESS
 		      || rld[j].when_needed == RELOAD_FOR_INPADDR_ADDRESS)

Modified: user/gjb/hacking/release-embedded/etc/devd/usb.conf
==============================================================================
--- user/gjb/hacking/release-embedded/etc/devd/usb.conf	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/etc/devd/usb.conf	Fri Dec 27 17:47:45 2013	(r259956)
@@ -4625,7 +4625,7 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x2001";
-	match "product" "(0x3c09|0x3c0a|0x3c15|0x3c1a|0x3c1b)";
+	match "product" "(0x3c09|0x3c0a|0x3c15|0x3c1a|0x3c1b|0x3c20)";
 	action "kldload -n if_run";
 };
 
@@ -5341,5 +5341,5 @@ nomatch 32 {
 	action "kldload -n umass";
 };
 
-# 2576 USB entries processed
+# 2577 USB entries processed
 

Modified: user/gjb/hacking/release-embedded/lib/libc/sys/aio_fsync.2
==============================================================================
--- user/gjb/hacking/release-embedded/lib/libc/sys/aio_fsync.2	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/lib/libc/sys/aio_fsync.2	Fri Dec 27 17:47:45 2013	(r259956)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 4, 2013
+.Dd December 27, 2013
 .Dt AIO_FSYNC 2
 .Os
 .Sh NAME
@@ -49,7 +49,7 @@ completed at the time the call returns.
 .Pp
 The
 .Fa op
-argument could be set only to
+argument can only be set to
 .Dv O_SYNC
 to cause all currently queued I/O operations to be completed
 as if by a call to
@@ -109,7 +109,8 @@ returned in
 .It Bq Er EBADF
 The
 .Fa iocb->aio_fildes
-is invalid for writing.
+argument
+is not a valid descriptor.
 .It Bq Er EINVAL
 This implementation does not support synchronized I/O for this file.
 .El

Modified: user/gjb/hacking/release-embedded/release/release.sh
==============================================================================
--- user/gjb/hacking/release-embedded/release/release.sh	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/release/release.sh	Fri Dec 27 17:47:45 2013	(r259956)
@@ -173,21 +173,6 @@ mount -t devfs devfs ${CHROOTDIR}/dev
 cp /etc/resolv.conf ${CHROOTDIR}/etc/resolv.conf
 trap "umount ${CHROOTDIR}/dev" EXIT # Clean up devfs mount on exit
 
-build_doc_ports() {
-	# Run ldconfig(8) in the chroot directory so /var/run/ld-elf*.so.hints
-	# is created.  This is needed by ports-mgmt/pkg.
-	chroot ${CHROOTDIR} /etc/rc.d/ldconfig forcerestart
-
-	## Trick the ports 'run-autotools-fixup' target to do the right thing.
-	_OSVERSION=$(sysctl -n kern.osreldate)
-	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then
-		PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes"
-		PBUILD_FLAGS="${PBUILD_FLAGS}"
-		chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \
-			${PBUILD_FLAGS} OPTIONS_UNSET="FOP IGOR" install clean distclean
-	fi
-}
-
 # If MAKE_CONF and/or SRC_CONF are set and not character devices (/dev/null),
 # copy them to the chroot.
 if [ -e ${MAKE_CONF} ] && [ ! -c ${MAKE_CONF} ]; then
@@ -200,7 +185,18 @@ if [ -e ${SRC_CONF} ] && [ ! -c ${SRC_CO
 fi
 
 if [ -d ${CHROOTDIR}/usr/ports ]; then
-	build_doc_ports ${CHROOTDIR}
+	# Run ldconfig(8) in the chroot directory so /var/run/ld-elf*.so.hints
+	# is created.  This is needed by ports-mgmt/pkg.
+	chroot ${CHROOTDIR} /etc/rc.d/ldconfig forcerestart
+
+	## Trick the ports 'run-autotools-fixup' target to do the right thing.
+	_OSVERSION=$(sysctl -n kern.osreldate)
+	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then
+		PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes"
+		PBUILD_FLAGS="${PBUILD_FLAGS}"
+		chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \
+			${PBUILD_FLAGS} OPTIONS_UNSET="FOP IGOR" install clean distclean
+	fi
 fi
 
 if [ "x${RELSTRING}" = "x" ]; then

Modified: user/gjb/hacking/release-embedded/sbin/geom/class/mirror/gmirror.8
==============================================================================
--- user/gjb/hacking/release-embedded/sbin/geom/class/mirror/gmirror.8	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sbin/geom/class/mirror/gmirror.8	Fri Dec 27 17:47:45 2013	(r259956)
@@ -327,9 +327,7 @@ gmirror activate data da1
 .Sh NOTES
 Doing kernel dumps to
 .Nm
-providers.
-.Pp
-This is possible, but some conditions have to be met.
+providers is possible, but some conditions have to be met.
 First of all, a kernel dump will go only to one component and
 .Nm
 always chooses the component with the highest priority.

Modified: user/gjb/hacking/release-embedded/share/man/man4/run.4
==============================================================================
--- user/gjb/hacking/release-embedded/share/man/man4/run.4	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/share/man/man4/run.4	Fri Dec 27 17:47:45 2013	(r259956)
@@ -16,7 +16,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 11, 2013
+.Dd December 27, 2013
 .Dt RUN 4
 .Os
 .Sh NAME
@@ -132,7 +132,7 @@ driver supports the following wireless a
 .It Corega CG-WLUSB300AGN
 .It Corega CG-WLUSB300GNM
 .It D-Link DWA-130 rev B1
-.It D-Link DWA-140 rev B1, B2, B3
+.It D-Link DWA-140 rev B1, B2, B3, D1
 .It D-Link DWA-160 rev B2
 .It DrayTek Vigor N61
 .It Edimax EW-7711UAn

Modified: user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx.c
==============================================================================
--- user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -1114,6 +1114,7 @@ vmx_emulate_cr_access(struct vmx *vmx, i
 	if (cr != 0 && cr != 4)
 		return (UNHANDLED);
 
+	regval = 0; /* silence gcc */
 	vmxctx = &vmx->ctx[vcpu];
 
 	/*

Modified: user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.c
==============================================================================
--- user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -218,13 +218,17 @@ vlapic_timer_divisor(uint32_t dcr)
 }
 
 static void
-vlapic_mask_lvts(uint32_t *lvts, int num_lvt)
+vlapic_mask_lvts(struct vlapic *vlapic)
 {
-	int i;
-	for (i = 0; i < num_lvt; i++) {
-		*lvts |= APIC_LVT_M;
-		lvts += 4;
-	}
+	struct LAPIC *lapic = vlapic->apic_page;
+
+	lapic->lvt_cmci |= APIC_LVT_M;
+	lapic->lvt_timer |= APIC_LVT_M;
+	lapic->lvt_thermal |= APIC_LVT_M;
+	lapic->lvt_pcint |= APIC_LVT_M;
+	lapic->lvt_lint0 |= APIC_LVT_M;
+	lapic->lvt_lint1 |= APIC_LVT_M;
+	lapic->lvt_error |= APIC_LVT_M;
 }
 
 #if 0
@@ -318,14 +322,15 @@ vlapic_reset(struct vlapic *vlapic)
 	lapic->version |= (VLAPIC_MAXLVT_ENTRIES << MAXLVTSHIFT);
 	lapic->dfr = 0xffffffff;
 	lapic->svr = APIC_SVR_VECTOR;
-	vlapic_mask_lvts(&lapic->lvt_timer, 6);
-	vlapic_mask_lvts(&lapic->lvt_cmci, 1);
+	vlapic_mask_lvts(vlapic);
 	vlapic_set_dcr(vlapic, 0);
 
 	if (vlapic->vcpuid == 0)
 		vlapic->boot_state = BS_RUNNING;	/* BSP */
 	else
 		vlapic->boot_state = BS_INIT;		/* AP */
+
+	vlapic->svr_last = lapic->svr;
 }
 
 void
@@ -1052,24 +1057,30 @@ vlapic_intr_accepted(struct vlapic *vlap
 	vlapic_update_ppr(vlapic);
 }
 
-static void
-lapic_set_svr(struct vlapic *vlapic, uint32_t new)
+void
+vlapic_svr_write_handler(struct vlapic *vlapic)
 {
 	struct LAPIC *lapic;
-	uint32_t old, changed;
+	uint32_t old, new, changed;
 
 	lapic = vlapic->apic_page;
-	old = lapic->svr;
+
+	new = lapic->svr;
+	old = vlapic->svr_last;
+	vlapic->svr_last = new;
+
 	changed = old ^ new;
 	if ((changed & APIC_SVR_ENABLE) != 0) {
 		if ((new & APIC_SVR_ENABLE) == 0) {
 			/*
-			 * The apic is now disabled so stop the apic timer.
+			 * The apic is now disabled so stop the apic timer
+			 * and mask all the LVT entries.
 			 */
 			VLAPIC_CTR0(vlapic, "vlapic is software-disabled");
 			VLAPIC_TIMER_LOCK(vlapic);
 			callout_stop(&vlapic->callout);
 			VLAPIC_TIMER_UNLOCK(vlapic);
+			vlapic_mask_lvts(vlapic);
 		} else {
 			/*
 			 * The apic is now enabled so restart the apic timer
@@ -1080,7 +1091,6 @@ lapic_set_svr(struct vlapic *vlapic, uin
 				vlapic_set_icr_timer(vlapic, lapic->icr_timer);
 		}
 	}
-	lapic->svr = new;
 }
 
 int
@@ -1210,7 +1220,8 @@ vlapic_write(struct vlapic *vlapic, uint
 			vlapic_dfr_write_handler(vlapic);
 			break;
 		case APIC_OFFSET_SVR:
-			lapic_set_svr(vlapic, data);
+			lapic->svr = data;
+			vlapic_svr_write_handler(vlapic);
 			break;
 		case APIC_OFFSET_ICR_LOW: 
 			if (!x2apic(vlapic)) {

Modified: user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.h
==============================================================================
--- user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.h	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.h	Fri Dec 27 17:47:45 2013	(r259956)
@@ -75,4 +75,5 @@ void vlapic_post_intr(struct vlapic *vla
 void vlapic_id_write_handler(struct vlapic *vlapic);
 void vlapic_ldr_write_handler(struct vlapic *vlapic);
 void vlapic_dfr_write_handler(struct vlapic *vlapic);
+void vlapic_svr_write_handler(struct vlapic *vlapic);
 #endif	/* _VLAPIC_H_ */

Modified: user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic_priv.h
==============================================================================
--- user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic_priv.h	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic_priv.h	Fri Dec 27 17:47:45 2013	(r259956)
@@ -116,6 +116,7 @@ struct vlapic {
 
 	uint64_t		msr_apicbase;
 	enum boot_state		boot_state;
+	uint32_t		svr_last;
 };
 
 void vlapic_init(struct vlapic *vlapic);

Modified: user/gjb/hacking/release-embedded/sys/arm/arm/pmap-v6.c
==============================================================================
--- user/gjb/hacking/release-embedded/sys/arm/arm/pmap-v6.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/arm/arm/pmap-v6.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -3094,21 +3094,16 @@ validate:
 			if ((m->oflags & VPO_UNMANAGED) == 0) {
 				vm_page_aflag_set(m, PGA_WRITEABLE);
 				/*
-				 * Enable write permission if the access type
-				 * indicates write intention. Emulate modified
-				 * bit otherwise.
+				 * XXX: Skip modified bit emulation for now.
+				 *	The emulation reveals problems
+				 *	that result in random failures
+				 *	during memory allocation on some
+				 *	platforms.
+				 *	Therefore, the page is marked RW
+				 *	immediately.
 				 */
-				if ((access & VM_PROT_WRITE) != 0) {
-					npte &= ~(L2_APX);
-					/*
-					 * The access type and permissions
-					 * indicate that the page will be
-					 * written as soon as returned from
-					 * fault service.
-					 * Mark it dirty from the outset.
-					 */
-					vm_page_dirty(m);
-				}
+				npte &= ~(L2_APX);
+				vm_page_dirty(m);
 			} else
 				npte &= ~(L2_APX);
 		}

Modified: user/gjb/hacking/release-embedded/sys/dev/usb/usbdevs
==============================================================================
--- user/gjb/hacking/release-embedded/sys/dev/usb/usbdevs	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/dev/usb/usbdevs	Fri Dec 27 17:47:45 2013	(r259956)
@@ -1558,6 +1558,7 @@ product DLINK RT3072		0x3c0a	RT3072
 product DLINK DWA140B3		0x3c15	DWA-140 rev B3
 product DLINK DWA160B2		0x3c1a	DWA-160 rev B2
 product DLINK DWA127		0x3c1b	DWA-127 Wireless Adapter
+product DLINK DWA140D1		0x3c20	DWA-140 rev D1
 product DLINK DSB650C		0x4000	10Mbps Ethernet
 product DLINK DSB650TX1		0x4001	10/100 Ethernet
 product DLINK DSB650TX		0x4002	10/100 Ethernet

Modified: user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_run.c
==============================================================================
--- user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_run.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_run.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -178,6 +178,7 @@ static const STRUCT_USB_HOST_ID run_devs
     RUN_DEV(DLINK,		DWA127),
     RUN_DEV(DLINK,		DWA140B3),
     RUN_DEV(DLINK,		DWA160B2),
+    RUN_DEV(DLINK,		DWA140D1),
     RUN_DEV(DLINK2,		DWA130),
     RUN_DEV(DLINK2,		RT2870_1),
     RUN_DEV(DLINK2,		RT2870_2),

Modified: user/gjb/hacking/release-embedded/sys/kern/vfs_bio.c
==============================================================================
--- user/gjb/hacking/release-embedded/sys/kern/vfs_bio.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/kern/vfs_bio.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -3678,7 +3678,7 @@ bufdonebio(struct bio *bip)
 	struct buf *bp;
 
 	bp = bip->bio_caller2;
-	bp->b_resid = bp->b_bcount - bip->bio_completed;
+	bp->b_resid = bip->bio_resid;
 	bp->b_ioflags = bip->bio_flags;
 	bp->b_error = bip->bio_error;
 	if (bp->b_error)

Modified: user/gjb/hacking/release-embedded/sys/kern/vfs_cache.c
==============================================================================
--- user/gjb/hacking/release-embedded/sys/kern/vfs_cache.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/kern/vfs_cache.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -748,16 +748,20 @@ cache_enter_time(dvp, vp, cnp, tsp, dtsp
 			    ncp->nc_flag & NCF_ISDOTDOT) {
 				KASSERT(ncp->nc_dvp == dvp,
 				    ("wrong isdotdot parent"));
-				if (ncp->nc_vp != NULL)
+				if (ncp->nc_vp != NULL) {
 					TAILQ_REMOVE(&ncp->nc_vp->v_cache_dst,
 					    ncp, nc_dst);
-				else
+				} else {
 					TAILQ_REMOVE(&ncneg, ncp, nc_dst);
-				if (vp != NULL)
+					numneg--;
+				}
+				if (vp != NULL) {
 					TAILQ_INSERT_HEAD(&vp->v_cache_dst,
 					    ncp, nc_dst);
-				else
+				} else {
 					TAILQ_INSERT_TAIL(&ncneg, ncp, nc_dst);
+					numneg++;
+				}
 				ncp->nc_vp = vp;
 				CACHE_WUNLOCK();
 				return;
@@ -893,6 +897,8 @@ cache_enter_time(dvp, vp, cnp, tsp, dtsp
 	}
 	if (numneg * ncnegfactor > numcache) {
 		ncp = TAILQ_FIRST(&ncneg);
+		KASSERT(ncp->nc_vp == NULL, ("ncp %p vp %p on ncneg",
+		    ncp, ncp->nc_vp));
 		zap = 1;
 	}
 	if (hold)

Modified: user/gjb/hacking/release-embedded/sys/netinet/sctp_usrreq.c
==============================================================================
--- user/gjb/hacking/release-embedded/sys/netinet/sctp_usrreq.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/netinet/sctp_usrreq.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -2788,7 +2788,7 @@ flags_out:
 
 			if (stcb) {
 				/* simply copy out the sockaddr_storage... */
-				int len;
+				size_t len;
 
 				len = *optsize;
 				if (len > stcb->asoc.primary_destination->ro._l_addr.sa.sa_len)

Modified: user/gjb/hacking/release-embedded/sys/netinet/sctputil.c
==============================================================================
--- user/gjb/hacking/release-embedded/sys/netinet/sctputil.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/netinet/sctputil.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -5868,8 +5868,8 @@ get_more_data:
 			goto release;
 		}
 		if ((uio->uio_resid == 0) ||
-		    ((in_eeor_mode) && (copied_so_far >= max(so->so_rcv.sb_lowat, 1)))
-		    ) {
+		    ((in_eeor_mode) &&
+		    (copied_so_far >= (uint32_t) max(so->so_rcv.sb_lowat, 1)))) {
 			goto release;
 		}
 		/*

Modified: user/gjb/hacking/release-embedded/sys/sys/gpt.h
==============================================================================
--- user/gjb/hacking/release-embedded/sys/sys/gpt.h	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/sys/gpt.h	Fri Dec 27 17:47:45 2013	(r259956)
@@ -128,7 +128,7 @@ struct gpt_ent {
 	{0x9d275380,0x40ad,0x11db,0xbf,0x97,{0x00,0x0c,0x29,0x11,0xd1,0xb8}}
 #define	GPT_ENT_TYPE_VMRESERVED		\
 	{0x9198effc,0x31c0,0x11db,0x8f,0x78,{0x00,0x0c,0x29,0x11,0xd1,0xb8}}
-#define	GPT_ENT_TYPE_VSANHDR		\
+#define	GPT_ENT_TYPE_VMVSANHDR		\
 	{0x381cfccc,0x7288,0x11e0,0x92,0xee,{0x00,0x0c,0x29,0x11,0xd0,0xb2}}
 
 #define	GPT_ENT_TYPE_APPLE_BOOT		\

Modified: user/gjb/hacking/release-embedded/sys/vm/vm_map.c
==============================================================================
--- user/gjb/hacking/release-embedded/sys/vm/vm_map.c	Fri Dec 27 17:36:43 2013	(r259955)
+++ user/gjb/hacking/release-embedded/sys/vm/vm_map.c	Fri Dec 27 17:47:45 2013	(r259956)
@@ -1207,6 +1207,7 @@ charged:
 	}
 	else if ((prev_entry != &map->header) &&
 		 (prev_entry->eflags == protoeflags) &&
+		 (cow & (MAP_ENTRY_GROWS_DOWN | MAP_ENTRY_GROWS_UP)) == 0 &&
 		 (prev_entry->end == start) &&
 		 (prev_entry->wired_count == 0) &&
 		 (prev_entry->cred == cred ||
@@ -3339,7 +3340,6 @@ vm_map_stack(vm_map_t map, vm_offset_t a
 	 * NOTE: We explicitly allow bi-directional stacks.
 	 */
 	orient = cow & (MAP_STACK_GROWS_DOWN|MAP_STACK_GROWS_UP);
-	cow &= ~orient;
 	KASSERT(orient != 0, ("No stack grow direction"));
 
 	if (addrbos < vm_map_min(map) ||



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312271747.rBRHlkK6044080>