PERFORCE change 166668 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Tue Jul 28 08:12:58 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=166668
Change 166668 by hselasky at hselasky_laptop001 on 2009/07/28 08:12:47
IFC @ 166665
Affected files ...
.. //depot/projects/usb/src/sys/amd64/amd64/machdep.c#23 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/pmap.c#27 integrate
.. //depot/projects/usb/src/sys/arm/arm/pmap.c#19 integrate
.. //depot/projects/usb/src/sys/boot/forth/loader.conf#21 integrate
.. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h#3 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#20 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_mib.c#6 integrate
.. //depot/projects/usb/src/sys/conf/NOTES#44 integrate
.. //depot/projects/usb/src/sys/conf/files#75 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-all.c#17 integrate
.. //depot/projects/usb/src/sys/dev/e1000/e1000_ich8lan.c#5 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_em.c#11 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_igb.c#12 integrate
.. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe.c#10 integrate
.. //depot/projects/usb/src/sys/dev/uart/uart_cpu_powerpc.c#7 integrate
.. //depot/projects/usb/src/sys/dev/usb/usbdevs#68 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_uath.c#15 integrate
.. //depot/projects/usb/src/sys/fs/procfs/procfs_map.c#9 integrate
.. //depot/projects/usb/src/sys/i386/i386/machdep.c#19 integrate
.. //depot/projects/usb/src/sys/i386/i386/pmap.c#23 integrate
.. //depot/projects/usb/src/sys/i386/xen/pmap.c#11 integrate
.. //depot/projects/usb/src/sys/ia64/ia64/pmap.c#15 integrate
.. //depot/projects/usb/src/sys/kern/kern_jail.c#26 integrate
.. //depot/projects/usb/src/sys/kern/kern_proc.c#21 integrate
.. //depot/projects/usb/src/sys/kern/kern_vimage.c#12 integrate
.. //depot/projects/usb/src/sys/kern/uipc_domain.c#12 integrate
.. //depot/projects/usb/src/sys/mips/mips/pmap.c#12 integrate
.. //depot/projects/usb/src/sys/modules/Makefile#41 integrate
.. //depot/projects/usb/src/sys/modules/if_epair/Makefile#1 branch
.. //depot/projects/usb/src/sys/net/flowtable.c#7 integrate
.. //depot/projects/usb/src/sys/net/if.c#36 integrate
.. //depot/projects/usb/src/sys/net/if_clone.c#8 integrate
.. //depot/projects/usb/src/sys/net/if_clone.h#4 integrate
.. //depot/projects/usb/src/sys/net/if_epair.c#2 integrate
.. //depot/projects/usb/src/sys/net/if_gif.c#17 integrate
.. //depot/projects/usb/src/sys/net/if_loop.c#23 integrate
.. //depot/projects/usb/src/sys/net/if_var.h#26 integrate
.. //depot/projects/usb/src/sys/net/netisr.h#9 integrate
.. //depot/projects/usb/src/sys/net/route.c#23 integrate
.. //depot/projects/usb/src/sys/net/rtsock.c#29 integrate
.. //depot/projects/usb/src/sys/net/vnet.c#2 integrate
.. //depot/projects/usb/src/sys/net/vnet.h#15 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211.c#27 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_hwmp.c#3 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ioctl.h#16 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_mesh.c#3 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_mesh.h#3 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_output.c#27 integrate
.. //depot/projects/usb/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#4 integrate
.. //depot/projects/usb/src/sys/netgraph/netgraph.h#14 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_base.c#20 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_eiface.c#14 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_ether.c#15 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_iface.c#17 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_socket.c#8 integrate
.. //depot/projects/usb/src/sys/netinet/if_ether.c#26 integrate
.. //depot/projects/usb/src/sys/netinet/igmp.c#22 integrate
.. //depot/projects/usb/src/sys/netinet/in.c#32 integrate
.. //depot/projects/usb/src/sys/netinet/in_proto.c#13 integrate
.. //depot/projects/usb/src/sys/netinet/ipfw/ip_fw2.c#6 integrate
.. //depot/projects/usb/src/sys/netinet/sctp_indata.c#19 integrate
.. //depot/projects/usb/src/sys/netinet/sctp_uio.h#18 integrate
.. //depot/projects/usb/src/sys/netinet/sctputil.c#21 integrate
.. //depot/projects/usb/src/sys/netinet6/in6.c#29 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_proto.c#18 integrate
.. //depot/projects/usb/src/sys/netinet6/mld6.c#21 integrate
.. //depot/projects/usb/src/sys/netipsec/ipsec.c#22 integrate
.. //depot/projects/usb/src/sys/netipsec/keysock.c#14 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/pmap.c#16 integrate
.. //depot/projects/usb/src/sys/sparc64/sparc64/pmap.c#13 integrate
.. //depot/projects/usb/src/sys/sys/domain.h#5 integrate
.. //depot/projects/usb/src/sys/sys/jail.h#18 integrate
.. //depot/projects/usb/src/sys/sys/kernel.h#16 integrate
.. //depot/projects/usb/src/sys/sys/param.h#42 integrate
.. //depot/projects/usb/src/sys/sys/sysctl.h#21 integrate
.. //depot/projects/usb/src/sys/sys/user.h#11 integrate
.. //depot/projects/usb/src/sys/sys/vimage.h#19 integrate
.. //depot/projects/usb/src/sys/vm/sg_pager.c#1 branch
.. //depot/projects/usb/src/sys/vm/vm.h#7 integrate
.. //depot/projects/usb/src/sys/vm/vm_fault.c#17 integrate
.. //depot/projects/usb/src/sys/vm/vm_map.c#19 integrate
.. //depot/projects/usb/src/sys/vm/vm_meter.c#10 integrate
.. //depot/projects/usb/src/sys/vm/vm_object.c#21 integrate
.. //depot/projects/usb/src/sys/vm/vm_object.h#10 integrate
.. //depot/projects/usb/src/sys/vm/vm_page.c#19 integrate
.. //depot/projects/usb/src/sys/vm/vm_pageout.c#18 integrate
.. //depot/projects/usb/src/sys/vm/vm_pager.c#5 integrate
.. //depot/projects/usb/src/sys/vm/vm_pager.h#4 integrate
Differences ...
==== //depot/projects/usb/src/sys/amd64/amd64/machdep.c#23 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.705 2009/07/09 09:34:11 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.706 2009/07/27 13:51:55 rpaulo Exp $");
#include "opt_atalk.h"
#include "opt_atpic.h"
@@ -213,7 +213,10 @@
*/
sysenv = getenv("smbios.system.product");
if (sysenv != NULL) {
- if (strncmp(sysenv, "MacBook", 7) == 0) {
+ if (strncmp(sysenv, "MacBook1,1", 10) == 0 ||
+ strncmp(sysenv, "MacBookPro1,1", 13) == 0 ||
+ strncmp(sysenv, "MacBookPro1,2", 13) == 0 ||
+ strncmp(sysenv, "Macmini1,1", 10) == 0) {
if (bootverbose)
printf("Disabling LEGACY_USB_EN bit on "
"Intel ICH.\n");
==== //depot/projects/usb/src/sys/amd64/amd64/pmap.c#27 (text+ko) ====
@@ -77,7 +77,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.666 2009/07/22 14:32:38 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.667 2009/07/24 13:50:29 jhb Exp $");
/*
* Manages physical address maps.
@@ -3359,7 +3359,7 @@
int pat_mode;
VM_OBJECT_LOCK_ASSERT(object, MA_OWNED);
- KASSERT(object->type == OBJT_DEVICE,
+ KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG,
("pmap_object_init_pt: non-device object"));
if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) {
if (!vm_object_populate(object, pindex, pindex + atop(size)))
==== //depot/projects/usb/src/sys/arm/arm/pmap.c#19 (text+ko) ====
@@ -147,7 +147,7 @@
#include "opt_vm.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.112 2009/07/20 07:53:07 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.113 2009/07/24 13:50:29 jhb Exp $");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
@@ -3101,7 +3101,7 @@
{
VM_OBJECT_LOCK_ASSERT(object, MA_OWNED);
- KASSERT(object->type == OBJT_DEVICE,
+ KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG,
("pmap_object_init_pt: non-device object"));
}
==== //depot/projects/usb/src/sys/boot/forth/loader.conf#21 (text+ko) ====
@@ -6,7 +6,7 @@
#
# All arguments must be in double quotes.
#
-# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.142 2009/06/15 18:22:41 marius Exp $
+# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.143 2009/07/26 12:20:07 bz Exp $
##############################################################
### Basic configuration options ############################
@@ -190,6 +190,7 @@
if_disc_load="NO" # Discard device
if_ef_load="NO" # pseudo-device providing support for multiple
# ethernet frame types
+if_epair_load="NO" # Virtual b-t-b Ethernet-like interface pair
if_faith_load="NO" # IPv6-to-IPv4 TCP relay capturing interface
if_gif_load="NO" # generic tunnel interface
if_gre_load="NO" # encapsulating network device
==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h#3 (text+ko) ====
@@ -78,7 +78,11 @@
/*
* Is ID ephemeral?
*/
+#ifdef TODO
#define IS_EPHEMERAL(x) (x > MAXUID)
+#else
+#define IS_EPHEMERAL(x) (0)
+#endif
/*
* Should we use FUIDs?
==== //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#20 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.92 2009/06/27 13:58:44 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.93 2009/07/27 16:03:04 jhb Exp $");
#include "opt_compat.h"
#include "opt_inet.h"
@@ -1416,8 +1416,8 @@
defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
switch (uap->which) {
case 0:
- return (freebsd32_semctl(td,
- (struct freebsd32_semctl_args *)&uap->a2));
+ return (freebsd7_freebsd32_semctl(td,
+ (struct freebsd7_freebsd32_semctl_args *)&uap->a2));
default:
return (semsys(td, (struct semsys_args *)uap));
}
@@ -1580,8 +1580,8 @@
defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
switch (uap->which) {
case 0:
- return (freebsd32_msgctl(td,
- (struct freebsd32_msgctl_args *)&uap->a2));
+ return (freebsd7_freebsd32_msgctl(td,
+ (struct freebsd7_freebsd32_msgctl_args *)&uap->a2));
case 2:
return (freebsd32_msgsnd(td,
(struct freebsd32_msgsnd_args *)&uap->a2));
@@ -1751,12 +1751,12 @@
return (sysent[SYS_shmget].sy_call(td, &ap));
}
case 4: { /* shmctl */
- struct freebsd32_shmctl_args ap;
+ struct freebsd7_freebsd32_shmctl_args ap;
ap.shmid = uap->a2;
ap.cmd = uap->a3;
ap.buf = PTRIN(uap->a4);
- return (freebsd32_shmctl(td, &ap));
+ return (freebsd7_freebsd32_shmctl(td, &ap));
}
case 1: /* oshmctl */
default:
==== //depot/projects/usb/src/sys/compat/linux/linux_mib.c#6 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.36 2009/05/27 14:11:23 jamie Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.37 2009/07/25 14:48:57 jamie Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -237,12 +237,14 @@
{
struct prison *pr = obj;
struct vfsoptlist *opts = data;
+ int jsys;
- if (vfs_flagopt(opts, "nolinux", NULL, 0))
+ if (vfs_copyopt(opts, "linux", &jsys, sizeof(jsys)) == 0 &&
+ jsys == JAIL_SYS_INHERIT)
return (0);
/*
* Inherit a prison's initial values from its parent
- * (different from NULL which also inherits changes).
+ * (different from JAIL_SYS_INHERIT which also inherits changes).
*/
return linux_alloc_prison(pr, NULL);
}
@@ -252,11 +254,16 @@
{
struct vfsoptlist *opts = data;
char *osname, *osrelease;
- int error, len, osrel, oss_version;
+ int error, jsys, len, osrel, oss_version;
/* Check that the parameters are correct. */
- (void)vfs_flagopt(opts, "linux", NULL, 0);
- (void)vfs_flagopt(opts, "nolinux", NULL, 0);
+ error = vfs_copyopt(opts, "linux", &jsys, sizeof(jsys));
+ if (error != ENOENT) {
+ if (error != 0)
+ return (error);
+ if (jsys != JAIL_SYS_NEW && jsys != JAIL_SYS_INHERIT)
+ return (EINVAL);
+ }
error = vfs_getopt(opts, "linux.osname", (void **)&osname, &len);
if (error != ENOENT) {
if (error != 0)
@@ -296,33 +303,40 @@
struct prison *pr = obj;
struct vfsoptlist *opts = data;
char *osname, *osrelease;
- int error, gotversion, len, nolinux, oss_version, yeslinux;
+ int error, gotversion, jsys, len, oss_version;
/* Set the parameters, which should be correct. */
- yeslinux = vfs_flagopt(opts, "linux", NULL, 0);
- nolinux = vfs_flagopt(opts, "nolinux", NULL, 0);
+ error = vfs_copyopt(opts, "linux", &jsys, sizeof(jsys));
+ if (error == ENOENT)
+ jsys = -1;
error = vfs_getopt(opts, "linux.osname", (void **)&osname, &len);
if (error == ENOENT)
osname = NULL;
else
- yeslinux = 1;
+ jsys = JAIL_SYS_NEW;
error = vfs_getopt(opts, "linux.osrelease", (void **)&osrelease, &len);
if (error == ENOENT)
osrelease = NULL;
else
- yeslinux = 1;
+ jsys = JAIL_SYS_NEW;
error = vfs_copyopt(opts, "linux.oss_version", &oss_version,
sizeof(oss_version));
- gotversion = (error == 0);
- yeslinux |= gotversion;
- if (nolinux) {
- /* "nolinux": inherit the parent's Linux info. */
+ if (error == ENOENT)
+ gotversion = 0;
+ else {
+ gotversion = 1;
+ jsys = JAIL_SYS_NEW;
+ }
+ switch (jsys) {
+ case JAIL_SYS_INHERIT:
+ /* "linux=inherit": inherit the parent's Linux info. */
mtx_lock(&pr->pr_mtx);
osd_jail_del(pr, linux_osd_jail_slot);
mtx_unlock(&pr->pr_mtx);
- } else if (yeslinux) {
+ break;
+ case JAIL_SYS_NEW:
/*
- * "linux" or "linux.*":
+ * "linux=new" or "linux.*":
* the prison gets its own Linux info.
*/
error = linux_alloc_prison(pr, &lpr);
@@ -348,9 +362,7 @@
return (0);
}
-SYSCTL_JAIL_PARAM_NODE(linux, "Jail Linux parameters");
-SYSCTL_JAIL_PARAM(, nolinux, CTLTYPE_INT | CTLFLAG_RW,
- "BN", "Jail w/ no Linux parameters");
+SYSCTL_JAIL_PARAM_SYS_NODE(linux, CTLFLAG_RW, "Jail Linux parameters");
SYSCTL_JAIL_PARAM_STRING(_linux, osname, CTLFLAG_RW, LINUX_MAX_UTSNAME,
"Jail Linux kernel OS name");
SYSCTL_JAIL_PARAM_STRING(_linux, osrelease, CTLFLAG_RW, LINUX_MAX_UTSNAME,
@@ -371,15 +383,22 @@
/* See if this prison is the one with the Linux info. */
lpr = linux_find_prison(pr, &ppr);
- i = (ppr == pr);
+ i = (ppr == pr) ? JAIL_SYS_NEW : JAIL_SYS_INHERIT;
error = vfs_setopt(opts, "linux", &i, sizeof(i));
if (error != 0 && error != ENOENT)
goto done;
- i = !i;
- error = vfs_setopt(opts, "nolinux", &i, sizeof(i));
- if (error != 0 && error != ENOENT)
- goto done;
if (i) {
+ error = vfs_setopts(opts, "linux.osname", lpr->pr_osname);
+ if (error != 0 && error != ENOENT)
+ goto done;
+ error = vfs_setopts(opts, "linux.osrelease", lpr->pr_osrelease);
+ if (error != 0 && error != ENOENT)
+ goto done;
+ error = vfs_setopt(opts, "linux.oss_version",
+ &lpr->pr_oss_version, sizeof(lpr->pr_oss_version));
+ if (error != 0 && error != ENOENT)
+ goto done;
+ } else {
/*
* If this prison is inheriting its Linux info, report
* empty/zero parameters.
@@ -394,17 +413,6 @@
sizeof(lpr->pr_oss_version));
if (error != 0 && error != ENOENT)
goto done;
- } else {
- error = vfs_setopts(opts, "linux.osname", lpr->pr_osname);
- if (error != 0 && error != ENOENT)
- goto done;
- error = vfs_setopts(opts, "linux.osrelease", lpr->pr_osrelease);
- if (error != 0 && error != ENOENT)
- goto done;
- error = vfs_setopt(opts, "linux.oss_version",
- &lpr->pr_oss_version, sizeof(lpr->pr_oss_version));
- if (error != 0 && error != ENOENT)
- goto done;
}
error = 0;
==== //depot/projects/usb/src/sys/conf/NOTES#44 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1550 2009/07/11 15:02:45 rpaulo Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1553 2009/07/26 12:20:07 bz Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -784,6 +784,10 @@
# included for testing and benchmarking purposes.
device disc
+# The `epair' device implements a virtual back-to-back connected Ethernet
+# like interface pair.
+device epair
+
# The `edsc' device implements a minimal Ethernet interface,
# which discards all packets sent and receives none.
device edsc
@@ -1638,6 +1642,18 @@
device twe # 3ware ATA RAID
#
+# Serial ATA host controllers:
+#
+# ahci: Advanced Host Controller Interface (AHCI) compatible
+# siis: SiliconImage SiI3124/SiI3132/SiI3531 controllers
+#
+# These drivers are part of cam(4) subsystem. They supersede less featured
+# ata(4) subsystem drivers, supporting same hardware.
+
+device ahci
+device siis
+
+#
# The 'ATA' driver supports all ATA and ATAPI devices, including PC Card
# devices. You only need one "device ata" for it to find all
# PCI and PC Card ATA/ATAPI devices on modern machines.
==== //depot/projects/usb/src/sys/conf/files#75 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1455 2009/07/21 12:32:46 mav Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1457 2009/07/26 12:20:07 bz Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -2202,6 +2202,7 @@
net/if_edsc.c optional edsc
net/if_ef.c optional ef
net/if_enc.c optional enc ipsec inet | enc ipsec inet6
+net/if_epair.c optional epair
net/if_ethersubr.c optional ether \
compile-with "${NORMAL_C} -I$S/contrib/pf"
net/if_faith.c optional faith
@@ -2637,6 +2638,7 @@
vm/device_pager.c standard
vm/phys_pager.c standard
vm/redzone.c optional DEBUG_REDZONE
+vm/sg_pager.c standard
vm/swap_pager.c standard
vm/uma_core.c standard
vm/uma_dbg.c standard
==== //depot/projects/usb/src/sys/dev/ata/ata-all.c#17 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.306 2009/07/16 19:48:39 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.307 2009/07/26 14:04:48 mav Exp $");
#include "opt_ata.h"
#include <sys/param.h>
@@ -711,7 +711,7 @@
struct ata_channel *ch = device_get_softc(dev);
struct ata_device *atadev;
device_t *children;
- device_t child;
+ device_t child, master = NULL;
int nchildren, i, n = ch->devices;
if (bootverbose)
@@ -748,6 +748,15 @@
unit = (device_get_unit(dev) << 1) + i;
#endif
if ((child = ata_add_child(dev, atadev, unit))) {
+ /*
+ * PATA slave should be identified first, to allow
+ * device cable detection on master to work properly.
+ */
+ if (i == 0 && (n & ATA_PORTMULTIPLIER) == 0 &&
+ (n & ((ATA_ATA_MASTER | ATA_ATAPI_MASTER) << 1)) != 0) {
+ master = child;
+ continue;
+ }
if (ata_getparam(atadev, 1)) {
device_delete_child(dev, child);
free(atadev, M_ATA);
@@ -757,6 +766,13 @@
free(atadev, M_ATA);
}
}
+ if (master) {
+ atadev = device_get_softc(master);
+ if (ata_getparam(atadev, 1)) {
+ device_delete_child(dev, master);
+ free(atadev, M_ATA);
+ }
+ }
bus_generic_probe(dev);
bus_generic_attach(dev);
mtx_unlock(&Giant);
==== //depot/projects/usb/src/sys/dev/e1000/e1000_ich8lan.c#5 (text+ko) ====
@@ -30,7 +30,7 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-/*$FreeBSD: src/sys/dev/e1000/e1000_ich8lan.c,v 1.4 2009/06/24 17:41:29 jfv Exp $*/
+/*$FreeBSD: src/sys/dev/e1000/e1000_ich8lan.c,v 1.5 2009/07/24 16:54:22 jfv Exp $*/
/*
* 82562G 10/100 Network Connection
@@ -307,7 +307,6 @@
{
struct e1000_nvm_info *nvm = &hw->nvm;
struct e1000_dev_spec_ich8lan *dev_spec = &hw->dev_spec.ich8lan;
- union ich8_hws_flash_status hsfsts;
u32 gfpreg, sector_base_addr, sector_end_addr;
s32 ret_val = E1000_SUCCESS;
u16 i;
@@ -346,20 +345,6 @@
/* Adjust to word count */
nvm->flash_bank_size /= sizeof(u16);
- /*
- * Make sure the flash bank size does not overwrite the 4k
- * sector ranges. We may have 64k allotted to us but we only care
- * about the first 2 4k sectors. Therefore, if we have anything less
- * than 64k set in the HSFSTS register, we will reduce the bank size
- * down to 4k and let the rest remain unused. If berasesz == 3, then
- * we are working in 64k mode. Otherwise we are not.
- */
- if (nvm->flash_bank_size > E1000_SHADOW_RAM_WORDS) {
- hsfsts.regval = E1000_READ_FLASH_REG16(hw, ICH_FLASH_HSFSTS);
- if (hsfsts.hsf_status.berasesz != 3)
- nvm->flash_bank_size = E1000_SHADOW_RAM_WORDS;
- }
-
nvm->word_size = E1000_SHADOW_RAM_WORDS;
/* Clear shadow ram */
@@ -1961,13 +1946,8 @@
iteration = 1;
break;
case 2:
- if (hw->mac.type == e1000_ich9lan) {
- sector_size = ICH_FLASH_SEG_SIZE_8K;
- iteration = flash_bank_size / ICH_FLASH_SEG_SIZE_8K;
- } else {
- ret_val = -E1000_ERR_NVM;
- goto out;
- }
+ sector_size = ICH_FLASH_SEG_SIZE_8K;
+ iteration = 1;
break;
case 3:
sector_size = ICH_FLASH_SEG_SIZE_64K;
==== //depot/projects/usb/src/sys/dev/e1000/if_em.c#11 (text+ko) ====
@@ -30,7 +30,7 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-/*$FreeBSD: src/sys/dev/e1000/if_em.c,v 1.19 2009/06/29 18:17:10 jfv Exp $*/
+/*$FreeBSD: src/sys/dev/e1000/if_em.c,v 1.21 2009/07/24 21:35:52 jfv Exp $*/
#ifdef HAVE_KERNEL_OPTION_HEADERS
#include "opt_device_polling.h"
@@ -815,9 +815,9 @@
#if __FreeBSD_version >= 700029
/* Register for VLAN events */
adapter->vlan_attach = EVENTHANDLER_REGISTER(vlan_config,
- em_register_vlan, 0, EVENTHANDLER_PRI_FIRST);
+ em_register_vlan, adapter, EVENTHANDLER_PRI_FIRST);
adapter->vlan_detach = EVENTHANDLER_REGISTER(vlan_unconfig,
- em_unregister_vlan, 0, EVENTHANDLER_PRI_FIRST);
+ em_unregister_vlan, adapter, EVENTHANDLER_PRI_FIRST);
#endif
/* Tell the stack that the interface is not active */
@@ -919,9 +919,6 @@
bus_generic_detach(dev);
if_free(ifp);
-#if __FreeBSD_version >= 800000
- drbr_free(adapter->br, M_DEVBUF);
-#endif
em_free_transmit_structures(adapter);
em_free_receive_structures(adapter);
@@ -3644,7 +3641,8 @@
adapter->txtag = NULL;
}
#if __FreeBSD_version >= 800000
- buf_ring_free(adapter->br, M_DEVBUF);
+ if (adapter->br != NULL)
+ buf_ring_free(adapter->br, M_DEVBUF);
#endif
}
@@ -4715,12 +4713,15 @@
* config EVENT
*/
static void
-em_register_vlan(void *unused, struct ifnet *ifp, u16 vtag)
+em_register_vlan(void *arg, struct ifnet *ifp, u16 vtag)
{
struct adapter *adapter = ifp->if_softc;
u32 index, bit;
- if ((vtag == 0) || (vtag > 4095)) /* Invalid */
+ if (ifp->if_softc != arg) /* Not our event */
+ return;
+
+ if ((vtag == 0) || (vtag > 4095)) /* Invalid ID */
return;
index = (vtag >> 5) & 0x7F;
@@ -4736,11 +4737,14 @@
* unconfig EVENT
*/
static void
-em_unregister_vlan(void *unused, struct ifnet *ifp, u16 vtag)
+em_unregister_vlan(void *arg, struct ifnet *ifp, u16 vtag)
{
struct adapter *adapter = ifp->if_softc;
u32 index, bit;
+ if (ifp->if_softc != arg)
+ return;
+
if ((vtag == 0) || (vtag > 4095)) /* Invalid */
return;
==== //depot/projects/usb/src/sys/dev/e1000/if_igb.c#12 (text+ko) ====
@@ -30,7 +30,7 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-/*$FreeBSD: src/sys/dev/e1000/if_igb.c,v 1.19 2009/07/14 19:32:36 bz Exp $*/
+/*$FreeBSD: src/sys/dev/e1000/if_igb.c,v 1.21 2009/07/24 21:35:52 jfv Exp $*/
#ifdef HAVE_KERNEL_OPTION_HEADERS
@@ -600,9 +600,9 @@
/* Register for VLAN events */
adapter->vlan_attach = EVENTHANDLER_REGISTER(vlan_config,
- igb_register_vlan, 0, EVENTHANDLER_PRI_FIRST);
+ igb_register_vlan, adapter, EVENTHANDLER_PRI_FIRST);
adapter->vlan_detach = EVENTHANDLER_REGISTER(vlan_unconfig,
- igb_unregister_vlan, 0, EVENTHANDLER_PRI_FIRST);
+ igb_unregister_vlan, adapter, EVENTHANDLER_PRI_FIRST);
/* Tell the stack that the interface is not active */
adapter->ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
@@ -3068,7 +3068,8 @@
}
}
#if __FreeBSD_version >= 800000
- buf_ring_free(txr->br, M_DEVBUF);
+ if (txr->br != NULL)
+ buf_ring_free(txr->br, M_DEVBUF);
#endif
if (txr->tx_buffers != NULL) {
free(txr->tx_buffers, M_DEVBUF);
@@ -4304,11 +4305,14 @@
* config EVENT
*/
static void
-igb_register_vlan(void *unused, struct ifnet *ifp, u16 vtag)
+igb_register_vlan(void *arg, struct ifnet *ifp, u16 vtag)
{
struct adapter *adapter = ifp->if_softc;
u32 index, bit;
+ if (ifp->if_softc != arg) /* Not our event */
+ return;
+
if ((vtag == 0) || (vtag > 4095)) /* Invalid */
return;
@@ -4325,11 +4329,14 @@
* unconfig EVENT
*/
static void
-igb_unregister_vlan(void *unused, struct ifnet *ifp, u16 vtag)
+igb_unregister_vlan(void *arg, struct ifnet *ifp, u16 vtag)
{
struct adapter *adapter = ifp->if_softc;
u32 index, bit;
+ if (ifp->if_softc != arg)
+ return;
+
if ((vtag == 0) || (vtag > 4095)) /* Invalid */
return;
==== //depot/projects/usb/src/sys/dev/ixgbe/ixgbe.c#10 (text+ko) ====
@@ -30,7 +30,7 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-/*$FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.15 2009/07/01 16:13:01 jfv Exp $*/
+/*$FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.17 2009/07/24 21:35:52 jfv Exp $*/
#ifdef HAVE_KERNEL_OPTION_HEADERS
#include "opt_device_polling.h"
@@ -539,9 +539,9 @@
/* Register for VLAN events */
adapter->vlan_attach = EVENTHANDLER_REGISTER(vlan_config,
- ixgbe_register_vlan, 0, EVENTHANDLER_PRI_FIRST);
+ ixgbe_register_vlan, adapter, EVENTHANDLER_PRI_FIRST);
adapter->vlan_detach = EVENTHANDLER_REGISTER(vlan_unconfig,
- ixgbe_unregister_vlan, 0, EVENTHANDLER_PRI_FIRST);
+ ixgbe_unregister_vlan, adapter, EVENTHANDLER_PRI_FIRST);
/* let hardware know driver is loaded */
ctrl_ext = IXGBE_READ_REG(hw, IXGBE_CTRL_EXT);
@@ -2961,7 +2961,8 @@
}
}
#if __FreeBSD_version >= 800000
- buf_ring_free(txr->br, M_DEVBUF);
+ if (txr->br != NULL)
+ buf_ring_free(txr->br, M_DEVBUF);
#endif
if (txr->tx_buffers != NULL) {
free(txr->tx_buffers, M_DEVBUF);
@@ -4123,11 +4124,14 @@
** repopulate the real table.
*/
static void
-ixgbe_register_vlan(void *unused, struct ifnet *ifp, u16 vtag)
+ixgbe_register_vlan(void *arg, struct ifnet *ifp, u16 vtag)
{
struct adapter *adapter = ifp->if_softc;
u16 index, bit;
+ if (ifp->if_softc != arg) /* Not our event */
+ return;
+
if ((vtag == 0) || (vtag > 4095)) /* Invalid */
return;
@@ -4145,11 +4149,14 @@
** in the soft vfta.
*/
static void
-ixgbe_unregister_vlan(void *unused, struct ifnet *ifp, u16 vtag)
+ixgbe_unregister_vlan(void *arg, struct ifnet *ifp, u16 vtag)
{
struct adapter *adapter = ifp->if_softc;
u16 index, bit;
+ if (ifp->if_softc != arg)
+ return;
+
if ((vtag == 0) || (vtag > 4095)) /* Invalid */
return;
==== //depot/projects/usb/src/sys/dev/uart/uart_cpu_powerpc.c#7 (text) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.7 2009/04/08 22:19:39 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.8 2009/07/23 12:51:27 nwhitehorn Exp $");
#include "opt_platform.h"
@@ -78,6 +78,27 @@
return (uart_getenv(devtype, di, class));
}
#else
+static int
+ofw_get_uart_console(phandle_t opts, phandle_t *result, const char *inputdev,
+ const char *outputdev)
+{
+ char buf[64];
+ phandle_t input;
+
+ if (OF_getprop(opts, inputdev, buf, sizeof(buf)) == -1)
+ return (ENXIO);
+ input = OF_finddevice(buf);
+ if (input == -1)
+ return (ENXIO);
+ if (OF_getprop(opts, outputdev, buf, sizeof(buf)) == -1)
+ return (ENXIO);
+ if (OF_finddevice(buf) != input)
+ return (ENXIO);
+
+ *result = input;
+ return (0);
+}
+
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
@@ -94,15 +115,17 @@
return (ENXIO);
switch (devtype) {
case UART_DEV_CONSOLE:
- if (OF_getprop(opts, "input-device", buf, sizeof(buf)) == -1)
- return (ENXIO);
- input = OF_finddevice(buf);
- if (input == -1)
- return (ENXIO);
- if (OF_getprop(opts, "output-device", buf, sizeof(buf)) == -1)
- return (ENXIO);
- if (OF_finddevice(buf) != input)
- return (ENXIO);
+ if (ofw_get_uart_console(opts, &input, "input-device",
+ "output-device")) {
+ /*
+ * At least some G5 Xserves require that we
+ * probe input-device-1 as well
+ */
+
+ if (ofw_get_uart_console(opts, &input, "input-device-1",
+ "output-device-1"))
+ return (ENXIO);
+ }
break;
case UART_DEV_DBGPORT:
if (!getenv_string("hw.uart.dbgport", buf, sizeof(buf)))
==== //depot/projects/usb/src/sys/dev/usb/usbdevs#68 (text+ko) ====
@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.418 2009/06/26 21:47:37 delphij Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.419 2009/07/27 20:17:20 weongyo Exp $
/* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
/*-
@@ -1181,6 +1181,8 @@
product DLINK2 WUA1340 0x3c04 WUA-1340
product DLINK2 DWA111 0x3c06 DWA-111
product DLINK2 DWA110 0x3c07 DWA-110
+product DLINK2 DWA120_NF 0x3c0d DWA-120 (no firmware)
+product DLINK2 DWA120 0x3c0e DWA-120
/* DMI products */
product DMI CFSM_RW 0xa109 CF/SM Reader/Writer
==== //depot/projects/usb/src/sys/dev/usb/wlan/if_uath.c#15 (text+ko) ====
@@ -49,7 +49,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/wlan/if_uath.c,v 1.16 2009/06/23 02:19:59 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/wlan/if_uath.c,v 1.17 2009/07/27 20:17:20 weongyo Exp $");
/*-
* Driver for Atheros AR5523 USB parts.
@@ -180,6 +180,7 @@
UATH_DEV(DLINK, DWLAG122),
UATH_DEV(DLINK, DWLAG132),
UATH_DEV(DLINK, DWLG132),
+ UATH_DEV(DLINK2, DWA120),
UATH_DEV(GIGASET, AR5523),
UATH_DEV(GIGASET, SMCWUSBTG),
UATH_DEV(GLOBALSUN, AR5523_1),
==== //depot/projects/usb/src/sys/fs/procfs/procfs_map.c#9 (text+ko) ====
@@ -32,7 +32,7 @@
*
* @(#)procfs_status.c 8.3 (Berkeley) 2/17/94
*
- * $FreeBSD: src/sys/fs/procfs/procfs_map.c,v 1.50 2009/06/23 20:45:22 kib Exp $
+ * $FreeBSD: src/sys/fs/procfs/procfs_map.c,v 1.51 2009/07/24 13:50:29 jhb Exp $
*/
#include "opt_compat.h"
@@ -174,6 +174,7 @@
type = "swap";
vp = NULL;
break;
+ case OBJT_SG:
case OBJT_DEVICE:
type = "device";
vp = NULL;
==== //depot/projects/usb/src/sys/i386/i386/machdep.c#19 (text+ko) ====
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.686 2009/06/23 22:42:39 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.687 2009/07/27 13:51:55 rpaulo Exp $");
#include "opt_apic.h"
#include "opt_atalk.h"
@@ -257,7 +257,10 @@
*/
sysenv = getenv("smbios.system.product");
if (sysenv != NULL) {
- if (strncmp(sysenv, "MacBook", 7) == 0) {
+ if (strncmp(sysenv, "MacBook1,1", 10) == 0 ||
+ strncmp(sysenv, "MacBookPro1,1", 13) == 0 ||
+ strncmp(sysenv, "MacBookPro1,2", 13) == 0 ||
+ strncmp(sysenv, "Macmini1,1", 10) == 0) {
if (bootverbose)
printf("Disabling LEGACY_USB_EN bit on "
"Intel ICH.\n");
==== //depot/projects/usb/src/sys/i386/i386/pmap.c#23 (text+ko) ====
@@ -75,7 +75,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.642 2009/07/19 21:40:19 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.644 2009/07/24 13:50:29 jhb Exp $");
/*
* Manages physical address maps.
@@ -3439,7 +3439,7 @@
int pat_mode;
VM_OBJECT_LOCK_ASSERT(object, MA_OWNED);
- KASSERT(object->type == OBJT_DEVICE,
+ KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG,
("pmap_object_init_pt: non-device object"));
if (pseflag &&
(addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) {
@@ -4473,6 +4473,7 @@
pt_entry_t *pte;
u_int opte, npte;
pd_entry_t *pde;
+ boolean_t changed;
base = trunc_page(va);
offset = va & PAGE_MASK;
@@ -4496,6 +4497,8 @@
return (EINVAL);
}
+ changed = FALSE;
+
/*
* Ok, all the pages exist and are 4k, so run through them updating
* their cache mode.
@@ -4513,6 +4516,8 @@
npte |= pmap_cache_bits(mode, 0);
} while (npte != opte &&
!atomic_cmpset_int((u_int *)pte, opte, npte));
+ if (npte != opte)
+ changed = TRUE;
tmpva += PAGE_SIZE;
size -= PAGE_SIZE;
}
@@ -4521,10 +4526,12 @@
* Flush CPU caches to make sure any data isn't cached that shouldn't
* be, etc.
*/
- pmap_invalidate_range(kernel_pmap, base, tmpva);
- /* If "Self Snoop" is supported, do nothing. */
- if (!(cpu_feature & CPUID_SS))
- pmap_invalidate_cache();
+ if (changed) {
+ pmap_invalidate_range(kernel_pmap, base, tmpva);
+ /* If "Self Snoop" is supported, do nothing. */
+ if (!(cpu_feature & CPUID_SS))
+ pmap_invalidate_cache();
+ }
return (0);
}
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list