svn commit: r197678 - in projects/sbruno_firewire: . etc/rc.d sys/amd64/amd64 sys/amd64/conf sys/amd64/include sys/bsm sys/cam sys/compat/freebsd32 sys/dev/acpica sys/dev/ae sys/dev/age sys/dev/alc...

Sean Bruno sbruno at FreeBSD.org
Thu Oct 1 16:25:36 UTC 2009


Author: sbruno
Date: Thu Oct  1 16:25:35 2009
New Revision: 197678
URL: http://svn.freebsd.org/changeset/base/197678

Log:
  Merge to HEAD

Modified:
  projects/sbruno_firewire/   (props changed)
  projects/sbruno_firewire/etc/rc.d/netoptions
  projects/sbruno_firewire/etc/rc.d/routing
  projects/sbruno_firewire/sys/amd64/amd64/initcpu.c
  projects/sbruno_firewire/sys/amd64/conf/GENERIC
  projects/sbruno_firewire/sys/amd64/include/cpufunc.h
  projects/sbruno_firewire/sys/bsm/audit_kevents.h
  projects/sbruno_firewire/sys/cam/cam_sim.c
  projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_proto.h
  projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscall.h
  projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_sysent.c
  projects/sbruno_firewire/sys/compat/freebsd32/syscalls.master
  projects/sbruno_firewire/sys/dev/acpica/acpi_acad.c
  projects/sbruno_firewire/sys/dev/acpica/acpi_video.c
  projects/sbruno_firewire/sys/dev/ae/if_ae.c
  projects/sbruno_firewire/sys/dev/age/if_age.c
  projects/sbruno_firewire/sys/dev/alc/if_alc.c
  projects/sbruno_firewire/sys/dev/ale/if_ale.c
  projects/sbruno_firewire/sys/dev/if_ndis/if_ndis.c
  projects/sbruno_firewire/sys/dev/mxge/if_mxge.c
  projects/sbruno_firewire/sys/dev/mxge/if_mxge_var.h
  projects/sbruno_firewire/sys/dev/sound/pci/hda/hdac.c
  projects/sbruno_firewire/sys/fs/nfs/nfs_commonacl.c
  projects/sbruno_firewire/sys/i386/conf/GENERIC
  projects/sbruno_firewire/sys/i386/i386/initcpu.c
  projects/sbruno_firewire/sys/i386/include/cpufunc.h
  projects/sbruno_firewire/sys/kern/init_main.c
  projects/sbruno_firewire/sys/kern/init_sysent.c
  projects/sbruno_firewire/sys/kern/kern_rwlock.c
  projects/sbruno_firewire/sys/kern/kern_sig.c
  projects/sbruno_firewire/sys/kern/kern_sx.c
  projects/sbruno_firewire/sys/kern/syscalls.c
  projects/sbruno_firewire/sys/kern/syscalls.master
  projects/sbruno_firewire/sys/kern/uipc_syscalls.c
  projects/sbruno_firewire/sys/pc98/conf/GENERIC
  projects/sbruno_firewire/sys/sys/rwlock.h
  projects/sbruno_firewire/sys/sys/sx.h
  projects/sbruno_firewire/sys/sys/syscall.h
  projects/sbruno_firewire/sys/sys/syscall.mk
  projects/sbruno_firewire/sys/sys/sysproto.h
  projects/sbruno_firewire/sys/vm/vm_map.c
  projects/sbruno_firewire/usr.sbin/lpr/lp/lp.sh
  projects/sbruno_firewire/usr.sbin/mfiutil/mfiutil.8   (props changed)

Modified: projects/sbruno_firewire/etc/rc.d/netoptions
==============================================================================
--- projects/sbruno_firewire/etc/rc.d/netoptions	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/etc/rc.d/netoptions	Thu Oct  1 16:25:35 2009	(r197678)
@@ -9,6 +9,7 @@
 # KEYWORD: nojail
 
 . /etc/rc.subr
+. /etc/network.subr
 
 name="netoptions"
 start_cmd="netoptions_start"
@@ -66,11 +67,13 @@ netoptions_start()
 		;;
 	esac
 
-	if checkyesno ipv6_ipv4mapping; then
-		${SYSCTL_W} net.inet6.ip6.v6only=0 >/dev/null
-	else
-		echo -n " no-ipv4-mapped-ipv6"
-		${SYSCTL_W} net.inet6.ip6.v6only=1 >/dev/null
+	if afexists inet6; then
+		if checkyesno ipv6_ipv4mapping; then
+			${SYSCTL_W} net.inet6.ip6.v6only=0 >/dev/null
+		else
+			echo -n " no-ipv4-mapped-ipv6"
+			${SYSCTL_W} net.inet6.ip6.v6only=1 >/dev/null
+		fi
 	fi
 
 	[ -n "${_netoptions_initdone}" ] && echo '.'

Modified: projects/sbruno_firewire/etc/rc.d/routing
==============================================================================
--- projects/sbruno_firewire/etc/rc.d/routing	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/etc/rc.d/routing	Thu Oct  1 16:25:35 2009	(r197678)
@@ -51,7 +51,9 @@ static_start()
 		;;
 	*)
 		do_static inet add
-		do_static inet6 add
+		if afexists inet6; then
+			do_static inet6 add
+		fi
 		do_static atm add
 		;;
 	esac
@@ -74,7 +76,9 @@ static_stop()
 		;;
 	*)
 		do_static inet delete
-		do_static inet6 delete
+		if afexists inet6; then
+			do_static inet6 delete
+		fi
 		do_static atm delete
 		;;
 	esac

Modified: projects/sbruno_firewire/sys/amd64/amd64/initcpu.c
==============================================================================
--- projects/sbruno_firewire/sys/amd64/amd64/initcpu.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/amd64/amd64/initcpu.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -165,4 +165,10 @@ initializecpu(void)
 	 */
 	if ((cpu_feature & CPUID_CLFSH) != 0)
 		cpu_clflush_line_size = ((cpu_procinfo >> 8) & 0xff) * 8;
+	/*
+	 * XXXKIB: (temporary) hack to work around traps generated when
+	 * CLFLUSHing APIC registers window.
+	 */
+	if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS))
+		cpu_feature &= ~CPUID_CLFSH;
 }

Modified: projects/sbruno_firewire/sys/amd64/conf/GENERIC
==============================================================================
--- projects/sbruno_firewire/sys/amd64/conf/GENERIC	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/amd64/conf/GENERIC	Thu Oct  1 16:25:35 2009	(r197678)
@@ -257,7 +257,7 @@ device		xe		# Xircom pccard Ethernet
 device		wlan		# 802.11 support
 options 	IEEE80211_DEBUG	# enable debug msgs
 options 	IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
-options 	IEEE80211_SUPPORT_MESH	# enable 802.11s D3.0 support
+options 	IEEE80211_SUPPORT_MESH	# enable 802.11s draft support
 device		wlan_wep	# 802.11 WEP support
 device		wlan_ccmp	# 802.11 CCMP support
 device		wlan_tkip	# 802.11 TKIP support

Modified: projects/sbruno_firewire/sys/amd64/include/cpufunc.h
==============================================================================
--- projects/sbruno_firewire/sys/amd64/include/cpufunc.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/amd64/include/cpufunc.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -277,7 +277,7 @@ static __inline void
 mfence(void)
 {
 
-	__asm__ __volatile("mfence" : : : "memory");
+	__asm __volatile("mfence" : : : "memory");
 }
 
 static __inline void
@@ -457,14 +457,14 @@ load_es(u_int sel)
 	__asm __volatile("mov %0,%%es" : : "rm" (sel));
 }
 
-static inline void
+static __inline void
 cpu_monitor(const void *addr, int extensions, int hints)
 {
 	__asm __volatile("monitor;"
 	    : :"a" (addr), "c" (extensions), "d"(hints));
 }
 
-static inline void
+static __inline void
 cpu_mwait(int extensions, int hints)
 {
 	__asm __volatile("mwait;" : :"a" (hints), "c" (extensions));

Modified: projects/sbruno_firewire/sys/bsm/audit_kevents.h
==============================================================================
--- projects/sbruno_firewire/sys/bsm/audit_kevents.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/bsm/audit_kevents.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -598,6 +598,10 @@
 #define	AUE_FSCTL		43194	/* Darwin. */
 #define	AUE_FFSCTL		43195	/* Darwin. */
 #define	AUE_LPATHCONF		43196	/* FreeBSD. */
+#define	AUE_PDFORK		43197	/* FreeBSD. */
+#define	AUE_PDKILL		43198	/* FreeBSD. */
+#define	AUE_PDGETPID		43199	/* FreeBSD. */
+#define	AUE_PDWAIT		43200	/* FreeBSD. */
 
 /*
  * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the

Modified: projects/sbruno_firewire/sys/cam/cam_sim.c
==============================================================================
--- projects/sbruno_firewire/sys/cam/cam_sim.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/cam/cam_sim.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -106,8 +106,10 @@ cam_sim_free(struct cam_sim *sim, int fr
 {
 	int error;
 
+	mtx_assert(sim->mtx, MA_OWNED);
 	sim->refcount--;
 	if (sim->refcount > 0) {
+		printf("%s: sim->refcount(%d)\n", __func__, sim->refcount);
 		error = msleep(sim, sim->mtx, PRIBIO, "simfree", 0);
 		KASSERT(error == 0, ("invalid error value for msleep(9)"));
 	}
@@ -125,6 +127,7 @@ cam_sim_release(struct cam_sim *sim)
 	KASSERT(sim->refcount >= 1, ("sim->refcount >= 1"));
 	mtx_assert(sim->mtx, MA_OWNED);
 
+	printf("%s: sim->refcount(%d)\n", __func__, sim->refcount);
 	sim->refcount--;
 	if (sim->refcount == 0)
 		wakeup(sim);
@@ -137,6 +140,7 @@ cam_sim_hold(struct cam_sim *sim)
 	mtx_assert(sim->mtx, MA_OWNED);
 
 	sim->refcount++;
+	printf("%s: sim->refcount(%d)\n", __func__, sim->refcount);
 }
 
 void

Modified: projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_proto.h
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_proto.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_proto.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz 
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 197636 2009-09-30 08:46:01Z rwatson 
  */
 
 #ifndef _FREEBSD32_SYSPROTO_H_
@@ -626,8 +626,7 @@ int	freebsd4_freebsd32_sigreturn(struct 
 #endif /* COMPAT_FREEBSD4 */
 
 
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
-	defined(COMPAT_FREEBSD6)
+#ifdef COMPAT_FREEBSD6
 
 struct freebsd6_freebsd32_pread_args {
 	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
@@ -681,11 +680,10 @@ int	freebsd6_freebsd32_lseek(struct thre
 int	freebsd6_freebsd32_truncate(struct thread *, struct freebsd6_freebsd32_truncate_args *);
 int	freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftruncate_args *);
 
-#endif /* COMPAT_FREEBSD[456] */
+#endif /* COMPAT_FREEBSD6 */
 
 
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
-	defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
+#ifdef COMPAT_FREEBSD7
 
 struct freebsd7_freebsd32_semctl_args {
 	char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)];
@@ -707,7 +705,7 @@ int	freebsd7_freebsd32_semctl(struct thr
 int	freebsd7_freebsd32_msgctl(struct thread *, struct freebsd7_freebsd32_msgctl_args *);
 int	freebsd7_freebsd32_shmctl(struct thread *, struct freebsd7_freebsd32_shmctl_args *);
 
-#endif /* COMPAT_FREEBSD[4567] */
+#endif /* COMPAT_FREEBSD7 */
 
 #define	FREEBSD32_SYS_AUE_freebsd32_wait4	AUE_WAIT4
 #define	FREEBSD32_SYS_AUE_freebsd4_freebsd32_getfsstat	AUE_GETFSSTAT

Modified: projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscall.h
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscall.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscall.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz 
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 197636 2009-09-30 08:46:01Z rwatson 
  */
 
 #define	FREEBSD32_SYS_syscall	0
@@ -382,4 +382,4 @@
 #define	FREEBSD32_SYS_freebsd32_msgctl	511
 #define	FREEBSD32_SYS_freebsd32_shmctl	512
 #define	FREEBSD32_SYS_lpathconf	513
-#define	FREEBSD32_SYS_MAXSYSCALL	514
+#define	FREEBSD32_SYS_MAXSYSCALL	522

Modified: projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscalls.c
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscalls.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_syscalls.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz 
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 197636 2009-09-30 08:46:01Z rwatson 
  */
 
 const char *freebsd32_syscallnames[] = {
@@ -521,4 +521,12 @@ const char *freebsd32_syscallnames[] = {
 	"freebsd32_msgctl",			/* 511 = freebsd32_msgctl */
 	"freebsd32_shmctl",			/* 512 = freebsd32_shmctl */
 	"lpathconf",			/* 513 = lpathconf */
+	"#514",			/* 514 = cap_new */
+	"#515",			/* 515 = cap_getrights */
+	"#516",			/* 516 = cap_enter */
+	"#517",			/* 517 = cap_getmode */
+	"#518",			/* 518 = pdfork */
+	"#519",			/* 519 = pdkill */
+	"#520",			/* 520 = pdgetpid */
+	"#521",			/* 521 = pdwait */
 };

Modified: projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_sysent.c
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_sysent.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/freebsd32_sysent.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz 
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 197636 2009-09-30 08:46:01Z rwatson 
  */
 
 #include "opt_compat.h"
@@ -558,4 +558,12 @@ struct sysent freebsd32_sysent[] = {
 	{ AS(freebsd32_msgctl_args), (sy_call_t *)freebsd32_msgctl, AUE_MSGCTL, NULL, 0, 0, 0 },	/* 511 = freebsd32_msgctl */
 	{ AS(freebsd32_shmctl_args), (sy_call_t *)freebsd32_shmctl, AUE_SHMCTL, NULL, 0, 0, 0 },	/* 512 = freebsd32_shmctl */
 	{ AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0 },	/* 513 = lpathconf */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 514 = cap_new */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 515 = cap_getrights */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 516 = cap_enter */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 517 = cap_getmode */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 518 = pdfork */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 519 = pdkill */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 520 = pdgetpid */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 521 = pdwait */
 };

Modified: projects/sbruno_firewire/sys/compat/freebsd32/syscalls.master
==============================================================================
--- projects/sbruno_firewire/sys/compat/freebsd32/syscalls.master	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/compat/freebsd32/syscalls.master	Thu Oct  1 16:25:35 2009	(r197678)
@@ -901,3 +901,11 @@
 512	AUE_SHMCTL	STD	{ int freebsd32_shmctl(int shmid, int cmd, \
 				    struct shmid_ds32 *buf); }
 513	AUE_LPATHCONF	NOPROTO	{ int lpathconf(char *path, int name); }
+514	AUE_CAP_NEW	UNIMPL	cap_new
+515	AUE_CAP_GETRIGHTS	UNIMPL	cap_getrights
+516	AUE_CAP_ENTER	UNIMPL	cap_enter
+517	AUE_CAP_GETMODE	UNIMPL	cap_getmode
+518	AUE_PDFORK	UNIMPL	pdfork
+519	AUE_PDKILL	UNIMPL	pdkill
+520	AUE_PDGETPID	UNIMPL	pdgetpid
+521	AUE_PDWAIT	UNIMPL	pdwait

Modified: projects/sbruno_firewire/sys/dev/acpica/acpi_acad.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/acpica/acpi_acad.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/acpica/acpi_acad.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -109,13 +109,14 @@ acpi_acad_get_status(void *context)
     ACPI_SERIAL_BEGIN(acad);
     if (newstatus != -1 && sc->status != newstatus) {
 	sc->status = newstatus;
+	ACPI_SERIAL_END(acad);
 	power_profile_set_state(newstatus ? POWER_PROFILE_PERFORMANCE :
 	    POWER_PROFILE_ECONOMY);
 	ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev),
 	    "%s Line\n", newstatus ? "On" : "Off");
 	acpi_UserNotify("ACAD", h, newstatus);
-    }
-    ACPI_SERIAL_END(acad);
+    } else
+	ACPI_SERIAL_END(acad);
 }
 
 static void

Modified: projects/sbruno_firewire/sys/dev/acpica/acpi_video.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/acpica/acpi_video.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/acpica/acpi_video.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -170,7 +170,13 @@ static struct sysctl_oid	*acpi_video_sys
 static struct acpi_video_output_queue crt_units, tv_units,
     ext_units, lcd_units, other_units;
 
+/*
+ * The 'video' lock protects the hierarchy of video output devices
+ * (the video "bus").  The 'video_output' lock protects per-output
+ * data is equivalent to a softc lock for each video output.
+ */
 ACPI_SERIAL_DECL(video, "ACPI video");
+ACPI_SERIAL_DECL(video_output, "ACPI video output");
 MALLOC_DEFINE(M_ACPIVIDEO, "acpivideo", "ACPI video extension");
 
 static int
@@ -236,12 +242,14 @@ acpi_video_attach(device_t dev)
 	acpi_sc = devclass_get_softc(devclass_find("acpi"), 0);
 	if (acpi_sc == NULL)
 		return (ENXIO);
+	ACPI_SERIAL_BEGIN(video);
 	if (acpi_video_sysctl_tree == NULL) {
 		acpi_video_sysctl_tree = SYSCTL_ADD_NODE(&acpi_video_sysctl_ctx,
 				    SYSCTL_CHILDREN(acpi_sc->acpi_sysctl_tree),
 				    OID_AUTO, "video", CTLFLAG_RD, 0,
 				    "video extension control");
 	}
+	ACPI_SERIAL_END(video);
 
 	sc->device = dev;
 	sc->handle = acpi_get_handle(dev);
@@ -316,6 +324,7 @@ acpi_video_notify_handler(ACPI_HANDLE ha
 		dss_p = 0;
 		lasthand = NULL;
 		ACPI_SERIAL_BEGIN(video);
+		ACPI_SERIAL_BEGIN(video_output);
 		STAILQ_FOREACH(vo, &sc->vid_outputs, vo_next) {
 			dss = vo_get_graphics_state(vo->handle);
 			dcs = vo_get_device_status(vo->handle);
@@ -331,6 +340,7 @@ acpi_video_notify_handler(ACPI_HANDLE ha
 		}
 		if (lasthand != NULL)
 			vo_set_device_state(lasthand, dss_p|DSS_COMMIT);
+		ACPI_SERIAL_END(video_output);
 		ACPI_SERIAL_END(video);
 		break;
 	case VID_NOTIFY_REPROBE:
@@ -367,12 +377,14 @@ acpi_video_power_profile(void *context)
 		return;
 
 	ACPI_SERIAL_BEGIN(video);
+	ACPI_SERIAL_BEGIN(video_output);
 	STAILQ_FOREACH(vo, &sc->vid_outputs, vo_next) {
 		if (vo->vo_levels != NULL && vo->vo_brightness == -1)
 			vo_set_brightness(vo->handle,
 			    state == POWER_PROFILE_ECONOMY ?
 			    vo->vo_economy : vo->vo_fullpower);
 	}
+	ACPI_SERIAL_END(video_output);
 	ACPI_SERIAL_END(video);
 }
 
@@ -550,7 +562,7 @@ static void
 acpi_video_vo_bind(struct acpi_video_output *vo, ACPI_HANDLE handle)
 {
 
-	ACPI_SERIAL_ASSERT(video);
+	ACPI_SERIAL_BEGIN(video_output);
 	if (vo->vo_levels != NULL)
 		AcpiOsFree(vo->vo_levels);
 	vo->handle = handle;
@@ -565,6 +577,7 @@ acpi_video_vo_bind(struct acpi_video_out
 			/* XXX - see above. */
 			vo->vo_economy = vo->vo_levels[BCL_ECONOMY];
 	}
+	ACPI_SERIAL_END(video_output);
 }
 
 static void
@@ -605,7 +618,7 @@ acpi_video_vo_check_level(struct acpi_vi
 {
 	int i;
 
-	ACPI_SERIAL_ASSERT(video);
+	ACPI_SERIAL_ASSERT(video_output);
 	if (vo->vo_levels == NULL)
 		return (ENODEV);
 	for (i = 0; i < vo->vo_numlevels; i++)
@@ -624,7 +637,7 @@ acpi_video_vo_active_sysctl(SYSCTL_HANDL
 	vo = (struct acpi_video_output *)arg1;
 	if (vo->handle == NULL)
 		return (ENXIO);
-	ACPI_SERIAL_BEGIN(video);
+	ACPI_SERIAL_BEGIN(video_output);
 	state = (vo_get_device_status(vo->handle) & DCS_ACTIVE) ? 1 : 0;
 	err = sysctl_handle_int(oidp, &state, 0, req);
 	if (err != 0 || req->newptr == NULL)
@@ -632,7 +645,7 @@ acpi_video_vo_active_sysctl(SYSCTL_HANDL
 	vo_set_device_state(vo->handle,
 	    DSS_COMMIT | (state ? DSS_ACTIVE : DSS_INACTIVE));
 out:
-	ACPI_SERIAL_END(video);
+	ACPI_SERIAL_END(video_output);
 	return (err);
 }
 
@@ -644,7 +657,7 @@ acpi_video_vo_bright_sysctl(SYSCTL_HANDL
 	int level, preset, err;
 
 	vo = (struct acpi_video_output *)arg1;
-	ACPI_SERIAL_BEGIN(video);
+	ACPI_SERIAL_BEGIN(video_output);
 	if (vo->handle == NULL) {
 		err = ENXIO;
 		goto out;
@@ -674,7 +687,7 @@ acpi_video_vo_bright_sysctl(SYSCTL_HANDL
 	vo_set_brightness(vo->handle, (level == -1) ? preset : level);
 
 out:
-	ACPI_SERIAL_END(video);
+	ACPI_SERIAL_END(video_output);
 	return (err);
 }
 
@@ -686,7 +699,7 @@ acpi_video_vo_presets_sysctl(SYSCTL_HAND
 
 	err = 0;
 	vo = (struct acpi_video_output *)arg1;
-	ACPI_SERIAL_BEGIN(video);
+	ACPI_SERIAL_BEGIN(video_output);
 	if (vo->handle == NULL) {
 		err = ENXIO;
 		goto out;
@@ -717,7 +730,7 @@ acpi_video_vo_presets_sysctl(SYSCTL_HAND
 	*preset = level;
 
 out:
-	ACPI_SERIAL_END(video);
+	ACPI_SERIAL_END(video_output);
 	return (err);
 }
 
@@ -729,7 +742,7 @@ acpi_video_vo_levels_sysctl(SYSCTL_HANDL
 	int err;
 
 	vo = (struct acpi_video_output *)arg1;
-	ACPI_SERIAL_BEGIN(video);
+	ACPI_SERIAL_BEGIN(video_output);
 	if (vo->vo_levels == NULL) {
 		err = ENODEV;
 		goto out;
@@ -742,7 +755,7 @@ acpi_video_vo_levels_sysctl(SYSCTL_HANDL
 	    vo->vo_numlevels * sizeof(*vo->vo_levels), req);
 
 out:
-	ACPI_SERIAL_END(video);
+	ACPI_SERIAL_END(video_output);
 	return (err);
 }
 
@@ -892,6 +905,7 @@ vo_set_brightness(ACPI_HANDLE handle, in
 {
 	ACPI_STATUS status;
 
+	ACPI_SERIAL_ASSERT(video_output);
 	status = acpi_SetInteger(handle, "_BCM", level);
 	if (ACPI_FAILURE(status))
 		printf("can't evaluate %s._BCM - %s\n",
@@ -904,6 +918,7 @@ vo_get_device_status(ACPI_HANDLE handle)
 	UINT32 dcs;
 	ACPI_STATUS status;
 
+	ACPI_SERIAL_ASSERT(video_output);
 	dcs = 0;
 	status = acpi_GetInteger(handle, "_DCS", &dcs);
 	if (ACPI_FAILURE(status))
@@ -933,6 +948,7 @@ vo_set_device_state(ACPI_HANDLE handle, 
 {
 	ACPI_STATUS status;
 
+	ACPI_SERIAL_ASSERT(video_output);
 	status = acpi_SetInteger(handle, "_DSS", state);
 	if (ACPI_FAILURE(status))
 		printf("can't evaluate %s._DSS - %s\n",

Modified: projects/sbruno_firewire/sys/dev/ae/if_ae.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/ae/if_ae.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/ae/if_ae.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -2077,7 +2077,7 @@ ae_rxfilter(ae_softc_t *sc)
 	TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
 		if (ifma->ifma_addr->sa_family != AF_LINK)
 			continue;
-		crc = ether_crc32_le(LLADDR((struct sockaddr_dl *)
+		crc = ether_crc32_be(LLADDR((struct sockaddr_dl *)
 			ifma->ifma_addr), ETHER_ADDR_LEN);
 		mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f);
 	}

Modified: projects/sbruno_firewire/sys/dev/age/if_age.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/age/if_age.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/age/if_age.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3135,7 +3135,7 @@ age_rxfilter(struct age_softc *sc)
 	TAILQ_FOREACH(ifma, &sc->age_ifp->if_multiaddrs, ifma_link) {
 		if (ifma->ifma_addr->sa_family != AF_LINK)
 			continue;
-		crc = ether_crc32_le(LLADDR((struct sockaddr_dl *)
+		crc = ether_crc32_be(LLADDR((struct sockaddr_dl *)
 		    ifma->ifma_addr), ETHER_ADDR_LEN);
 		mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f);
 	}

Modified: projects/sbruno_firewire/sys/dev/alc/if_alc.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/alc/if_alc.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/alc/if_alc.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3476,7 +3476,7 @@ alc_rxfilter(struct alc_softc *sc)
 	TAILQ_FOREACH(ifma, &sc->alc_ifp->if_multiaddrs, ifma_link) {
 		if (ifma->ifma_addr->sa_family != AF_LINK)
 			continue;
-		crc = ether_crc32_le(LLADDR((struct sockaddr_dl *)
+		crc = ether_crc32_be(LLADDR((struct sockaddr_dl *)
 		    ifma->ifma_addr), ETHER_ADDR_LEN);
 		mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f);
 	}

Modified: projects/sbruno_firewire/sys/dev/ale/if_ale.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/ale/if_ale.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/ale/if_ale.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3060,7 +3060,7 @@ ale_rxfilter(struct ale_softc *sc)
 	TAILQ_FOREACH(ifma, &sc->ale_ifp->if_multiaddrs, ifma_link) {
 		if (ifma->ifma_addr->sa_family != AF_LINK)
 			continue;
-		crc = ether_crc32_le(LLADDR((struct sockaddr_dl *)
+		crc = ether_crc32_be(LLADDR((struct sockaddr_dl *)
 		    ifma->ifma_addr), ETHER_ADDR_LEN);
 		mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f);
 	}

Modified: projects/sbruno_firewire/sys/dev/if_ndis/if_ndis.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/if_ndis/if_ndis.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/if_ndis/if_ndis.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -1534,7 +1534,7 @@ ndis_inputtask(dobj, arg)
 		if (m == NULL)
 			break;
 		KeReleaseSpinLock(&sc->ndis_rxlock, irql);
-		if (sc->ndis_80211)
+		if ((sc->ndis_80211 != 0) && (vap != NULL))
 			vap->iv_deliver_data(vap, vap->iv_bss, m);
 		else
 			(*ifp->if_input)(ifp, m);
@@ -1746,7 +1746,7 @@ ndis_ticktask(d, xsc)
 	    sc->ndis_sts == NDIS_STATUS_MEDIA_CONNECT) {
 		sc->ndis_link = 1;
 		NDIS_UNLOCK(sc);
-		if (sc->ndis_80211) {
+		if ((sc->ndis_80211 != 0) && (vap != NULL)) {
 			ndis_getstate_80211(sc);
 			ieee80211_new_state(vap, IEEE80211_S_RUN, -1);
 		}
@@ -1758,7 +1758,7 @@ ndis_ticktask(d, xsc)
 	    sc->ndis_sts == NDIS_STATUS_MEDIA_DISCONNECT) {
 		sc->ndis_link = 0;
 		NDIS_UNLOCK(sc);
-		if (sc->ndis_80211)
+		if ((sc->ndis_80211 != 0) && (vap != NULL))
 			ieee80211_new_state(vap, IEEE80211_S_SCAN, 0);
 		NDIS_LOCK(sc);
 		if_link_state_change(sc->ifp, LINK_STATE_DOWN);
@@ -2047,9 +2047,6 @@ ndis_init(xsc)
 	/* Setup task offload. */
 	ndis_set_offload(sc);
 
-	if (sc->ndis_80211)
-		ndis_setstate_80211(sc);
-
 	NDIS_LOCK(sc);
 
 	sc->ndis_txidx = 0;
@@ -2297,8 +2294,6 @@ ndis_setstate_80211(sc)
 	ifp = sc->ifp;
 	ic = ifp->if_l2com;
 	vap = TAILQ_FIRST(&ic->ic_vaps);
-	if (vap == NULL)
-		return;
 
 	if (!NDIS_INITIALIZED(sc)) {
 		DPRINTF(("%s: NDIS not initialized\n", __func__));
@@ -2730,8 +2725,6 @@ ndis_getstate_80211(sc)
 	ifp = sc->ifp;
 	ic = ifp->if_l2com;
 	vap = TAILQ_FIRST(&ic->ic_vaps);
-	if (vap == NULL)
-		return;
 	ni = vap->iv_bss;
 
 	if (!NDIS_INITIALIZED(sc))

Modified: projects/sbruno_firewire/sys/dev/mxge/if_mxge.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/mxge/if_mxge.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/mxge/if_mxge.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3701,10 +3701,16 @@ mxge_setup_cfg_space(mxge_softc_t *sc)
 	if (pci_find_extcap(dev, PCIY_EXPRESS, &reg) == 0) {
 		lnk = pci_read_config(dev, reg + 0x12, 2);
 		sc->link_width = (lnk >> 4) & 0x3f;
-		
-		pectl = pci_read_config(dev, reg + 0x8, 2);
-		pectl = (pectl & ~0x7000) | (5 << 12);
-		pci_write_config(dev, reg + 0x8, pectl, 2);
+
+		if (sc->pectl == 0) {
+			pectl = pci_read_config(dev, reg + 0x8, 2);
+			pectl = (pectl & ~0x7000) | (5 << 12);
+			pci_write_config(dev, reg + 0x8, pectl, 2);
+			sc->pectl = pectl;
+		} else {
+			/* restore saved pectl after watchdog reset */
+			pci_write_config(dev, reg + 0x8, sc->pectl, 2);
+		}
 	}
 
 	/* Enable DMA and Memory space access */
@@ -3816,6 +3822,9 @@ mxge_watchdog_reset(mxge_softc_t *sc, in
 			/* release all TX locks */
 			for (s = 0; s < num_tx_slices; s++) {
 				ss = &sc->ss[s];
+#ifdef IFNET_BUF_RING
+				mxge_start_locked(ss);
+#endif
 				mtx_unlock(&ss->tx.mtx);
 			}
 		}

Modified: projects/sbruno_firewire/sys/dev/mxge/if_mxge_var.h
==============================================================================
--- projects/sbruno_firewire/sys/dev/mxge/if_mxge_var.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/mxge/if_mxge_var.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -274,6 +274,7 @@ struct mxge_softc {
 	struct sysctl_ctx_list slice_sysctl_ctx;
 	char *mac_addr_string;
 	uint8_t	mac_addr[6];		/* eeprom mac address */
+	uint16_t pectl;			/* save PCIe CTL state */
 	char product_code_string[64];
 	char serial_number_string[64];
 	char cmd_mtx_name[16];

Modified: projects/sbruno_firewire/sys/dev/sound/pci/hda/hdac.c
==============================================================================
--- projects/sbruno_firewire/sys/dev/sound/pci/hda/hdac.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/dev/sound/pci/hda/hdac.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -622,6 +622,7 @@ static const struct {
 #define HDA_CODEC_ALC882	HDA_CODEC_CONSTRUCT(REALTEK, 0x0882)
 #define HDA_CODEC_ALC883	HDA_CODEC_CONSTRUCT(REALTEK, 0x0883)
 #define HDA_CODEC_ALC885	HDA_CODEC_CONSTRUCT(REALTEK, 0x0885)
+#define HDA_CODEC_ALC887	HDA_CODEC_CONSTRUCT(REALTEK, 0x0887)
 #define HDA_CODEC_ALC888	HDA_CODEC_CONSTRUCT(REALTEK, 0x0888)
 #define HDA_CODEC_ALC889	HDA_CODEC_CONSTRUCT(REALTEK, 0x0889)
 #define HDA_CODEC_ALCXXXX	HDA_CODEC_CONSTRUCT(REALTEK, 0xffff)
@@ -807,6 +808,7 @@ static const struct {
 	{ HDA_CODEC_ALC882,    "Realtek ALC882" },
 	{ HDA_CODEC_ALC883,    "Realtek ALC883" },
 	{ HDA_CODEC_ALC885,    "Realtek ALC885" },
+	{ HDA_CODEC_ALC887,    "Realtek ALC887" },
 	{ HDA_CODEC_ALC888,    "Realtek ALC888" },
 	{ HDA_CODEC_ALC889,    "Realtek ALC889" },
 	{ HDA_CODEC_AD1882,    "Analog Devices AD1882" },
@@ -6568,7 +6570,7 @@ hdac_create_pcms(struct hdac_devinfo *de
 			continue;
 		for (j = 0; j < devinfo->function.audio.num_devs; j++) {
 			if (devinfo->function.audio.devs[j].digital != 255 &&
-			    (!devinfo->function.audio.devs[j].digital) ==
+			    (!devinfo->function.audio.devs[j].digital) !=
 			    (!as[i].digital))
 				continue;
 			if (as[i].dir == HDA_CTL_IN) {

Modified: projects/sbruno_firewire/sys/fs/nfs/nfs_commonacl.c
==============================================================================
--- projects/sbruno_firewire/sys/fs/nfs/nfs_commonacl.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/fs/nfs/nfs_commonacl.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -695,7 +695,7 @@ nfsrv_setacl(vnode_t vp, NFSACL_T *aclp,
 	if (nfsrv_useacl == 0 || !NFSHASNFS4ACL(vnode_mount(vp)))
 		return (NFSERR_ATTRNOTSUPP);
 	/*
-	 * With NFS4 ACLs, chmod(2) may need to add additional entries.
+	 * With NFSv4 ACLs, chmod(2) may need to add additional entries.
 	 * Make sure it has enough room for that - splitting every entry
 	 * into two and appending "canonical six" entries at the end.
 	 * Cribbed out of kern/vfs_acl.c - Rick M.

Modified: projects/sbruno_firewire/sys/i386/conf/GENERIC
==============================================================================
--- projects/sbruno_firewire/sys/i386/conf/GENERIC	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/i386/conf/GENERIC	Thu Oct  1 16:25:35 2009	(r197678)
@@ -269,7 +269,7 @@ device		xe		# Xircom pccard Ethernet
 device		wlan		# 802.11 support
 options 	IEEE80211_DEBUG	# enable debug msgs
 options 	IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
-options 	IEEE80211_SUPPORT_MESH	# enable 802.11s D3.0 support
+options 	IEEE80211_SUPPORT_MESH	# enable 802.11s draft support
 device		wlan_wep	# 802.11 WEP support
 device		wlan_ccmp	# 802.11 CCMP support
 device		wlan_tkip	# 802.11 TKIP support

Modified: projects/sbruno_firewire/sys/i386/i386/initcpu.c
==============================================================================
--- projects/sbruno_firewire/sys/i386/i386/initcpu.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/i386/i386/initcpu.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -717,6 +717,12 @@ initializecpu(void)
 	 */
 	if ((cpu_feature & CPUID_CLFSH) != 0)
 		cpu_clflush_line_size = ((cpu_procinfo >> 8) & 0xff) * 8;
+	/*
+	 * XXXKIB: (temporary) hack to work around traps generated when
+	 * CLFLUSHing APIC registers window.
+	 */
+	if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS))
+		cpu_feature &= ~CPUID_CLFSH;
 
 #if defined(PC98) && !defined(CPU_UPGRADE_HW_CACHE)
 	/*

Modified: projects/sbruno_firewire/sys/i386/include/cpufunc.h
==============================================================================
--- projects/sbruno_firewire/sys/i386/include/cpufunc.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/i386/include/cpufunc.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -132,14 +132,14 @@ enable_intr(void)
 #endif
 }
 
-static inline void
+static __inline void
 cpu_monitor(const void *addr, int extensions, int hints)
 {
 	__asm __volatile("monitor;"
 	    : :"a" (addr), "c" (extensions), "d"(hints));
 }
 
-static inline void
+static __inline void
 cpu_mwait(int extensions, int hints)
 {
 	__asm __volatile("mwait;" : :"a" (hints), "c" (extensions));

Modified: projects/sbruno_firewire/sys/kern/init_main.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/init_main.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/kern/init_main.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -284,15 +284,28 @@ restart:
  ***************************************************************************
  */
 static void
-print_caddr_t(void *data __unused)
+print_caddr_t(void *data)
 {
 	printf("%s", (char *)data);
 }
+
+static void
+print_version(void *data __unused)
+{
+	int len;
+
+	/* Strip a trailing newline from version. */
+	len = strlen(version);
+	while (len > 0 && version[len - 1] == '\n')
+		len--;
+	printf("%.*s %s\n", len, version, machine);
+}
+
 SYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST, print_caddr_t,
     copyright);
 SYSINIT(trademark, SI_SUB_COPYRIGHT, SI_ORDER_SECOND, print_caddr_t,
     trademark);
-SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, print_caddr_t, version);
+SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, print_version, NULL);
 
 #ifdef WITNESS
 static char wit_warn[] =

Modified: projects/sbruno_firewire/sys/kern/init_sysent.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/init_sysent.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/kern/init_sysent.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+ * created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson 
  */
 
 #include "opt_compat.h"
@@ -548,4 +548,12 @@ struct sysent sysent[] = {
 	{ AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 },	/* 511 = msgctl */
 	{ AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 },	/* 512 = shmctl */
 	{ AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0 },	/* 513 = lpathconf */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 514 = cap_new */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 515 = cap_getrights */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 516 = cap_enter */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 517 = cap_getmode */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 518 = pdfork */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 519 = pdkill */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 520 = pdgetpid */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 },			/* 521 = pdwait */
 };

Modified: projects/sbruno_firewire/sys/kern/kern_rwlock.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/kern_rwlock.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/kern/kern_rwlock.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -541,7 +541,7 @@ _rw_runlock(struct rwlock *rw, const cha
 		 */
 		x = rw->rw_lock;
 		if (RW_READERS(x) > 1) {
-			if (atomic_cmpset_ptr(&rw->rw_lock, x,
+			if (atomic_cmpset_rel_ptr(&rw->rw_lock, x,
 			    x - RW_ONE_READER)) {
 				if (LOCK_LOG_TEST(&rw->lock_object, 0))
 					CTR4(KTR_LOCK,
@@ -559,7 +559,8 @@ _rw_runlock(struct rwlock *rw, const cha
 		if (!(x & RW_LOCK_WAITERS)) {
 			MPASS((x & ~RW_LOCK_WRITE_SPINNER) ==
 			    RW_READERS_LOCK(1));
-			if (atomic_cmpset_ptr(&rw->rw_lock, x, RW_UNLOCKED)) {
+			if (atomic_cmpset_rel_ptr(&rw->rw_lock, x,
+			    RW_UNLOCKED)) {
 				if (LOCK_LOG_TEST(&rw->lock_object, 0))
 					CTR2(KTR_LOCK, "%s: %p last succeeded",
 					    __func__, rw);
@@ -597,7 +598,7 @@ _rw_runlock(struct rwlock *rw, const cha
 			x |= (v & RW_LOCK_READ_WAITERS);
 		} else
 			queue = TS_SHARED_QUEUE;
-		if (!atomic_cmpset_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | v,
+		if (!atomic_cmpset_rel_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | v,
 		    x)) {
 			turnstile_chain_unlock(&rw->lock_object);
 			continue;

Modified: projects/sbruno_firewire/sys/kern/kern_sig.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/kern_sig.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/kern/kern_sig.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -1892,7 +1892,7 @@ sigtd(struct proc *p, int sig, int prop)
 
 	/*
 	 * Check if current thread can handle the signal without
-	 * switching conetxt to another thread.
+	 * switching context to another thread.
 	 */
 	if (curproc == p && !SIGISMEMBER(curthread->td_sigmask, sig))
 		return (curthread);

Modified: projects/sbruno_firewire/sys/kern/kern_sx.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/kern_sx.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/kern/kern_sx.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -931,7 +931,7 @@ _sx_sunlock_hard(struct sx *sx, const ch
 		 * so, just drop one and return.
 		 */
 		if (SX_SHARERS(x) > 1) {
-			if (atomic_cmpset_ptr(&sx->sx_lock, x,
+			if (atomic_cmpset_rel_ptr(&sx->sx_lock, x,
 			    x - SX_ONE_SHARER)) {
 				if (LOCK_LOG_TEST(&sx->lock_object, 0))
 					CTR4(KTR_LOCK,
@@ -949,8 +949,8 @@ _sx_sunlock_hard(struct sx *sx, const ch
 		 */
 		if (!(x & SX_LOCK_EXCLUSIVE_WAITERS)) {
 			MPASS(x == SX_SHARERS_LOCK(1));
-			if (atomic_cmpset_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1),
-			    SX_LOCK_UNLOCKED)) {
+			if (atomic_cmpset_rel_ptr(&sx->sx_lock,
+			    SX_SHARERS_LOCK(1), SX_LOCK_UNLOCKED)) {
 				if (LOCK_LOG_TEST(&sx->lock_object, 0))
 					CTR2(KTR_LOCK, "%s: %p last succeeded",
 					    __func__, sx);
@@ -973,7 +973,7 @@ _sx_sunlock_hard(struct sx *sx, const ch
 		 * Note that the state of the lock could have changed,
 		 * so if it fails loop back and retry.
 		 */
-		if (!atomic_cmpset_ptr(&sx->sx_lock,
+		if (!atomic_cmpset_rel_ptr(&sx->sx_lock,
 		    SX_SHARERS_LOCK(1) | SX_LOCK_EXCLUSIVE_WAITERS,
 		    SX_LOCK_UNLOCKED)) {
 			sleepq_release(&sx->lock_object);

Modified: projects/sbruno_firewire/sys/kern/syscalls.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/syscalls.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/kern/syscalls.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+ * created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson 
  */
 
 const char *syscallnames[] = {
@@ -521,4 +521,12 @@ const char *syscallnames[] = {
 	"msgctl",			/* 511 = msgctl */
 	"shmctl",			/* 512 = shmctl */
 	"lpathconf",			/* 513 = lpathconf */
+	"#514",			/* 514 = cap_new */
+	"#515",			/* 515 = cap_getrights */
+	"#516",			/* 516 = cap_enter */
+	"#517",			/* 517 = cap_getmode */
+	"#518",			/* 518 = pdfork */
+	"#519",			/* 519 = pdkill */
+	"#520",			/* 520 = pdgetpid */
+	"#521",			/* 521 = pdwait */
 };

Modified: projects/sbruno_firewire/sys/kern/syscalls.master
==============================================================================
--- projects/sbruno_firewire/sys/kern/syscalls.master	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/kern/syscalls.master	Thu Oct  1 16:25:35 2009	(r197678)
@@ -911,5 +911,13 @@
 512	AUE_SHMCTL	NOSTD	{ int shmctl(int shmid, int cmd, \
 				    struct shmid_ds *buf); }
 513	AUE_LPATHCONF	STD	{ int lpathconf(char *path, int name); }
+514	AUE_CAP_NEW	UNIMPL	cap_new
+515	AUE_CAP_GETRIGHTS	UNIMPL	cap_getrights
+516	AUE_CAP_ENTER	UNIMPL	cap_enter
+517	AUE_CAP_GETMODE	UNIMPL	cap_getmode
+518	AUE_PDFORK	UNIMPL	pdfork
+519	AUE_PDKILL	UNIMPL	pdkill
+520	AUE_PDGETPID	UNIMPL	pdgetpid
+521	AUE_PDWAIT	UNIMPL	pdwait
 ; Please copy any additions and changes to the following compatability tables:
 ; sys/compat/freebsd32/syscalls.master

Modified: projects/sbruno_firewire/sys/kern/uipc_syscalls.c
==============================================================================
--- projects/sbruno_firewire/sys/kern/uipc_syscalls.c	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/kern/uipc_syscalls.c	Thu Oct  1 16:25:35 2009	(r197678)
@@ -2086,9 +2086,11 @@ retry_space:
 				/*
 				 * Get the page from backing store.
 				 */
-				bsize = vp->v_mount->mnt_stat.f_iosize;
 				vfslocked = VFS_LOCK_GIANT(vp->v_mount);
-				vn_lock(vp, LK_SHARED | LK_RETRY);
+				error = vn_lock(vp, LK_SHARED);
+				if (error != 0)
+					goto after_read;
+				bsize = vp->v_mount->mnt_stat.f_iosize;
 
 				/*
 				 * XXXMAC: Because we don't have fp->f_cred
@@ -2101,6 +2103,7 @@ retry_space:
 				    IO_VMIO | ((MAXBSIZE / bsize) << IO_SEQSHIFT),
 				    td->td_ucred, NOCRED, &resid, td);
 				VOP_UNLOCK(vp, 0);
+			after_read:
 				VFS_UNLOCK_GIANT(vfslocked);
 				VM_OBJECT_LOCK(obj);
 				vm_page_io_finish(pg);

Modified: projects/sbruno_firewire/sys/pc98/conf/GENERIC
==============================================================================
--- projects/sbruno_firewire/sys/pc98/conf/GENERIC	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/pc98/conf/GENERIC	Thu Oct  1 16:25:35 2009	(r197678)
@@ -223,7 +223,7 @@ device		xe		# Xircom pccard Ethernet
 #device		wlan		# 802.11 support
 #options 	IEEE80211_DEBUG	# enable debug msgs
 #options 	IEEE80211_AMPDU_AGE	# age frames in AMPDU reorder q's
-#options 	IEEE80211_SUPPORT_MESH	# enable 802.11s D3.0 support
+#options 	IEEE80211_SUPPORT_MESH	# enable 802.11s draft support
 #device		wlan_wep	# 802.11 WEP support
 #device		wlan_ccmp	# 802.11 CCMP support
 #device		wlan_tkip	# 802.11 TKIP support

Modified: projects/sbruno_firewire/sys/sys/rwlock.h
==============================================================================
--- projects/sbruno_firewire/sys/sys/rwlock.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/sys/rwlock.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -55,13 +55,6 @@
  *
  * When the lock is not locked by any thread, it is encoded as a read lock
  * with zero waiters.
- *
- * A note about memory barriers.  Write locks need to use the same memory
- * barriers as mutexes: _acq when acquiring a write lock and _rel when
- * releasing a write lock.  Read locks also need to use an _acq barrier when
- * acquiring a read lock.  However, since read locks do not update any
- * locked data (modulo bugs of course), no memory barrier is needed when
- * releasing a read lock.
  */
 
 #define	RW_LOCK_READ		0x01

Modified: projects/sbruno_firewire/sys/sys/sx.h
==============================================================================
--- projects/sbruno_firewire/sys/sys/sx.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/sys/sx.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -63,13 +63,6 @@
  *
  * When the lock is not locked by any thread, it is encoded as a
  * shared lock with zero waiters.
- *
- * A note about memory barriers.  Exclusive locks need to use the same
- * memory barriers as mutexes: _acq when acquiring an exclusive lock
- * and _rel when releasing an exclusive lock.  On the other side,
- * shared lock needs to use an _acq barrier when acquiring the lock
- * but, since they don't update any locked data, no memory barrier is
- * needed when releasing a shared lock.
  */
 
 #define	SX_LOCK_SHARED			0x01
@@ -200,7 +193,7 @@ __sx_sunlock(struct sx *sx, const char *
 	uintptr_t x = sx->sx_lock;
 
 	if (x == (SX_SHARERS_LOCK(1) | SX_LOCK_EXCLUSIVE_WAITERS) ||
-	    !atomic_cmpset_ptr(&sx->sx_lock, x, x - SX_ONE_SHARER))
+	    !atomic_cmpset_rel_ptr(&sx->sx_lock, x, x - SX_ONE_SHARER))
 		_sx_sunlock_hard(sx, file, line);
 }
 

Modified: projects/sbruno_firewire/sys/sys/syscall.h
==============================================================================
--- projects/sbruno_firewire/sys/sys/syscall.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/sys/syscall.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+ * created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson 
  */
 
 #define	SYS_syscall	0
@@ -428,4 +428,4 @@
 #define	SYS_msgctl	511
 #define	SYS_shmctl	512
 #define	SYS_lpathconf	513
-#define	SYS_MAXSYSCALL	514
+#define	SYS_MAXSYSCALL	522

Modified: projects/sbruno_firewire/sys/sys/syscall.mk
==============================================================================
--- projects/sbruno_firewire/sys/sys/syscall.mk	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/sys/syscall.mk	Thu Oct  1 16:25:35 2009	(r197678)
@@ -1,7 +1,7 @@
 # FreeBSD system call names.
 # DO NOT EDIT-- this file is automatically generated.
 # $FreeBSD$
-# created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+# created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson 
 MIASM =  \
 	syscall.o \
 	exit.o \

Modified: projects/sbruno_firewire/sys/sys/sysproto.h
==============================================================================
--- projects/sbruno_firewire/sys/sys/sysproto.h	Thu Oct  1 16:17:44 2009	(r197677)
+++ projects/sbruno_firewire/sys/sys/sysproto.h	Thu Oct  1 16:25:35 2009	(r197678)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+ * created from FreeBSD: head/sys/kern/syscalls.master 197636 2009-09-30 08:46:01Z rwatson 
  */
 
 #ifndef _SYS_SYSPROTO_H_
@@ -2233,21 +2233,13 @@ int	freebsd4_sigreturn(struct thread *, 
 #endif /* COMPAT_FREEBSD4 */
 
 
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5)
+#ifdef COMPAT_FREEBSD6
 
 
-#endif /* COMPAT_FREEBSD[45] */
+#endif /* COMPAT_FREEBSD6 */
 
 
-#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
-	defined(COMPAT_FREEBSD6)
-
-

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-projects mailing list