Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Mar 2012 17:24:02 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 207314 for review
Message-ID:  <201203031724.q23HO2VK000159@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@207314?ac=10

Change 207314 by jhb@jhb_fiver on 2012/03/03 17:23:15

	IFC @207313

Affected files ...

.. //depot/projects/pci/sys/amd64/conf/GENERIC#6 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32.h#5 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_misc.c#6 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_proto.h#7 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_syscall.h#7 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_syscalls.c#7 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_sysent.c#7 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_systrace_args.c#5 integrate
.. //depot/projects/pci/sys/compat/freebsd32/syscalls.master#7 integrate
.. //depot/projects/pci/sys/conf/files.mips#6 integrate
.. //depot/projects/pci/sys/conf/options.mips#5 integrate
.. //depot/projects/pci/sys/dev/acpica/acpi_pci.c#5 integrate
.. //depot/projects/pci/sys/dev/cardbus/cardbus.c#6 integrate
.. //depot/projects/pci/sys/dev/mpt/mpt_pci.c#6 integrate
.. //depot/projects/pci/sys/dev/pci/pci.c#31 integrate
.. //depot/projects/pci/sys/dev/pci/pci_private.h#8 integrate
.. //depot/projects/pci/sys/dev/pci/pcivar.h#8 integrate
.. //depot/projects/pci/sys/dev/usb/controller/usb_controller.c#3 integrate
.. //depot/projects/pci/sys/fs/nfsclient/nfs_clrpcops.c#7 integrate
.. //depot/projects/pci/sys/fs/nfsclient/nfs_clvnops.c#8 integrate
.. //depot/projects/pci/sys/fs/nfsserver/nfs_nfsdport.c#6 integrate
.. //depot/projects/pci/sys/i386/conf/GENERIC#6 integrate
.. //depot/projects/pci/sys/kern/kern_proc.c#6 integrate
.. //depot/projects/pci/sys/kern/kern_tc.c#4 integrate
.. //depot/projects/pci/sys/kern/sched_ule.c#6 integrate
.. //depot/projects/pci/sys/kern/vfs_cache.c#3 integrate
.. //depot/projects/pci/sys/mips/cavium/octeon_machdep.c#3 integrate
.. //depot/projects/pci/sys/mips/cavium/octopci_bus_space.c#2 integrate
.. //depot/projects/pci/sys/mips/conf/OCTEON1#6 integrate
.. //depot/projects/pci/sys/mips/include/elf.h#3 integrate
.. //depot/projects/pci/sys/mips/include/md_var.h#3 integrate
.. //depot/projects/pci/sys/mips/include/param.h#4 integrate
.. //depot/projects/pci/sys/mips/include/proc.h#3 integrate
.. //depot/projects/pci/sys/mips/include/reg.h#2 integrate
.. //depot/projects/pci/sys/mips/include/sigframe.h#2 integrate
.. //depot/projects/pci/sys/mips/include/ucontext.h#2 integrate
.. //depot/projects/pci/sys/mips/include/vmparam.h#3 integrate
.. //depot/projects/pci/sys/mips/mips/bus_space_generic.c#2 integrate
.. //depot/projects/pci/sys/mips/mips/freebsd32_machdep.c#1 branch
.. //depot/projects/pci/sys/mips/mips/genassym.c#4 integrate
.. //depot/projects/pci/sys/mips/mips/swtch.S#3 integrate
.. //depot/projects/pci/sys/mips/mips/trap.c#4 integrate
.. //depot/projects/pci/sys/mips/mips/vm_machdep.c#3 integrate
.. //depot/projects/pci/sys/net/bpf.c#3 integrate
.. //depot/projects/pci/sys/nfsclient/nfs_vnops.c#4 integrate
.. //depot/projects/pci/sys/powerpc/ofw/ofw_pcibus.c#3 integrate
.. //depot/projects/pci/sys/sparc64/pci/ofw_pcibus.c#5 integrate
.. //depot/projects/pci/sys/sys/sysctl.h#5 integrate
.. //depot/projects/pci/sys/sys/vnode.h#7 integrate

Differences ...

==== //depot/projects/pci/sys/amd64/conf/GENERIC#6 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.579 2012/01/31 19:38:18 jimharris Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.580 2012/03/03 00:11:46 jkim Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -168,6 +168,7 @@
 device		kbdmux		# keyboard multiplexer
 
 device		vga		# VGA video card driver
+options		VESA		# add support for VESA BIOS Extensions
 
 device		splash		# Splash screen and screen saver support
 

==== //depot/projects/pci/sys/compat/freebsd32/freebsd32.h#5 (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/compat/freebsd32/freebsd32.h,v 1.21 2011/11/11 07:17:00 pluknet Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32.h,v 1.22 2012/03/03 08:19:18 jmallett Exp $
  */
 
 #ifndef _COMPAT_FREEBSD32_FREEBSD32_H_
@@ -42,8 +42,17 @@
 #define PTROUT_CP(src,dst,fld) \
 	do { (dst).fld = PTROUT((src).fld); } while (0)
 
+/*
+ * Being a newer port, 32-bit FreeBSD/MIPS uses 64-bit time_t.
+ */
+#ifdef __mips__
+typedef	int64_t	time32_t;
+#else
+typedef	int32_t	time32_t;
+#endif
+
 struct timeval32 {
-	int32_t	tv_sec;
+	time32_t tv_sec;
 	int32_t tv_usec;
 };
 #define TV_CP(src,dst,fld) do {			\
@@ -52,7 +61,7 @@
 } while (0)
 
 struct timespec32 {
-	int32_t tv_sec;
+	time32_t tv_sec;
 	int32_t tv_nsec;
 };
 #define TS_CP(src,dst,fld) do {			\

==== //depot/projects/pci/sys/compat/freebsd32/freebsd32_misc.c#6 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.130 2012/01/17 01:08:01 mckusick Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.131 2012/03/03 08:19:18 jmallett Exp $");
 
 #include "opt_compat.h"
 #include "opt_inet.h"
@@ -104,16 +104,22 @@
 #include <compat/freebsd32/freebsd32_signal.h>
 #include <compat/freebsd32/freebsd32_proto.h>
 
+#ifndef __mips__
 CTASSERT(sizeof(struct timeval32) == 8);
 CTASSERT(sizeof(struct timespec32) == 8);
 CTASSERT(sizeof(struct itimerval32) == 16);
+#endif
 CTASSERT(sizeof(struct statfs32) == 256);
+#ifndef __mips__
 CTASSERT(sizeof(struct rusage32) == 72);
+#endif
 CTASSERT(sizeof(struct sigaltstack32) == 12);
 CTASSERT(sizeof(struct kevent32) == 20);
 CTASSERT(sizeof(struct iovec32) == 8);
 CTASSERT(sizeof(struct msghdr32) == 28);
+#ifndef __mips__
 CTASSERT(sizeof(struct stat32) == 96);
+#endif
 CTASSERT(sizeof(struct sigaction32) == 24);
 
 static int freebsd32_kevent_copyout(void *arg, struct kevent *kevp, int count);

==== //depot/projects/pci/sys/compat/freebsd32/freebsd32_proto.h#7 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.130 2011/11/21 01:26:10 lstewart Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 227691 2011-11-19 06:35:15Z ed 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.131 2012/03/03 08:19:18 jmallett Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 227776 2011-11-21 01:26:10Z lstewart 
  */
 
 #ifndef _FREEBSD32_SYSPROTO_H_
@@ -33,7 +33,7 @@
 #define	PADR_(t)	0
 #endif
 
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 struct freebsd32_wait4_args {
@@ -589,7 +589,7 @@
 	char len2_l_[PADL_(uint32_t)]; uint32_t len2; char len2_r_[PADR_(uint32_t)];
 	char advice_l_[PADL_(int)]; int advice; char advice_r_[PADR_(int)];
 };
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 int	freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *);
@@ -703,7 +703,7 @@
 
 #ifdef COMPAT_43
 
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 struct ofreebsd32_lseek_args {
@@ -789,7 +789,7 @@
 
 #ifdef COMPAT_FREEBSD4
 
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 struct freebsd4_freebsd32_getfsstat_args {
@@ -846,7 +846,7 @@
 
 #ifdef COMPAT_FREEBSD6
 
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 struct freebsd6_freebsd32_pread_args {
@@ -912,7 +912,7 @@
 
 #ifdef COMPAT_FREEBSD7
 
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 struct freebsd7_freebsd32_semctl_args {

==== //depot/projects/pci/sys/compat/freebsd32/freebsd32_syscall.h#7 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.126 2011/11/21 01:26:10 lstewart Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 227691 2011-11-19 06:35:15Z ed 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.127 2012/03/03 08:19:18 jmallett Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 227776 2011-11-21 01:26:10Z lstewart 
  */
 
 #define	FREEBSD32_SYS_syscall	0

==== //depot/projects/pci/sys/compat/freebsd32/freebsd32_syscalls.c#7 (text+ko) ====

@@ -2,12 +2,12 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.117 2011/11/21 01:26:10 lstewart Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 227691 2011-11-19 06:35:15Z ed 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.118 2012/03/03 08:19:18 jmallett Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 227776 2011-11-21 01:26:10Z lstewart 
  */
 
 const char *freebsd32_syscallnames[] = {
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 	"syscall",			/* 0 = syscall */

==== //depot/projects/pci/sys/compat/freebsd32/freebsd32_sysent.c#7 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.128 2011/11/21 01:26:10 lstewart Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 227691 2011-11-19 06:35:15Z ed 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.129 2012/03/03 08:19:18 jmallett Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 227776 2011-11-21 01:26:10Z lstewart 
  */
 
 #include "opt_compat.h"
@@ -44,7 +44,7 @@
 
 /* The casts are bogus but will do for now. */
 struct sysent freebsd32_sysent[] = {
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },		/* 0 = syscall */

==== //depot/projects/pci/sys/compat/freebsd32/freebsd32_systrace_args.c#5 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call argument to DTrace register array converstion.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_systrace_args.c,v 1.11 2011/11/21 01:26:10 lstewart Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_systrace_args.c,v 1.12 2012/03/03 08:19:18 jmallett Exp $
  * This file is part of the DTrace syscall provider.
  */
 
@@ -11,7 +11,7 @@
 {
 	int64_t *iarg  = (int64_t *) uarg;
 	switch (sysnum) {
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 	/* nosys */
@@ -3077,7 +3077,7 @@
 {
 	const char *p = NULL;
 	switch (sysnum) {
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 	/* nosys */
@@ -8192,7 +8192,7 @@
 {
 	const char *p = NULL;
 	switch (sysnum) {
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 	/* nosys */

==== //depot/projects/pci/sys/compat/freebsd32/syscalls.master#7 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.145 2011/11/21 01:26:10 lstewart Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.146 2012/03/03 08:19:18 jmallett Exp $
 ;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
 ;	from: src/sys/kern/syscalls.master 1.107
 ;
@@ -52,7 +52,7 @@
 #include <compat/freebsd32/freebsd32.h>
 #include <compat/freebsd32/freebsd32_proto.h>
 
-#if !defined(PAD64_REQUIRED) && defined(__powerpc__)
+#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
 #define PAD64_REQUIRED
 #endif
 

==== //depot/projects/pci/sys/conf/files.mips#6 (text+ko) ====

@@ -14,7 +14,7 @@
 # Copyright (c) 2001, 2004-2005, Juniper Networks, Inc.
 # All rights reserved.
 # JNPR: files.mips,v 1.11 2007/08/09 12:25:35 katta
-# $FreeBSD: src/sys/conf/files.mips,v 1.23 2011/10/18 07:29:21 jchandra Exp $
+# $FreeBSD: src/sys/conf/files.mips,v 1.24 2012/03/03 08:19:18 jmallett Exp $
 #
 # ----------------------------------------------------------------------
 # Phase 2
@@ -90,6 +90,13 @@
 #libkern/mips/strcmp.S		standard
 #libkern/mips/strncmp.S		standard
 
+compat/freebsd32/freebsd32_ioctl.c	optional	compat_freebsd32
+compat/freebsd32/freebsd32_misc.c	optional	compat_freebsd32
+compat/freebsd32/freebsd32_syscalls.c	optional	compat_freebsd32
+compat/freebsd32/freebsd32_sysent.c	optional	compat_freebsd32
+kern/imgact_elf32.c			optional	compat_freebsd32
+mips/mips/freebsd32_machdep.c		optional	compat_freebsd32
+
 kern/kern_clocksource.c		standard
 kern/link_elf_obj.c		standard
 

==== //depot/projects/pci/sys/conf/options.mips#5 (text+ko) ====

@@ -26,7 +26,7 @@
 # SUCH DAMAGE.
 #
 #	JNPR: options.mips,v 1.2 2006/09/15 12:52:34
-# $FreeBSD: src/sys/conf/options.mips,v 1.13 2011/07/16 20:31:29 jchandra Exp $
+# $FreeBSD: src/sys/conf/options.mips,v 1.14 2012/03/03 08:19:18 jmallett Exp $
 
 CPU_MIPS4KC	opt_global.h
 CPU_MIPS32	opt_global.h
@@ -38,6 +38,7 @@
 CPU_RMI		opt_global.h
 CPU_NLM		opt_global.h
 
+# XXX These are bogus and should be replaced by proper ABI or ISA checks.
 ISA_MIPS1	opt_cputype.h
 ISA_MIPS3	opt_cputype.h
 ISA_MIPS32	opt_cputype.h
@@ -45,6 +46,8 @@
 ISA_MIPS64	opt_cputype.h
 ISA_MIPS64v2	opt_cputype.h
 
+COMPAT_FREEBSD32	opt_compat.h
+
 YAMON		opt_global.h
 CFE		opt_global.h
 CFE_CONSOLE	opt_global.h

==== //depot/projects/pci/sys/dev/acpica/acpi_pci.c#5 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.39 2011/06/17 21:19:01 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.40 2012/03/02 20:38:04 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/pci/sys/dev/cardbus/cardbus.c#6 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/cardbus/cardbus.c,v 1.76 2011/11/07 15:43:11 ed Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/cardbus/cardbus.c,v 1.77 2012/03/02 20:38:04 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/pci/sys/dev/mpt/mpt_pci.c#6 (text+ko) ====

@@ -99,7 +99,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.65 2012/02/11 12:03:44 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.66 2012/03/02 22:00:40 ken Exp $");
 
 #include <dev/mpt/mpt.h>
 #include <dev/mpt/mpt_cam.h>
@@ -129,18 +129,34 @@
 #define	PCI_PRODUCT_LSI_FC919		0x0624
 #endif
 
+#ifndef	PCI_PRODUCT_LSI_FC919_LAN
+#define	PCI_PRODUCT_LSI_FC919_LAN	0x0625
+#endif
+
 #ifndef	PCI_PRODUCT_LSI_FC929
 #define	PCI_PRODUCT_LSI_FC929		0x0622
 #endif
 
+#ifndef	PCI_PRODUCT_LSI_FC929_LAN
+#define	PCI_PRODUCT_LSI_FC929_LAN	0x0623
+#endif
+
 #ifndef	PCI_PRODUCT_LSI_FC929X
 #define	PCI_PRODUCT_LSI_FC929X		0x0626
 #endif
 
+#ifndef	PCI_PRODUCT_LSI_FC929X_LAN
+#define	PCI_PRODUCT_LSI_FC929X_LAN	0x0627
+#endif
+
 #ifndef	PCI_PRODUCT_LSI_FC919X
 #define	PCI_PRODUCT_LSI_FC919X		0x0628
 #endif
 
+#ifndef	PCI_PRODUCT_LSI_FC919X_LAN
+#define	PCI_PRODUCT_LSI_FC919X_LAN	0x0629
+#endif
+
 #ifndef	PCI_PRODUCT_LSI_FC7X04X
 #define	PCI_PRODUCT_LSI_FC7X04X		0x0640
 #endif
@@ -153,6 +169,10 @@
 #define	PCI_PRODUCT_LSI_1030		0x0030
 #endif
 
+#ifndef	PCI_PRODUCT_LSI_1030ZC
+#define	PCI_PRODUCT_LSI_1030ZC		0x0031
+#endif
+
 #ifndef	PCI_PRODUCT_LSI_SAS1064
 #define PCI_PRODUCT_LSI_SAS1064		0x0050
 #endif
@@ -177,6 +197,10 @@
 #define PCI_PRODUCT_LSI_SAS1068		0x0054
 #endif
 
+#ifndef PCI_PRODUCT_LSI_SAS1068A
+#define PCI_PRODUCT_LSI_SAS1068A	0x0055
+#endif
+
 #ifndef PCI_PRODUCT_LSI_SAS1068E
 #define PCI_PRODUCT_LSI_SAS1068E	0x0058
 #endif
@@ -232,7 +256,7 @@
 		return (ENXIO);
 	}
 
-	switch ((pci_get_device(dev) & ~1)) {
+	switch (pci_get_device(dev)) {
 	case PCI_PRODUCT_LSI_FC909:
 		desc = "LSILogic FC909 FC Adapter";
 		break;
@@ -242,15 +266,27 @@
 	case PCI_PRODUCT_LSI_FC919:
 		desc = "LSILogic FC919 FC Adapter";
 		break;
+	case PCI_PRODUCT_LSI_FC919_LAN:
+		desc = "LSILogic FC919 LAN Adapter";
+		break;
 	case PCI_PRODUCT_LSI_FC929:
 		desc = "Dual LSILogic FC929 FC Adapter";
 		break;
+	case PCI_PRODUCT_LSI_FC929_LAN:
+		desc = "Dual LSILogic FC929 LAN Adapter";
+		break;
 	case PCI_PRODUCT_LSI_FC919X:
 		desc = "LSILogic FC919 FC PCI-X Adapter";
 		break;
+	case PCI_PRODUCT_LSI_FC919X_LAN:
+		desc = "LSILogic FC919 LAN PCI-X Adapter";
+		break;
 	case PCI_PRODUCT_LSI_FC929X:
 		desc = "Dual LSILogic FC929X 2Gb/s FC PCI-X Adapter";
 		break;
+	case PCI_PRODUCT_LSI_FC929X_LAN:
+		desc = "Dual LSILogic FC929X LAN PCI-X Adapter";
+		break;
 	case PCI_PRODUCT_LSI_FC646:
 		desc = "Dual LSILogic FC7X04X 4Gb/s FC PCI-Express Adapter";
 		break;
@@ -258,6 +294,7 @@
 		desc = "Dual LSILogic FC7X04X 4Gb/s FC PCI-X Adapter";
 		break;
 	case PCI_PRODUCT_LSI_1030:
+	case PCI_PRODUCT_LSI_1030ZC:
 		desc = "LSILogic 1030 Ultra4 Adapter";
 		break;
 	case PCI_PRODUCT_LSI_SAS1064:
@@ -266,6 +303,7 @@
 	case PCI_PRODUCT_LSI_SAS1066:
 	case PCI_PRODUCT_LSI_SAS1066E:
 	case PCI_PRODUCT_LSI_SAS1068:
+	case PCI_PRODUCT_LSI_SAS1068A:
 	case PCI_PRODUCT_LSI_SAS1068E:
 	case PCI_PRODUCT_LSI_SAS1078:
 	case PCI_PRODUCT_LSI_SAS1078DE:
@@ -428,12 +466,17 @@
 		return (ENOMEM);
 	}
 	memset(mpt, 0, sizeof(struct mpt_softc));
-	switch ((pci_get_device(dev) & ~1)) {
+	switch (pci_get_device(dev)) {
 	case PCI_PRODUCT_LSI_FC909:
 	case PCI_PRODUCT_LSI_FC909A:
 	case PCI_PRODUCT_LSI_FC919:
+	case PCI_PRODUCT_LSI_FC919_LAN:
 	case PCI_PRODUCT_LSI_FC929:
+	case PCI_PRODUCT_LSI_FC929_LAN:
+	case PCI_PRODUCT_LSI_FC929X:
+	case PCI_PRODUCT_LSI_FC929X_LAN:
 	case PCI_PRODUCT_LSI_FC919X:
+	case PCI_PRODUCT_LSI_FC919X_LAN:
 	case PCI_PRODUCT_LSI_FC646:
 	case PCI_PRODUCT_LSI_FC7X04X:
 		mpt->is_fc = 1;
@@ -448,6 +491,7 @@
 	case PCI_PRODUCT_LSI_SAS1066:
 	case PCI_PRODUCT_LSI_SAS1066E:
 	case PCI_PRODUCT_LSI_SAS1068:
+	case PCI_PRODUCT_LSI_SAS1068A:
 	case PCI_PRODUCT_LSI_SAS1068E:
 		mpt->is_sas = 1;
 		break;
@@ -499,11 +543,17 @@
 	 * Is this part a dual?
 	 * If so, link with our partner (around yet)
 	 */
-	if ((pci_get_device(dev) & ~1) == PCI_PRODUCT_LSI_FC929 ||
-	    (pci_get_device(dev) & ~1) == PCI_PRODUCT_LSI_FC646 ||
-	    (pci_get_device(dev) & ~1) == PCI_PRODUCT_LSI_FC7X04X ||
-	    (pci_get_device(dev) & ~1) == PCI_PRODUCT_LSI_1030) {
+	switch (pci_get_device(dev)) {
+	case PCI_PRODUCT_LSI_FC929:
+	case PCI_PRODUCT_LSI_FC929_LAN:
+	case PCI_PRODUCT_LSI_FC646:
+	case PCI_PRODUCT_LSI_FC7X04X:
+	case PCI_PRODUCT_LSI_1030:
+	case PCI_PRODUCT_LSI_1030ZC:
 		mpt_link_peer(mpt);
+		break;
+	default:
+		break;
 	}
 
 	/*

==== //depot/projects/pci/sys/dev/pci/pci.c#31 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.430 2012/03/01 20:20:55 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.432 2012/03/03 14:24:39 jhb Exp $");
 
 #include "opt_bus.h"
 
@@ -1486,7 +1486,7 @@
  * 3.  Call the three vectors allocated by pci_alloc_msix() A, B, and
  * C.  After the call to pci_alloc_msix(), the device will be setup to
  * have an MSI-X table of ABC--- (where - means no vector assigned).
- * If the driver ten passes a vector array of { 1, 0, 1, 2, 0, 2 },
+ * If the driver then passes a vector array of { 1, 0, 1, 2, 0, 2 },
  * then the MSI-X table will look like A-AB-B, and the 'C' vector will
  * be freed back to the system.  This device will also have valid
  * SYS_RES_IRQ rids of 1, 3, 4, and 6.

==== //depot/projects/pci/sys/dev/pci/pci_private.h#8 (text+ko) ====

@@ -25,7 +25,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/pci/pci_private.h,v 1.31 2010/10/20 16:47:09 jkim Exp $
+ * $FreeBSD: src/sys/dev/pci/pci_private.h,v 1.32 2012/03/02 20:38:04 jhb Exp $
  *
  */
 

==== //depot/projects/pci/sys/dev/pci/pcivar.h#8 (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/pci/pcivar.h,v 1.93 2012/03/01 20:20:55 jhb Exp $
+ * $FreeBSD: src/sys/dev/pci/pcivar.h,v 1.94 2012/03/03 14:25:36 jhb Exp $
  *
  */
 
@@ -350,9 +350,9 @@
 }
 
 static __inline int
-pci_get_vpd_readonly(device_t dev, const char *kw, const char **identptr)
+pci_get_vpd_readonly(device_t dev, const char *kw, const char **vptr)
 {
-    return(PCI_GET_VPD_READONLY(device_get_parent(dev), dev, kw, identptr));
+    return(PCI_GET_VPD_READONLY(device_get_parent(dev), dev, kw, vptr));
 }
 
 /*

==== //depot/projects/pci/sys/dev/usb/controller/usb_controller.c#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb/controller/usb_controller.c,v 1.46 2012/01/02 20:28:33 hselasky Exp $ */
+/* $FreeBSD: src/sys/dev/usb/controller/usb_controller.c,v 1.47 2012/03/03 08:11:04 hselasky Exp $ */
 /*-
  * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
  *
@@ -89,10 +89,15 @@
 SYSCTL_INT(_hw_usb, OID_AUTO, no_boot_wait, CTLFLAG_RDTUN, &usb_no_boot_wait, 0,
     "No USB device enumerate waiting at boot.");
 
+static int usb_no_suspend_wait = 0;
+TUNABLE_INT("hw.usb.no_suspend_wait", &usb_no_suspend_wait);
+SYSCTL_INT(_hw_usb, OID_AUTO, no_suspend_wait, CTLFLAG_RW|CTLFLAG_TUN,
+    &usb_no_suspend_wait, 0, "No USB device waiting at system suspend.");
+
 static int usb_no_shutdown_wait = 0;
 TUNABLE_INT("hw.usb.no_shutdown_wait", &usb_no_shutdown_wait);
-SYSCTL_INT(_hw_usb, OID_AUTO, no_shutdown_wait, CTLFLAG_RW|CTLFLAG_TUN, &usb_no_shutdown_wait, 0,
-    "No USB device waiting at system shutdown.");
+SYSCTL_INT(_hw_usb, OID_AUTO, no_shutdown_wait, CTLFLAG_RW|CTLFLAG_TUN,
+    &usb_no_shutdown_wait, 0, "No USB device waiting at system shutdown.");
 
 static devclass_t usb_devclass;
 
@@ -240,6 +245,11 @@
 	USB_BUS_LOCK(bus);
 	usb_proc_msignal(&bus->explore_proc,
 	    &bus->suspend_msg[0], &bus->suspend_msg[1]);
+	if (usb_no_suspend_wait == 0) {
+		/* wait for suspend callback to be executed */
+		usb_proc_mwait(&bus->explore_proc,
+		    &bus->suspend_msg[0], &bus->suspend_msg[1]);
+	}
 	USB_BUS_UNLOCK(bus);
 
 	return (0);
@@ -407,6 +417,15 @@
 
 	USB_BUS_UNLOCK(bus);
 
+	/*
+	 * We use the shutdown event here because the suspend and
+	 * resume events are reserved for the USB port suspend and
+	 * resume. The USB system suspend is implemented like full
+	 * shutdown and all connected USB devices will be disconnected
+	 * subsequently. At resume all USB devices will be
+	 * re-connected again.
+	 */
+
 	bus_generic_shutdown(bus->bdev);
 
 	usbd_enum_lock(udev);

==== //depot/projects/pci/sys/fs/nfsclient/nfs_clrpcops.c#7 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clrpcops.c,v 1.30 2012/01/20 20:02:01 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clrpcops.c,v 1.31 2012/03/03 01:06:54 rmacklem Exp $");
 
 /*
  * Rpc op calls, generally called from the vnode op calls or through the
@@ -2951,10 +2951,12 @@
 	nfsattrbit_t attrbits, dattrbits;
 	size_t tresid;
 	u_int32_t *tl2 = NULL, fakefileno = 0xffffffff, rderr;
+	struct timespec dctime;
 
 	KASSERT(uiop->uio_iovcnt == 1 &&
 	    (uio_uio_resid(uiop) & (DIRBLKSIZ - 1)) == 0,
 	    ("nfs readdirplusrpc bad uio"));
+	timespecclear(&dctime);
 	*attrflagp = 0;
 	if (eofp != NULL)
 		*eofp = 0;
@@ -2997,6 +2999,7 @@
 #endif
 			if (error)
 			    return (error);
+			dctime = nfsva.na_ctime;
 			dotfileid = nfsva.na_fileid;
 			NFSCL_REQSTART(nd, NFSPROC_LOOKUPP, vp);
 			NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED);
@@ -3134,6 +3137,8 @@
 				error = nd->nd_repstat;
 			goto nfsmout;
 		}
+		if ((nd->nd_flag & ND_NFSV3) != 0 && *attrflagp != 0)
+			dctime = nap->na_ctime;
 		NFSM_DISSECT(tl, u_int32_t *, 3 * NFSX_UNSIGNED);
 		NFSLOCKNODE(dnp);
 		dnp->n_cookieverf.nfsuquad[0] = *tl++;
@@ -3316,10 +3321,14 @@
 					vtonfs_dtype(np->n_vattr.na_type);
 				    ndp->ni_vp = newvp;
 				    NFSCNHASH(cnp, HASHINIT);
-				    if (cnp->cn_namelen <= NCHNAMLEN) {
+				    if (cnp->cn_namelen <= NCHNAMLEN &&
+					(newvp->v_type != VDIR ||
+					 dctime.tv_sec != 0)) {
 					cache_enter_time(ndp->ni_dvp,
 					    ndp->ni_vp, cnp,
-					    &nfsva.na_ctime);
+					    &nfsva.na_ctime,
+					    newvp->v_type != VDIR ? NULL :
+					    &dctime);
 				    }
 				    if (unlocknewvp)
 					vput(newvp);

==== //depot/projects/pci/sys/fs/nfsclient/nfs_clvnops.c#8 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clvnops.c,v 1.57 2012/02/21 01:05:12 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clvnops.c,v 1.58 2012/03/03 01:06:54 rmacklem Exp $");
 
 /*
  * vnode op calls for Sun NFS version 2, 3 and 4
@@ -1172,7 +1172,7 @@
 			    &dnfsva.na_mtime, ==)) {
 				mtx_unlock(&np->n_mtx);
 				cache_enter_time(dvp, NULL, cnp,
-				    &dnfsva.na_mtime);
+				    &dnfsva.na_mtime, NULL);
 			} else
 				mtx_unlock(&np->n_mtx);
 		}
@@ -1271,9 +1271,10 @@
 	if (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN))
 		cnp->cn_flags |= SAVENAME;
 	if ((cnp->cn_flags & MAKEENTRY) &&
-	    (cnp->cn_nameiop != DELETE || !(flags & ISLASTCN)) && attrflag) {
-		cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime);
-	}
+	    (cnp->cn_nameiop != DELETE || !(flags & ISLASTCN)) &&
+	    attrflag != 0 && (newvp->v_type != VDIR || dattrflag != 0))
+		cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime,
+		    newvp->v_type != VDIR ? NULL : &dnfsva.na_ctime);
 	*vpp = newvp;
 	return (0);
 }
@@ -1591,7 +1592,8 @@
 	}
 	if (!error) {
 		if ((cnp->cn_flags & MAKEENTRY) && attrflag)
-			cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime);
+			cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime,
+			    NULL);
 		*ap->a_vpp = newvp;
 	} else if (NFS_ISV4(dvp)) {
 		error = nfscl_maperr(cnp->cn_thread, error, vap->va_uid,
@@ -1966,8 +1968,8 @@
 	 * must care about lookup caching hit rate, so...
 	 */
 	if (VFSTONFS(vp->v_mount)->nm_negnametimeo != 0 &&
-	    (cnp->cn_flags & MAKEENTRY) && dattrflag) {
-		cache_enter_time(tdvp, vp, cnp, &dnfsva.na_mtime);
+	    (cnp->cn_flags & MAKEENTRY) && attrflag != 0 && error == 0) {
+		cache_enter_time(tdvp, vp, cnp, &nfsva.na_ctime, NULL);
 	}
 	if (error && NFS_ISV4(vp))
 		error = nfscl_maperr(cnp->cn_thread, error, (uid_t)0,
@@ -2033,21 +2035,21 @@
 	if (dattrflag != 0) {
 		mtx_unlock(&dnp->n_mtx);
 		(void) nfscl_loadattrcache(&dvp, &dnfsva, NULL, NULL, 0, 1);
-		/*
-		 * If negative lookup caching is enabled, I might as well
-		 * add an entry for this node. Not necessary for correctness,
-		 * but if negative caching is enabled, then the system
-		 * must care about lookup caching hit rate, so...
-		 */
-		if (VFSTONFS(dvp->v_mount)->nm_negnametimeo != 0 &&
-		    (cnp->cn_flags & MAKEENTRY)) {
-			cache_enter_time(dvp, newvp, cnp, &dnfsva.na_mtime);
-		}
 	} else {
 		dnp->n_attrstamp = 0;
 		mtx_unlock(&dnp->n_mtx);
 		KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(dvp);
 	}
+	/*
+	 * If negative lookup caching is enabled, I might as well
+	 * add an entry for this node. Not necessary for correctness,
+	 * but if negative caching is enabled, then the system
+	 * must care about lookup caching hit rate, so...
+	 */
+	if (VFSTONFS(dvp->v_mount)->nm_negnametimeo != 0 &&
+	    (cnp->cn_flags & MAKEENTRY) && attrflag != 0 && error == 0) {
+		cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime, NULL);
+	}
 	return (error);
 }
 
@@ -2118,9 +2120,10 @@
 		 * must care about lookup caching hit rate, so...
 		 */
 		if (VFSTONFS(dvp->v_mount)->nm_negnametimeo != 0 &&
-		    (cnp->cn_flags & MAKEENTRY) && dattrflag) {
-			cache_enter_time(dvp, newvp, cnp, &dnfsva.na_mtime);
-		}
+		    (cnp->cn_flags & MAKEENTRY) &&
+		    attrflag != 0 && dattrflag != 0)
+			cache_enter_time(dvp, newvp, cnp, &nfsva.na_ctime,
+			    &dnfsva.na_ctime);
 		*ap->a_vpp = newvp;
 	}
 	return (error);

==== //depot/projects/pci/sys/fs/nfsserver/nfs_nfsdport.c#6 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/fs/nfsserver/nfs_nfsdport.c,v 1.67 2012/02/16 02:19:53 rmacklem Exp $");
+__FBSDID("$FreeBSD: src/sys/fs/nfsserver/nfs_nfsdport.c,v 1.68 2012/03/03 16:13:20 rmacklem Exp $");
 
 #include <sys/capability.h>
 
@@ -395,6 +395,7 @@
 	cnp->cn_thread = p;
 	ndp->ni_startdir = dp;
 	ndp->ni_rootdir = rootvnode;
+	ndp->ni_topdir = NULL;
 
 	if (!lockleaf)
 		cnp->cn_flags |= LOCKLEAF;

==== //depot/projects/pci/sys/i386/conf/GENERIC#6 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.562 2012/01/31 19:38:18 jimharris Exp $
+# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.563 2012/03/03 00:11:46 jkim Exp $
 
 cpu		I486_CPU
 cpu		I586_CPU
@@ -173,6 +173,7 @@
 device		kbdmux		# keyboard multiplexer
 
 device		vga		# VGA video card driver
+options		VESA		# add support for VESA BIOS Extensions
 
 device		splash		# Splash screen and screen saver support
 

==== //depot/projects/pci/sys/kern/kern_proc.c#6 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.334 2012/02/26 14:25:48 trociny Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.335 2012/03/03 11:53:35 trociny Exp $");
 
 #include "opt_compat.h"
 #include "opt_ddb.h"
@@ -2473,8 +2473,7 @@
 }
 
 /*
- * This sysctl allows a process to retrieve or/and set umask of
- * another process.
+ * This sysctl allows a process to retrieve umask of another process.
  */
 static int
 sysctl_kern_proc_umask(SYSCTL_HANDLER_ARGS)
@@ -2488,9 +2487,6 @@
 	if (namelen != 1)
 		return (EINVAL);
 
-	if (req->newptr != NULL && req->newlen != sizeof(fd_cmask))
-		return (EINVAL);
-
 	error = pget((pid_t)name[0], PGET_WANTREAD, &p);
 	if (error != 0)
 		return (error);
@@ -2498,20 +2494,8 @@
 	FILEDESC_SLOCK(p->p_fd);
 	fd_cmask = p->p_fd->fd_cmask;
 	FILEDESC_SUNLOCK(p->p_fd);
+	PRELE(p);
 	error = SYSCTL_OUT(req, &fd_cmask, sizeof(fd_cmask));
-	if (error != 0)
-		goto errout;
-
-	if (req->newptr != NULL) {
-		error = SYSCTL_IN(req, &fd_cmask, sizeof(fd_cmask));
-		if (error == 0) {
-			FILEDESC_XLOCK(p->p_fd);
-			p->p_fd->fd_cmask = fd_cmask & ALLPERMS;
-			FILEDESC_XUNLOCK(p->p_fd);
-		}
-	}
-errout:
-	PRELE(p);
 	return (error);
 }
 
@@ -2617,6 +2601,5 @@
 	CTLFLAG_MPSAFE, sysctl_kern_proc_ps_strings,
 	"Process ps_strings location");
 
-static SYSCTL_NODE(_kern_proc, KERN_PROC_UMASK, umask, CTLFLAG_RW |
-	CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, sysctl_kern_proc_umask,
-	"Process umask");
+static SYSCTL_NODE(_kern_proc, KERN_PROC_UMASK, umask, CTLFLAG_RD |
+	CTLFLAG_MPSAFE, sysctl_kern_proc_umask, "Process umask");

==== //depot/projects/pci/sys/kern/kern_tc.c#4 (text+ko) ====

@@ -14,7 +14,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_tc.c,v 1.207 2012/02/10 06:30:52 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_tc.c,v 1.208 2012/03/03 08:19:18 jmallett Exp $");
 
 #include "opt_ntp.h"
 #include "opt_ffclock.h"
@@ -123,6 +123,7 @@
 static int
 sysctl_kern_boottime(SYSCTL_HANDLER_ARGS)
 {
+#ifndef __mips__
 #ifdef SCTL_MASK32
 	int tv[2];
 
@@ -132,6 +133,7 @@
 		return SYSCTL_OUT(req, tv, sizeof(tv));
 	} else
 #endif
+#endif
 		return SYSCTL_OUT(req, &boottime, sizeof(boottime));
 }
 

==== //depot/projects/pci/sys/kern/sched_ule.c#6 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.299 2012/02/27 10:31:54 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.300 2012/03/03 11:50:48 mav Exp $");
 
 #include "opt_hwpmc_hooks.h"
 #include "opt_kdtrace.h"
@@ -662,16 +662,18 @@

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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