From owner-p4-projects@FreeBSD.ORG Mon Nov 8 20:09:31 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C9E92106566B; Mon, 8 Nov 2010 20:09:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8B574106566C for ; Mon, 8 Nov 2010 20:09:31 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 75B5A8FC1C for ; Mon, 8 Nov 2010 20:09:31 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id oA8K9VTG011882 for ; Mon, 8 Nov 2010 20:09:31 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id oA8K9Uhe011879 for perforce@freebsd.org; Mon, 8 Nov 2010 20:09:30 GMT (envelope-from jhb@freebsd.org) Date: Mon, 8 Nov 2010 20:09:30 GMT Message-Id: <201011082009.oA8K9Uhe011879@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 185527 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Nov 2010 20:09:32 -0000 http://p4web.freebsd.org/@@185527?ac=10 Change 185527 by jhb@jhb_jhbbsd on 2010/11/08 20:08:32 IFC @185526 Affected files ... .. //depot/projects/smpng/share/man/man9/BUS_SETUP_INTR.9#2 integrate .. //depot/projects/smpng/share/man/man9/locking.9#5 integrate .. //depot/projects/smpng/sys/amd64/acpica/madt.c#22 integrate .. //depot/projects/smpng/sys/amd64/amd64/amd64_mem.c#13 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#100 integrate .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#73 integrate .. //depot/projects/smpng/sys/arm/arm/machdep.c#34 integrate .. //depot/projects/smpng/sys/arm/conf/AVILA#22 integrate .. //depot/projects/smpng/sys/arm/conf/AVILA.hints#7 integrate .. //depot/projects/smpng/sys/arm/include/cpuconf.h#12 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_gpio.c#1 branch .. //depot/projects/smpng/sys/arm/xscale/ixp425/files.avila#6 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425reg.h#8 integrate .. //depot/projects/smpng/sys/cam/cam_periph.c#38 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#15 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#88 integrate .. //depot/projects/smpng/sys/compat/ndis/kern_ndis.c#47 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#53 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#52 integrate .. //depot/projects/smpng/sys/conf/files.mips#12 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#128 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pci_link.c#40 integrate .. //depot/projects/smpng/sys/dev/ahci/ahci.c#13 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#107 integrate .. //depot/projects/smpng/sys/dev/ata/ata-lowlevel.c#43 integrate .. //depot/projects/smpng/sys/dev/bwi/if_bwi.c#10 integrate .. //depot/projects/smpng/sys/dev/bwn/if_bwn.c#9 integrate .. //depot/projects/smpng/sys/dev/gpio/gpioled.c#2 integrate .. //depot/projects/smpng/sys/dev/iicbus/iiconf.c#10 integrate .. //depot/projects/smpng/sys/dev/iwn/if_iwn.c#19 integrate .. //depot/projects/smpng/sys/dev/ral/rt2560.c#22 integrate .. //depot/projects/smpng/sys/dev/ral/rt2661.c#16 integrate .. //depot/projects/smpng/sys/dev/re/if_re.c#84 integrate .. //depot/projects/smpng/sys/dev/siis/siis.c#13 integrate .. //depot/projects/smpng/sys/dev/sk/if_sk.c#21 integrate .. //depot/projects/smpng/sys/dev/usb/net/uhso.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.c#16 integrate .. //depot/projects/smpng/sys/dev/usb/serial/u3g.c#21 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uark.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ubsa.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ubser.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uchcom.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ucycom.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ufoma.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uftdi.c#18 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ugensa.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uipaq.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umct.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umodem.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umoscom.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uplcom.c#17 integrate .. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.h#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uslcom.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uvisor.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uvscom.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/usb_device.c#25 integrate .. //depot/projects/smpng/sys/dev/usb/usb_request.c#15 integrate .. //depot/projects/smpng/sys/dev/usb/usb_request.h#11 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#161 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_rum.c#19 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_run.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_ural.c#17 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#19 integrate .. //depot/projects/smpng/sys/dev/wb/if_wb.c#6 integrate .. //depot/projects/smpng/sys/dev/wpi/if_wpi.c#17 integrate .. //depot/projects/smpng/sys/dev/xl/if_xl.c#10 integrate .. //depot/projects/smpng/sys/geom/geom_event.c#36 integrate .. //depot/projects/smpng/sys/i386/acpica/madt.c#29 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#165 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#134 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#152 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#128 integrate .. //depot/projects/smpng/sys/kern/kern_clocksource.c#4 integrate .. //depot/projects/smpng/sys/kern/kern_conf.c#68 integrate .. //depot/projects/smpng/sys/kern/kern_timeout.c#51 integrate .. //depot/projects/smpng/sys/mips/cavium/octopci.c#5 integrate .. //depot/projects/smpng/sys/mips/include/cpuregs.h#9 integrate .. //depot/projects/smpng/sys/mips/include/md_var.h#5 integrate .. //depot/projects/smpng/sys/mips/include/pmap.h#18 integrate .. //depot/projects/smpng/sys/mips/mips/dump_machdep.c#3 integrate .. //depot/projects/smpng/sys/mips/mips/gdb_machdep.c#3 integrate .. //depot/projects/smpng/sys/mips/mips/machdep.c#19 integrate .. //depot/projects/smpng/sys/mips/mips/minidump_machdep.c#1 branch .. //depot/projects/smpng/sys/net80211/ieee80211.c#53 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.c#57 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ratectl.c#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ratectl.h#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_sta.c#18 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_var.h#48 integrate .. //depot/projects/smpng/sys/netinet/libalias/alias.c#11 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.c#35 integrate .. //depot/projects/smpng/sys/netinet/sctp_input.c#36 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.c#42 integrate .. //depot/projects/smpng/sys/netinet/sctp_timer.c#24 integrate .. //depot/projects/smpng/sys/netinet/sctp_timer.h#8 integrate .. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#35 integrate .. //depot/projects/smpng/sys/netinet/sctputil.c#43 integrate .. //depot/projects/smpng/sys/netinet/sctputil.h#20 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#72 integrate .. //depot/projects/smpng/sys/pc98/pc98/machdep.c#46 integrate .. //depot/projects/smpng/sys/pci/if_rlreg.h#56 integrate .. //depot/projects/smpng/sys/powerpc/aim/copyinout.c#6 integrate .. //depot/projects/smpng/sys/powerpc/aim/machdep.c#25 integrate .. //depot/projects/smpng/sys/powerpc/aim/swtch32.S#3 integrate .. //depot/projects/smpng/sys/powerpc/aim/swtch64.S#3 integrate .. //depot/projects/smpng/sys/powerpc/aim/trap.c#14 integrate .. //depot/projects/smpng/sys/powerpc/booke/machdep.c#21 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#108 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#92 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/machdep.c#18 integrate .. //depot/projects/smpng/sys/sys/interrupt.h#33 integrate .. //depot/projects/smpng/sys/sys/kerneldump.h#12 integrate .. //depot/projects/smpng/sys/teken/sequences#4 integrate .. //depot/projects/smpng/sys/teken/teken_subr_compat.h#3 integrate .. //depot/projects/smpng/sys/vm/uma_core.c#84 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#111 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#116 integrate .. //depot/projects/smpng/sys/x86/x86/local_apic.c#8 integrate Differences ... ==== //depot/projects/smpng/share/man/man9/BUS_SETUP_INTR.9#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.23 2008/04/29 08:16:05 pjd Exp $ +.\" $FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.24 2010/11/03 18:49:50 trasz Exp $ .\" -.Dd December 18, 2007 +.Dd November 3, 2010 .Dt BUS_SETUP_INTR 9 .Os .Sh NAME @@ -205,8 +205,7 @@ .Xr random 4 , .Xr device 9 , .Xr driver 9 , -.Xr mtx_init 9 , -.Xr wakeup 9 +.Xr locking 9 .Sh AUTHORS .An -nosplit This manual page was written by ==== //depot/projects/smpng/share/man/man9/locking.9#5 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/locking.9,v 1.22 2010/09/01 19:50:03 mlaier Exp $ +.\" $FreeBSD: src/share/man/man9/locking.9,v 1.23 2010/11/03 18:49:50 trasz Exp $ .\" -.Dd August 24, 2010 +.Dd November 3, 2010 .Dt LOCKING 9 .Os .Sh NAME @@ -356,6 +356,7 @@ .Xr sema 9 , .Xr sleep 9 , .Xr sx 9 , +.Xr BUS_SETUP_INTR 9 , .Xr LOCK_PROFILING 9 .Sh HISTORY These ==== //depot/projects/smpng/sys/amd64/acpica/madt.c#22 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.31 2010/11/01 18:18:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.32 2010/11/08 20:05:22 jhb Exp $"); #include #include @@ -203,8 +203,7 @@ apic_register_enumerator(&madt_enumerator); } -SYSINIT(madt_register, SI_SUB_TUNABLES - 1, SI_ORDER_FIRST, - madt_register, NULL); +SYSINIT(madt_register, SI_SUB_TUNABLES - 1, SI_ORDER_FIRST, madt_register, NULL); /* * Call the handler routine for each entry in the MADT table. ==== //depot/projects/smpng/sys/amd64/amd64/amd64_mem.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.34 2010/10/27 16:46:37 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.35 2010/11/07 21:48:49 alc Exp $"); #include #include @@ -583,7 +583,7 @@ i = (sc->mr_cap & MR686_FIXMTRR) ? MTRR_N64K + MTRR_N16K + MTRR_N4K : 0; mrd = sc->mr_desc + i; for (; i < sc->mr_ndesc; i++, mrd++) { - if (mrd->mr_flags & MDF_ACTIVE) + if ((mrd->mr_flags & (MDF_ACTIVE | MDF_BOGUS)) == MDF_ACTIVE) pmap_demote_DMAP(mrd->mr_base, mrd->mr_len, FALSE); } @@ -688,7 +688,7 @@ i = (sc->mr_cap & MR686_FIXMTRR) ? MTRR_N64K + MTRR_N16K + MTRR_N4K : 0; mrd = sc->mr_desc + i; for (; i < sc->mr_ndesc; i++, mrd++) { - if (mrd->mr_flags & MDF_ACTIVE) + if ((mrd->mr_flags & (MDF_ACTIVE | MDF_BOGUS)) == MDF_ACTIVE) pmap_demote_DMAP(mrd->mr_base, mrd->mr_len, TRUE); } } ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#100 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.727 2010/11/01 17:40:35 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.728 2010/11/05 13:42:58 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" ==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#73 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.335 2010/11/01 18:18:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.337 2010/11/08 20:05:22 jhb Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -239,6 +239,9 @@ cpu_logical++; } + KASSERT(cpu_cores >= 1 && cpu_logical >= 1, + ("topo_probe_0x4 couldn't find BSP")); + cpu_cores /= cpu_logical; hyperthreading_cpus = cpu_logical; } @@ -310,7 +313,9 @@ return; logical_cpus_mask = 0; - if (cpu_vendor_id == CPU_VENDOR_AMD) + if (mp_ncpus <= 1) + cpu_cores = cpu_logical = 1; + else if (cpu_vendor_id == CPU_VENDOR_AMD) topo_probe_amd(); else if (cpu_vendor_id == CPU_VENDOR_INTEL) { /* @@ -332,10 +337,8 @@ * Fallback: assume each logical CPU is in separate * physical package. That is, no multi-core, no SMT. */ - if (cpu_cores == 0) - cpu_cores = 1; - if (cpu_logical == 0) - cpu_logical = 1; + if (cpu_cores == 0 || cpu_logical == 0) + cpu_cores = cpu_logical = 1; cpu_topo_probed = 1; } @@ -419,7 +422,7 @@ } if (mp_ncpus < MAXCPU) { mp_ncpus++; - mp_maxid = mp_ncpus -1; + mp_maxid = mp_ncpus - 1; } if (bootverbose) printf("SMP: Added CPU %d (%s)\n", apic_id, boot_cpu ? "BSP" : @@ -442,7 +445,7 @@ else KASSERT(mp_maxid >= mp_ncpus - 1, ("%s: counters out of sync: max %d, count %d", __func__, - mp_maxid, mp_ncpus)); + mp_maxid, mp_ncpus)); } int ==== //depot/projects/smpng/sys/arm/arm/machdep.c#34 (text+ko) ==== @@ -46,7 +46,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.37 2010/06/30 18:03:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.38 2010/11/05 13:42:58 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/arm/conf/AVILA#22 (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/arm/conf/AVILA,v 1.37 2010/02/15 23:44:48 attilio Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA,v 1.38 2010/11/07 20:33:39 thompsa Exp $ ident AVILA @@ -87,6 +87,10 @@ device avila_led +device gpio +device gpioled +device avila_gpio # GPIO pins on J8 + device ata device atadisk # ATA disk drives device avila_ata # Gateworks CF/IDE support ==== //depot/projects/smpng/sys/arm/conf/AVILA.hints#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.8 2009/06/22 22:46:37 sam Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.9 2010/11/07 20:33:39 thompsa Exp $ # # Device wiring for the Gateworks Avila 2384. @@ -41,6 +41,9 @@ # Front Panel LED hint.led_avila.0.at="ixp0" +# GPIO pins +hint.gpio_avila.0.at="ixp0" + # Analog Devices AD7418 temperature sensor hint.ad7418.0.at="iicbus0" hint.ad7418.0.addr=0x50 ==== //depot/projects/smpng/sys/arm/include/cpuconf.h#12 (text+ko) ==== @@ -34,7 +34,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.14 2010/05/04 10:14:05 kevlo Exp $ + * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.15 2010/11/08 07:54:24 kevlo Exp $ * */ @@ -70,7 +70,7 @@ */ #if (defined(CPU_ARM7TDMI) || defined(CPU_ARM8) || defined(CPU_ARM9) || \ defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110) || \ - defined(CPU_IXP12X0) || defined(CPU_XSCALE_IXP425) || defined(CPU_FA526)) + defined(CPU_IXP12X0) || defined(CPU_FA526)) #define ARM_ARCH_4 1 #else #define ARM_ARCH_4 0 @@ -79,7 +79,8 @@ #if (defined(CPU_ARM9E) || defined(CPU_ARM10) || \ defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342) || \ - defined(CPU_XSCALE_PXA2X0) || defined(CPU_FA626TE)) + defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ + defined(CPU_FA626TE)) #define ARM_ARCH_5 1 #else #define ARM_ARCH_5 0 ==== //depot/projects/smpng/sys/arm/xscale/ixp425/files.avila#6 (text+ko) ==== @@ -1,7 +1,8 @@ -#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.6 2009/06/22 22:54:13 sam Exp $ +#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.8 2010/11/07 20:38:14 thompsa Exp $ arm/xscale/ixp425/avila_machdep.c standard arm/xscale/ixp425/avila_ata.c optional avila_ata arm/xscale/ixp425/avila_led.c optional avila_led +arm/xscale/ixp425/avila_gpio.c optional avila_gpio arm/xscale/ixp425/cambria_exp_space.c standard arm/xscale/ixp425/cambria_fled.c optional cambria_fled arm/xscale/ixp425/cambria_led.c optional cambria_led ==== //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425reg.h#8 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.8 2009/06/22 20:41:02 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.9 2010/11/07 20:33:39 thompsa Exp $ * */ @@ -323,6 +323,8 @@ #define GPIO_TYPE(b,v) ((v) << (((b) & 0x7) * 3)) #define GPIO_TYPE_REG(b) (((b)&8)?IXP425_GPIO_GPIT2R:IXP425_GPIO_GPIT1R) +#define IXP4XX_GPIO_PINS 16 + /* * Expansion Bus Configuration Space. */ ==== //depot/projects/smpng/sys/cam/cam_periph.c#38 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.89 2010/06/02 18:06:32 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.90 2010/11/08 15:59:41 mav Exp $"); #include #include @@ -1055,6 +1055,7 @@ saved_ccb->ccb_h.status |= CAM_AUTOSENSE_FAIL; } + saved_ccb->csio.sense_resid = done_ccb->csio.resid; bcopy(saved_ccb, done_ccb, sizeof(union ccb)); xpt_free_ccb(saved_ccb); break; @@ -1211,7 +1212,7 @@ scsi_request_sense(&done_ccb->csio, /*retries*/1, camperiphsensedone, &save_ccb->csio.sense_data, - sizeof(save_ccb->csio.sense_data), + save_ccb->csio.sense_len, CAM_TAG_ACTION_NONE, /*sense_len*/SSD_FULL_SIZE, /*timeout*/5000); @@ -1602,7 +1603,7 @@ scsi_request_sense(&ccb->csio, /*retries*/1, camperiphsensedone, &orig_ccb->csio.sense_data, - sizeof(orig_ccb->csio.sense_data), + orig_ccb->csio.sense_len, CAM_TAG_ACTION_NONE, /*sense_len*/SSD_FULL_SIZE, /*timeout*/5000); ==== //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#15 (text+ko) ==== @@ -3627,6 +3627,14 @@ uint_t vec; int error; + /* + * Check if we have sufficient kernel memory allocated + * for the zfs_cmd_t request. Bail out if not so we + * will not access undefined memory region. + */ + if (IOCPARM_LEN(cmd) < sizeof(zfs_cmd_t)) + return (EINVAL); + vec = ZFS_IOC(cmd); if (vec >= sizeof (zfs_ioc_vec) / sizeof (zfs_ioc_vec[0])) ==== //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#88 (text+ko) ==== @@ -42,7 +42,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.153 2010/09/28 11:32:17 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.155 2010/11/08 15:14:14 des Exp $"); #include #include @@ -276,11 +276,12 @@ sbuf_printf(sb, "processor\t: %d\n" "vendor_id\t: %.20s\n" - "cpu family\t: %d\n" - "model\t\t: %d\n" + "cpu family\t: %u\n" + "model\t\t: %u\n" "model name\t: %s\n" - "stepping\t: %d\n\n", - i, cpu_vendor, class, cpu, model, cpu_id & 0xf); + "stepping\t: %u\n\n", + i, cpu_vendor, CPUID_TO_FAMILY(cpu_id), + CPUID_TO_MODEL(cpu_id), model, cpu_id & CPUID_STEPPING); /* XXX per-cpu vendor / class / model / id? */ } ==== //depot/projects/smpng/sys/compat/ndis/kern_ndis.c#47 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.107 2009/11/02 18:51:24 rpaulo Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.108 2010/11/04 18:43:57 bschmidt Exp $"); #include #include @@ -287,15 +287,6 @@ TAILQ_INIT(&sc->ndis_cfglist_head); -#if __FreeBSD_version < 502113 - /* Create the sysctl tree. */ - - sc->ndis_tree = SYSCTL_ADD_NODE(&sc->ndis_ctx, - SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, - device_get_nameunit(sc->ndis_dev), CTLFLAG_RD, 0, - device_get_desc(sc->ndis_dev)); - -#endif /* Add the driver-specific registry keys. */ while(1) { @@ -310,11 +301,7 @@ /* See if we already have a sysctl with this name */ oidp = NULL; -#if __FreeBSD_version < 502113 - TAILQ_FOREACH(e, &sc->ndis_ctx, link) { -#else TAILQ_FOREACH(e, device_get_sysctl_ctx(sc->ndis_dev), link) { -#endif oidp = e->entry; if (strcasecmp(oidp->oid_name, vals->nc_cfgkey) == 0) break; @@ -395,18 +382,11 @@ TAILQ_INSERT_TAIL(&sc->ndis_cfglist_head, cfg, link); cfg->ndis_oid = -#if __FreeBSD_version < 502113 - SYSCTL_ADD_STRING(&sc->ndis_ctx, SYSCTL_CHILDREN(sc->ndis_tree), - OID_AUTO, cfg->ndis_cfg.nc_cfgkey, flag, - cfg->ndis_cfg.nc_val, sizeof(cfg->ndis_cfg.nc_val), - cfg->ndis_cfg.nc_cfgdesc); -#else SYSCTL_ADD_STRING(device_get_sysctl_ctx(sc->ndis_dev), SYSCTL_CHILDREN(device_get_sysctl_tree(sc->ndis_dev)), OID_AUTO, cfg->ndis_cfg.nc_cfgkey, flag, cfg->ndis_cfg.nc_val, sizeof(cfg->ndis_cfg.nc_val), cfg->ndis_cfg.nc_cfgdesc); -#endif return (0); } @@ -428,11 +408,7 @@ sc = arg; -#if __FreeBSD_version < 502113 - clist = &sc->ndis_ctx; -#else clist = device_get_sysctl_ctx(sc->ndis_dev); -#endif while (!TAILQ_EMPTY(&sc->ndis_cfglist_head)) { cfg = TAILQ_FIRST(&sc->ndis_cfglist_head); ==== //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#53 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.122 2009/11/02 19:13:12 rpaulo Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.123 2010/11/04 18:43:57 bschmidt Exp $"); /* * This file implements a translation layer between the BSD networking @@ -639,11 +639,7 @@ * See if registry key is already in a list of known keys * included with the driver. */ -#if __FreeBSD_version < 502113 - TAILQ_FOREACH(e, &sc->ndis_ctx, link) { -#else TAILQ_FOREACH(e, device_get_sysctl_ctx(sc->ndis_dev), link) { -#endif oidp = e->entry; if (strcasecmp(oidp->oid_name, keystr) == 0) { if (strcmp((char *)oidp->oid_arg1, "UNSET") == 0) { @@ -746,11 +742,7 @@ /* See if the key already exists. */ -#if __FreeBSD_version < 502113 - TAILQ_FOREACH(e, &sc->ndis_ctx, link) { -#else TAILQ_FOREACH(e, device_get_sysctl_ctx(sc->ndis_dev), link) { -#endif oidp = e->entry; if (strcasecmp(oidp->oid_name, keystr) == 0) { /* Found it, set the value. */ @@ -1318,23 +1310,11 @@ return; } -#ifdef IFP2ENADDR - if (bcmp(IFP2ENADDR(sc->ifp), empty, ETHER_ADDR_LEN) == 0) -#elif __FreeBSD_version >= 700000 if (sc->ifp->if_addr == NULL || bcmp(IF_LLADDR(sc->ifp), empty, ETHER_ADDR_LEN) == 0) -#else - if (bcmp(sc->arpcom.ac_enaddr, empty, ETHER_ADDR_LEN) == 0) -#endif *status = NDIS_STATUS_FAILURE; else { -#ifdef IFP2ENADDR - *addr = IFP2ENADDR(sc->ifp); -#elif __FreeBSD_version >= 700000 *addr = IF_LLADDR(sc->ifp); -#else - *addr = sc->arpcom.ac_enaddr; -#endif *addrlen = ETHER_ADDR_LEN; *status = NDIS_STATUS_SUCCESS; } ==== //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#52 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.102 2010/10/05 20:56:08 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.103 2010/11/04 18:43:57 bschmidt Exp $"); #include #include @@ -44,9 +44,7 @@ #include #include -#if __FreeBSD_version > 502113 #include -#endif #include #include #include @@ -2602,11 +2600,7 @@ rl = BUS_GET_RESOURCE_LIST(device_get_parent(dev), dev); if (rl != NULL) { -#if __FreeBSD_version < 600022 - SLIST_FOREACH(rle, rl, link) { -#else STAILQ_FOREACH(rle, rl, link) { -#endif r = rle->res; if (r == NULL) @@ -2698,9 +2692,6 @@ KeReleaseSpinLock(&kq->kq_lock, irql); } -#if __FreeBSD_version < 502113 - mtx_lock(&Giant); -#endif kproc_exit(0); return; /* notreached */ } @@ -3429,9 +3420,6 @@ ntoskrnl_kth--; -#if __FreeBSD_version < 502113 - mtx_lock(&Giant); -#endif kproc_exit(0); return (0); /* notreached */ } @@ -3453,11 +3441,7 @@ DbgBreakPoint(void) { -#if __FreeBSD_version < 502113 - Debugger("DbgBreakPoint(): breakpoint"); -#else kdb_enter(KDB_WHY_NDIS, "DbgBreakPoint(): breakpoint"); -#endif } static void @@ -3697,14 +3681,9 @@ thread_lock(curthread); #ifdef NTOSKRNL_MULTIPLE_DPCS -#if __FreeBSD_version >= 502102 sched_bind(curthread, kq->kq_cpu); #endif -#endif sched_prio(curthread, PRI_MIN_KERN); -#if __FreeBSD_version < 600000 - curthread->td_base_pri = PRI_MIN_KERN; -#endif thread_unlock(curthread); while (1) { @@ -3737,9 +3716,6 @@ KeSetEvent(&kq->kq_done, IO_NO_INCREMENT, FALSE); } -#if __FreeBSD_version < 502113 - mtx_lock(&Giant); -#endif kproc_exit(0); return; /* notreached */ } ==== //depot/projects/smpng/sys/conf/files.mips#12 (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.17 2010/09/13 05:03:37 jchandra Exp $ +# $FreeBSD: src/sys/conf/files.mips,v 1.18 2010/11/07 03:09:02 gonzo Exp $ # # ---------------------------------------------------------------------- # Phase 2 @@ -55,6 +55,7 @@ mips/mips/dump_machdep.c standard mips/mips/in_cksum.c optional inet mips/mips/locore.S standard no-obj +mips/mips/minidump_machdep.c standard mips/mips/mem.c optional mem mips/mips/nexus.c standard mips/mips/stack_machdep.c optional ddb | stack ==== //depot/projects/smpng/sys/dev/acpica/acpi.c#128 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.291 2010/10/26 18:59:50 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.293 2010/11/08 19:52:14 jkim Exp $"); #include "opt_acpi.h" #include @@ -1673,38 +1673,36 @@ ACPI_OBJECT_TYPE type; ACPI_HANDLE h; device_t bus, child; + char *handle_str; int order; - char *handle_str, **search; - static char *scopes[] = {"\\_PR_", "\\_TZ_", "\\_SI_", "\\_SB_", NULL}; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + if (acpi_disabled("children")) + return_ACPI_STATUS (AE_OK); + /* Skip this device if we think we'll have trouble with it. */ if (acpi_avoid(handle)) return_ACPI_STATUS (AE_OK); bus = (device_t)context; if (ACPI_SUCCESS(AcpiGetType(handle, &type))) { + handle_str = acpi_name(handle); switch (type) { case ACPI_TYPE_DEVICE: - case ACPI_TYPE_PROCESSOR: - case ACPI_TYPE_THERMAL: - case ACPI_TYPE_POWER: - if (acpi_disabled("children")) - break; - /* * Since we scan from \, be sure to skip system scope objects. - * At least \_SB and \_TZ are detected as devices (ACPI-CA bug?) + * \_SB_ and \_TZ_ are defined in ACPICA as devices to work around + * BIOS bugs. For example, \_SB_ is to allow \_SB_._INI to be run + * during the intialization and \_TZ_ is to support Notify() on it. */ - handle_str = acpi_name(handle); - for (search = scopes; *search != NULL; search++) { - if (strcmp(handle_str, *search) == 0) - break; - } - if (*search != NULL) + if (strcmp(handle_str, "\\_SB_") == 0 || + strcmp(handle_str, "\\_TZ_") == 0) break; - + /* FALLTHROUGH */ + case ACPI_TYPE_PROCESSOR: + case ACPI_TYPE_THERMAL: + case ACPI_TYPE_POWER: /* * Create a placeholder device for this node. Sort the * placeholder so that the probe/attach passes will run ==== //depot/projects/smpng/sys/dev/acpica/acpi_pci_link.c#40 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.59 2009/06/05 18:44:36 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.61 2010/11/05 20:24:26 jkim Exp $"); #include "opt_acpi.h" #include @@ -268,6 +268,7 @@ static ACPI_STATUS link_add_prs(ACPI_RESOURCE *res, void *context) { + ACPI_RESOURCE *tmp; struct link_res_request *req; struct link *link; UINT8 *irqs = NULL; @@ -321,12 +322,23 @@ * Stash a copy of the resource for later use when doing * _SRS. */ - bcopy(res, &link->l_prs_template, sizeof(ACPI_RESOURCE)); + tmp = &link->l_prs_template; if (is_ext_irq) { + bcopy(res, tmp, ACPI_RS_SIZE(tmp->Data.ExtendedIrq)); + + /* + * XXX acpi_AppendBufferResource() cannot handle + * optional data. + */ + bzero(&tmp->Data.ExtendedIrq.ResourceSource, + sizeof(tmp->Data.ExtendedIrq.ResourceSource)); + tmp->Length = ACPI_RS_SIZE(tmp->Data.ExtendedIrq); + link->l_num_irqs = res->Data.ExtendedIrq.InterruptCount; ext_irqs = res->Data.ExtendedIrq.Interrupts; } else { + bcopy(res, tmp, ACPI_RS_SIZE(tmp->Data.Irq)); link->l_num_irqs = res->Data.Irq.InterruptCount; irqs = res->Data.Irq.Interrupts; } @@ -688,18 +700,17 @@ static ACPI_STATUS acpi_pci_link_srs_from_crs(struct acpi_pci_link_softc *sc, ACPI_BUFFER *srsbuf) { - ACPI_RESOURCE *resource, *end, newres, *resptr; - ACPI_BUFFER crsbuf; + ACPI_RESOURCE *end, *res; ACPI_STATUS status; struct link *link; int i, in_dpf; /* Fetch the _CRS. */ ACPI_SERIAL_ASSERT(pci_link); - crsbuf.Pointer = NULL; - crsbuf.Length = ACPI_ALLOCATE_BUFFER; - status = AcpiGetCurrentResources(acpi_get_handle(sc->pl_dev), &crsbuf); - if (ACPI_SUCCESS(status) && crsbuf.Pointer == NULL) + srsbuf->Pointer = NULL; + srsbuf->Length = ACPI_ALLOCATE_BUFFER; + status = AcpiGetCurrentResources(acpi_get_handle(sc->pl_dev), srsbuf); + if (ACPI_SUCCESS(status) && srsbuf->Pointer == NULL) status = AE_NO_MEMORY; if (ACPI_FAILURE(status)) { if (bootverbose) @@ -710,14 +721,13 @@ } /* Fill in IRQ resources via link structures. */ - srsbuf->Pointer = NULL; link = sc->pl_links; i = 0; in_dpf = DPF_OUTSIDE; - resource = (ACPI_RESOURCE *)crsbuf.Pointer; - end = (ACPI_RESOURCE *)((char *)crsbuf.Pointer + crsbuf.Length); + res = (ACPI_RESOURCE *)srsbuf->Pointer; + end = (ACPI_RESOURCE *)((char *)srsbuf->Pointer + srsbuf->Length); for (;;) { - switch (resource->Type) { + switch (res->Type) { case ACPI_RESOURCE_TYPE_START_DEPENDENT: switch (in_dpf) { case DPF_OUTSIDE: @@ -731,67 +741,44 @@ __func__); break; } - resptr = NULL; break; case ACPI_RESOURCE_TYPE_END_DEPENDENT: /* We are finished with DPF parsing. */ KASSERT(in_dpf != DPF_OUTSIDE, ("%s: end dpf when not parsing a dpf", __func__)); in_dpf = DPF_OUTSIDE; - resptr = NULL; break; case ACPI_RESOURCE_TYPE_IRQ: MPASS(i < sc->pl_num_links); - MPASS(link->l_prs_template.Type == ACPI_RESOURCE_TYPE_IRQ); - newres = link->l_prs_template; - resptr = &newres; - resptr->Data.Irq.InterruptCount = 1; + res->Data.Irq.InterruptCount = 1; if (PCI_INTERRUPT_VALID(link->l_irq)) { KASSERT(link->l_irq < NUM_ISA_INTERRUPTS, ("%s: can't put non-ISA IRQ %d in legacy IRQ resource type", __func__, link->l_irq)); - resptr->Data.Irq.Interrupts[0] = link->l_irq; + res->Data.Irq.Interrupts[0] = link->l_irq; } else - resptr->Data.Irq.Interrupts[0] = 0; + res->Data.Irq.Interrupts[0] = 0; link++; i++; break; case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: MPASS(i < sc->pl_num_links); - MPASS(link->l_prs_template.Type == ACPI_RESOURCE_TYPE_EXTENDED_IRQ); - newres = link->l_prs_template; - resptr = &newres; - resptr->Data.ExtendedIrq.InterruptCount = 1; + res->Data.ExtendedIrq.InterruptCount = 1; if (PCI_INTERRUPT_VALID(link->l_irq)) - resptr->Data.ExtendedIrq.Interrupts[0] = + res->Data.ExtendedIrq.Interrupts[0] = link->l_irq; else - resptr->Data.ExtendedIrq.Interrupts[0] = 0; + res->Data.ExtendedIrq.Interrupts[0] = 0; link++; i++; break; - default: - resptr = resource; } - if (resptr != NULL) { - status = acpi_AppendBufferResource(srsbuf, resptr); - if (ACPI_FAILURE(status)) { - device_printf(sc->pl_dev, - "Unable to build resources: %s\n", - AcpiFormatException(status)); - if (srsbuf->Pointer != NULL) - AcpiOsFree(srsbuf->Pointer); - AcpiOsFree(crsbuf.Pointer); - return (status); - } - } - if (resource->Type == ACPI_RESOURCE_TYPE_END_TAG) + if (res->Type == ACPI_RESOURCE_TYPE_END_TAG) break; - resource = ACPI_NEXT_RESOURCE(resource); - if (resource >= end) + res = ACPI_NEXT_RESOURCE(res); + if (res >= end) break; } - AcpiOsFree(crsbuf.Pointer); return (AE_OK); } @@ -811,10 +798,11 @@ /* Add a new IRQ resource from each link. */ link = &sc->pl_links[i]; - newres = link->l_prs_template; - if (newres.Type == ACPI_RESOURCE_TYPE_IRQ) { + if (link->l_prs_template.Type == ACPI_RESOURCE_TYPE_IRQ) { /* Build an IRQ resource. */ + bcopy(&link->l_prs_template, &newres, + ACPI_RS_SIZE(newres.Data.Irq)); newres.Data.Irq.InterruptCount = 1; if (PCI_INTERRUPT_VALID(link->l_irq)) { KASSERT(link->l_irq < NUM_ISA_INTERRUPTS, @@ -826,6 +814,8 @@ } else { /* Build an ExtIRQ resuorce. */ + bcopy(&link->l_prs_template, &newres, + ACPI_RS_SIZE(newres.Data.ExtendedIrq)); newres.Data.ExtendedIrq.InterruptCount = 1; if (PCI_INTERRUPT_VALID(link->l_irq)) >>> TRUNCATED FOR MAIL (1000 lines) <<<