Date: Tue, 28 Jul 2009 08:12:55 GMT From: Hans Petter Selasky <hselasky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 166668 for review Message-ID: <200907280812.n6S8Ct9n024802@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166668 Change 166668 by hselasky@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907280812.n6S8Ct9n024802>