svn commit: r257741 - in user/ed/newcons: etc gnu/lib/libgcc lib/libc/string sbin/ifconfig share/man/man9 sys/arm/allwinner sys/arm/allwinner/a20 sys/arm/arm sys/arm/broadcom/bcm2835 sys/arm/freesc...

Aleksandr Rybalko ray at FreeBSD.org
Wed Nov 6 11:16:11 UTC 2013


Author: ray
Date: Wed Nov  6 11:16:05 2013
New Revision: 257741
URL: http://svnweb.freebsd.org/changeset/base/257741

Log:
  MFC @r257740.

Added:
  user/ed/newcons/sys/arm/arm/bus_space-v6.c
     - copied unchanged from r257740, head/sys/arm/arm/bus_space-v6.c
Deleted:
  user/ed/newcons/sys/arm/allwinner/bus_space.c
  user/ed/newcons/sys/arm/freescale/imx/bus_space.c
  user/ed/newcons/sys/arm/rockchip/bus_space.c
Modified:
  user/ed/newcons/etc/network.subr
  user/ed/newcons/gnu/lib/libgcc/Makefile
  user/ed/newcons/lib/libc/string/strlcpy.3
  user/ed/newcons/sbin/ifconfig/ifconfig.c
  user/ed/newcons/share/man/man9/ifnet.9
  user/ed/newcons/sys/arm/allwinner/a20/files.a20
  user/ed/newcons/sys/arm/allwinner/files.a10
  user/ed/newcons/sys/arm/arm/nexus.c
  user/ed/newcons/sys/arm/broadcom/bcm2835/bcm2835_fb.c
  user/ed/newcons/sys/arm/freescale/imx/files.imx51
  user/ed/newcons/sys/arm/freescale/imx/files.imx53
  user/ed/newcons/sys/arm/freescale/imx/files.imx6
  user/ed/newcons/sys/arm/freescale/imx/tzic.c
  user/ed/newcons/sys/arm/mv/mv_localbus.c
  user/ed/newcons/sys/arm/mv/mv_pci.c
  user/ed/newcons/sys/arm/rockchip/files.rk30xx
  user/ed/newcons/sys/compat/linux/linux_ioctl.c
  user/ed/newcons/sys/compat/svr4/svr4_sockio.c
  user/ed/newcons/sys/conf/files
  user/ed/newcons/sys/conf/kern.pre.mk
  user/ed/newcons/sys/dev/fdt/simplebus.c
  user/ed/newcons/sys/dev/usb/wlan/if_run.c
  user/ed/newcons/sys/kern/capabilities.conf
  user/ed/newcons/sys/mips/cavium/std.octeon1
  user/ed/newcons/sys/mips/mips/nexus.c
  user/ed/newcons/sys/net/if.c
  user/ed/newcons/sys/net/if.h
  user/ed/newcons/sys/netinet/in.c
  user/ed/newcons/sys/netpfil/pf/pf.c
  user/ed/newcons/sys/powerpc/mpc85xx/lbc.c
  user/ed/newcons/sys/powerpc/mpc85xx/pci_mpc85xx.c
  user/ed/newcons/tools/tools/syscall_timing/syscall_timing.c
  user/ed/newcons/usr.bin/dtc/fdt.cc
  user/ed/newcons/usr.sbin/bhyve/bhyverun.c
  user/ed/newcons/usr.sbin/bhyve/block_if.c
  user/ed/newcons/usr.sbin/bhyve/mevent.c
  user/ed/newcons/usr.sbin/bhyve/pci_ahci.c
  user/ed/newcons/usr.sbin/bhyve/pci_virtio_net.c
  user/ed/newcons/usr.sbin/pkg/pkg.c
  user/ed/newcons/usr.sbin/route6d/route6d.c
Directory Properties:
  user/ed/newcons/   (props changed)
  user/ed/newcons/gnu/lib/   (props changed)
  user/ed/newcons/lib/libc/   (props changed)
  user/ed/newcons/sbin/   (props changed)
  user/ed/newcons/sys/   (props changed)
  user/ed/newcons/sys/conf/   (props changed)
  user/ed/newcons/usr.sbin/bhyve/   (props changed)

Modified: user/ed/newcons/etc/network.subr
==============================================================================
--- user/ed/newcons/etc/network.subr	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/etc/network.subr	Wed Nov  6 11:16:05 2013	(r257741)
@@ -1429,9 +1429,6 @@ childif_create()
 			fi
 			${IFCONFIG_CMD} $i name $child && cfg=0
 		fi
-		if autoif $child; then
-			ifn_start $child
-		fi
 	done
 
 	# Create vlan interfaces
@@ -1455,9 +1452,6 @@ childif_create()
 				${IFCONFIG_CMD} $i name $child && cfg=0
 			fi
 		fi
-		if autoif $child; then
-			ifn_start $child
-		fi
 	done
 
 	return ${cfg}

Modified: user/ed/newcons/gnu/lib/libgcc/Makefile
==============================================================================
--- user/ed/newcons/gnu/lib/libgcc/Makefile	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/gnu/lib/libgcc/Makefile	Wed Nov  6 11:16:05 2013	(r257741)
@@ -27,19 +27,6 @@ CFLAGS+=	-DIN_GCC -DIN_LIBGCC2 -D__GCC_F
 		-I${GCCDIR}/config -I${GCCDIR} -I. \
 		-I${.CURDIR}/../../usr.bin/cc/cc_tools
 
-# Added to quiesce warning around gcc_assert() for an inline macro that uses
-# a static variable.  This code has been moved around in gcc, but is still in
-# use in the latest trunk version of the compiler.
-#
-# gnu/lib/libgcc/../../../contrib/gcc/unwind-dw2.c:208:36:
-#      warning: static variable 'dwarf_reg_size_table' is used in an inline
-#               function with external linkage [-Wstatic-in-inline]
-# gcc_assert (index < (int) sizeof(dwarf_reg_size_table));
-#                                  ^
-.if ${COMPILER_TYPE} == "clang"
-CFLAGS+=	-Wno-static-in-inline
-.endif
-
 LDFLAGS+=	-nodefaultlibs
 LDADD+=		-lc
 

Modified: user/ed/newcons/lib/libc/string/strlcpy.3
==============================================================================
--- user/ed/newcons/lib/libc/string/strlcpy.3	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/lib/libc/string/strlcpy.3	Wed Nov  6 11:16:05 2013	(r257741)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 10, 2013
+.Dd November 4, 2013
 .Dt STRLCPY 3
 .Os
 .Sh NAME

Modified: user/ed/newcons/sbin/ifconfig/ifconfig.c
==============================================================================
--- user/ed/newcons/sbin/ifconfig/ifconfig.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sbin/ifconfig/ifconfig.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -909,7 +909,7 @@ unsetifdescr(const char *val, int value,
 }
 
 #define	IFFBITS \
-"\020\1UP\2BROADCAST\3DEBUG\4LOOPBACK\5POINTOPOINT\6SMART\7RUNNING" \
+"\020\1UP\2BROADCAST\3DEBUG\4LOOPBACK\5POINTOPOINT\7RUNNING" \
 "\10NOARP\11PROMISC\12ALLMULTI\13OACTIVE\14SIMPLEX\15LINK0\16LINK1\17LINK2" \
 "\20MULTICAST\22PPROMISC\23MONITOR\24STATICARP"
 

Modified: user/ed/newcons/share/man/man9/ifnet.9
==============================================================================
--- user/ed/newcons/share/man/man9/ifnet.9	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/share/man/man9/ifnet.9	Wed Nov  6 11:16:05 2013	(r257741)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 26, 2013
+.Dd November 5, 2013
 .Dt IFNET 9
 .Os
 .Sh NAME
@@ -583,14 +583,6 @@ The interface is a loopback device.
 The interface is point-to-point;
 .Dq broadcast
 address is actually the address of the other end.
-.It Dv IFF_SMART
-.Aq S*
-The interface manages its own routes, rather than using the generic
-code in
-.Fn if_up
-and
-.Fn if_down .
-This is probably useful for serial lines.
 .It Dv IFF_DRV_RUNNING
 .Aq D*
 The interface has been configured and dynamic resources were

Modified: user/ed/newcons/sys/arm/allwinner/a20/files.a20
==============================================================================
--- user/ed/newcons/sys/arm/allwinner/a20/files.a20	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/allwinner/a20/files.a20	Wed Nov  6 11:16:05 2013	(r257741)
@@ -16,6 +16,6 @@ arm/allwinner/a10_gpio.c		optional	gpio
 arm/allwinner/a10_ehci.c		optional	ehci
 arm/allwinner/a10_wdog.c		standard
 arm/allwinner/timer.c			standard
-arm/allwinner/bus_space.c		standard
+arm/arm/bus_space-v6.c			standard
 arm/allwinner/common.c			standard
 arm/allwinner/a10_machdep.c		standard

Modified: user/ed/newcons/sys/arm/allwinner/files.a10
==============================================================================
--- user/ed/newcons/sys/arm/allwinner/files.a10	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/allwinner/files.a10	Wed Nov  6 11:16:05 2013	(r257741)
@@ -16,7 +16,7 @@ arm/allwinner/a10_ehci.c		optional	ehci
 arm/allwinner/a10_wdog.c		standard
 arm/allwinner/timer.c			standard
 arm/allwinner/aintc.c			standard
-arm/allwinner/bus_space.c		standard
+arm/arm/bus_space-v6.c			standard
 arm/allwinner/common.c			standard
 #arm/allwinner/console.c			standard
 arm/allwinner/a10_machdep.c		standard

Copied: user/ed/newcons/sys/arm/arm/bus_space-v6.c (from r257740, head/sys/arm/arm/bus_space-v6.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/ed/newcons/sys/arm/arm/bus_space-v6.c	Wed Nov  6 11:16:05 2013	(r257741, copy of r257740, head/sys/arm/arm/bus_space-v6.c)
@@ -0,0 +1,153 @@
+/*-
+ * Copyright (c) 2012 Damjan Marion <damjan.marion at gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/kernel.h>
+#include <sys/malloc.h>
+
+#include <machine/bus.h>
+
+/* Prototypes for all the bus_space structure functions */
+bs_protos(generic);
+bs_protos(generic_armv4);
+
+/*
+ * The bus space tag.  This is constant for all instances, so
+ * we never have to explicitly "create" it.
+ */
+static struct bus_space _base_tag = {
+	/* cookie */
+	(void *) 0,
+
+	/* mapping/unmapping */
+	generic_bs_map,
+	generic_bs_unmap,
+	generic_bs_subregion,
+
+	/* allocation/deallocation */
+	generic_bs_alloc,
+	generic_bs_free,
+
+	/* barrier */
+	generic_bs_barrier,
+
+	/* read (single) */
+	generic_bs_r_1,
+	generic_armv4_bs_r_2,
+	generic_bs_r_4,
+	NULL,
+
+	/* read multiple */
+	generic_bs_rm_1,
+	generic_armv4_bs_rm_2,
+	generic_bs_rm_4,
+	NULL,
+
+	/* read region */
+	generic_bs_rr_1,
+	generic_armv4_bs_rr_2,
+	generic_bs_rr_4,
+	NULL,
+
+	/* write (single) */
+	generic_bs_w_1,
+	generic_armv4_bs_w_2,
+	generic_bs_w_4,
+	NULL,
+
+	/* write multiple */
+	generic_bs_wm_1,
+	generic_armv4_bs_wm_2,
+	generic_bs_wm_4,
+	NULL,
+
+	/* write region */
+	generic_bs_wr_1,
+	generic_armv4_bs_wr_2,
+	generic_bs_wr_4,
+	NULL,
+
+	/* set multiple */
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+
+	/* set region */
+	generic_bs_sr_1,
+	generic_armv4_bs_sr_2,
+	generic_bs_sr_4,
+	NULL,
+
+	/* copy */
+	NULL,
+	generic_armv4_bs_c_2,
+	NULL,
+	NULL,
+
+	/* read stream (single) */
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+
+	/* read multiple stream */
+	NULL,
+	generic_armv4_bs_rm_2,		/* bus_space_read_multi_stream_2 */
+	NULL,
+	NULL,
+
+	/* read region stream */
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+
+	/* write stream (single) */
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+
+	/* write multiple stream */
+	NULL,
+	generic_armv4_bs_wm_2,		/* bus_space_write_multi_stream_2 */
+	NULL,
+	NULL,
+
+	/* write region stream */
+	NULL,
+	NULL,
+	NULL,
+	NULL
+};
+
+bus_space_tag_t fdtbus_bs_tag = &_base_tag;

Modified: user/ed/newcons/sys/arm/arm/nexus.c
==============================================================================
--- user/ed/newcons/sys/arm/arm/nexus.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/arm/nexus.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -60,6 +60,12 @@ __FBSDID("$FreeBSD$");
 #include <machine/resource.h>
 #include <machine/intr.h>
 
+#include "opt_platform.h"
+
+#ifdef FDT
+#include <dev/ofw/ofw_nexus.h>
+#include <machine/fdt.h>
+#else
 static MALLOC_DEFINE(M_NEXUSDEV, "nexusdev", "Nexus device");
 
 struct nexus_device {
@@ -76,13 +82,18 @@ static	int nexus_print_child(device_t, d
 static	device_t nexus_add_child(device_t, u_int, const char *, int);
 static	struct resource *nexus_alloc_resource(device_t, device_t, int, int *,
     u_long, u_long, u_long, u_int);
+#endif
 static	int nexus_activate_resource(device_t, device_t, int, int,
     struct resource *);
+static	int nexus_deactivate_resource(device_t, device_t, int, int,
+    struct resource *);
+
 static int nexus_setup_intr(device_t dev, device_t child, struct resource *res,
     int flags, driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep);
 static int nexus_teardown_intr(device_t, device_t, struct resource *, void *);
 
 static device_method_t nexus_methods[] = {
+#ifndef FDT
 	/* Device interface */
 	DEVMETHOD(device_probe,		nexus_probe),
 	DEVMETHOD(device_attach,	nexus_attach),
@@ -90,19 +101,28 @@ static device_method_t nexus_methods[] =
 	DEVMETHOD(bus_print_child,	nexus_print_child),
 	DEVMETHOD(bus_add_child,	nexus_add_child),
 	DEVMETHOD(bus_alloc_resource,	nexus_alloc_resource),
+#endif
 	DEVMETHOD(bus_activate_resource,	nexus_activate_resource),
+	DEVMETHOD(bus_deactivate_resource,	nexus_deactivate_resource),
 	DEVMETHOD(bus_setup_intr,	nexus_setup_intr),
 	DEVMETHOD(bus_teardown_intr,	nexus_teardown_intr),
 	{ 0, 0 }
 };
 
+static devclass_t nexus_devclass;
+#ifndef FDT
 static driver_t nexus_driver = {
 	"nexus",
 	nexus_methods,
 	1			/* no softc */
 };
-static devclass_t nexus_devclass;
+#else
+DEFINE_CLASS_1(nexus, nexus_driver, nexus_methods,
+    sizeof(struct ofw_nexus_softc), ofw_nexus_driver);
+#endif
+DRIVER_MODULE(nexus, root, nexus_driver, nexus_devclass, 0, 0);
 
+#ifndef FDT
 static int
 nexus_probe(device_t dev)
 {
@@ -113,30 +133,6 @@ nexus_probe(device_t dev)
 }
 
 static int
-nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags,
-    driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep)
-{
-	int irq;
-
-	if ((rman_get_flags(res) & RF_SHAREABLE) == 0)
-		flags |= INTR_EXCL;
-
-	for (irq = rman_get_start(res); irq <= rman_get_end(res); irq++) {
-		arm_setup_irqhandler(device_get_nameunit(child),
-		    filt, intr, arg, irq, flags, cookiep);
-		arm_unmask_irq(irq);
-	}
-	return (0);
-}
-
-static int
-nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
-{
-
-	return (arm_remove_irqhandler(rman_get_start(r), ih));
-}
-
-static int
 nexus_attach(device_t dev)
 {
 
@@ -156,7 +152,6 @@ nexus_attach(device_t dev)
 	return (0);
 }
 
-
 static int
 nexus_print_child(device_t bus, device_t child)
 {
@@ -193,7 +188,6 @@ nexus_add_child(device_t bus, u_int orde
  * child of one of our descendants, not a direct child of nexus0.
  * (Exceptions include footbridge.)
  */
-#define ARM_BUS_SPACE_MEM 1
 static struct resource *
 nexus_alloc_resource(device_t bus, device_t child, int type, int *rid,
     u_long start, u_long end, u_long count, u_int flags)
@@ -204,6 +198,7 @@ nexus_alloc_resource(device_t bus, devic
 
 	switch (type) {
 	case SYS_RES_MEMORY:
+	case SYS_RES_IOPORT:
 		rm = &mem_rman;
 		break;
 
@@ -216,7 +211,6 @@ nexus_alloc_resource(device_t bus, devic
 		return (0);
 
 	rman_set_rid(rv, *rid);
-	rman_set_bustag(rv, (void*)ARM_BUS_SPACE_MEM);
 	rman_set_bushandle(rv, rman_get_start(rv));
 
 	if (needactivate) {
@@ -228,6 +222,31 @@ nexus_alloc_resource(device_t bus, devic
 
 	return (rv);
 }
+#endif
+
+static int
+nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags,
+    driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep)
+{
+	int irq;
+
+	if ((rman_get_flags(res) & RF_SHAREABLE) == 0)
+		flags |= INTR_EXCL;
+
+	for (irq = rman_get_start(res); irq <= rman_get_end(res); irq++) {
+		arm_setup_irqhandler(device_get_nameunit(child),
+		    filt, intr, arg, irq, flags, cookiep);
+		arm_unmask_irq(irq);
+	}
+	return (0);
+}
+
+static int
+nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
+{
+
+	return (arm_remove_irqhandler(rman_get_start(r), ih));
+}
 
 
 static int
@@ -237,7 +256,7 @@ nexus_activate_resource(device_t bus, de
 	/*
 	 * If this is a memory resource, map it into the kernel.
 	 */
-	if (rman_get_bustag(r) == (void*)ARM_BUS_SPACE_MEM) {
+	if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) {
 		caddr_t vaddr = 0;
 		u_int32_t paddr;
 		u_int32_t psize;
@@ -248,9 +267,21 @@ nexus_activate_resource(device_t bus, de
 		poffs = paddr - trunc_page(paddr);
 		vaddr = (caddr_t) pmap_mapdev(paddr-poffs, psize+poffs) + poffs;
 		rman_set_virtual(r, vaddr);
+#ifdef FDT
+		rman_set_bustag(r, fdtbus_bs_tag);
+#else
+		rman_set_bustag(r, (void *)1);
+#endif
 		rman_set_bushandle(r, (bus_space_handle_t) vaddr);
 	}
 	return (rman_activate_resource(r));
 }
 
-DRIVER_MODULE(nexus, root, nexus_driver, nexus_devclass, 0, 0);
+static int
+nexus_deactivate_resource(device_t bus, device_t child, int type, int rid,
+    struct resource *res)
+{
+
+	return (rman_deactivate_resource(res));
+}
+

Modified: user/ed/newcons/sys/arm/broadcom/bcm2835/bcm2835_fb.c
==============================================================================
--- user/ed/newcons/sys/arm/broadcom/bcm2835/bcm2835_fb.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/broadcom/bcm2835/bcm2835_fb.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -361,7 +361,7 @@ static driver_t bcm_fb_driver = {
 	sizeof(struct bcmsc_softc),
 };
 
-DRIVER_MODULE(bcm2835fb, fdtbus, bcm_fb_driver, bcm_fb_devclass, 0, 0);
+DRIVER_MODULE(bcm2835fb, nexus, bcm_fb_driver, bcm_fb_devclass, 0, 0);
 
 /*
  * Video driver routines and glue.

Modified: user/ed/newcons/sys/arm/freescale/imx/files.imx51
==============================================================================
--- user/ed/newcons/sys/arm/freescale/imx/files.imx51	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/freescale/imx/files.imx51	Wed Nov  6 11:16:05 2013	(r257741)
@@ -11,7 +11,7 @@ kern/kern_clocksource.c			standard
 arm/freescale/imx/imx_machdep.c		standard
 arm/freescale/imx/imx51_machdep.c	standard
 arm/freescale/imx/common.c		standard
-arm/freescale/imx/bus_space.c		standard
+arm/arm/bus_space-v6.c			standard
 
 # Dummy serial console
 #arm/freescale/imx/console.c		standard

Modified: user/ed/newcons/sys/arm/freescale/imx/files.imx53
==============================================================================
--- user/ed/newcons/sys/arm/freescale/imx/files.imx53	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/freescale/imx/files.imx53	Wed Nov  6 11:16:05 2013	(r257741)
@@ -11,7 +11,7 @@ kern/kern_clocksource.c			standard
 arm/freescale/imx/imx_machdep.c		standard
 arm/freescale/imx/imx53_machdep.c	standard
 arm/freescale/imx/common.c		standard
-arm/freescale/imx/bus_space.c		standard
+arm/arm/bus_space-v6.c			standard
 
 # Special serial console for debuging early boot code
 #arm/freescale/imx/console.c		standard

Modified: user/ed/newcons/sys/arm/freescale/imx/files.imx6
==============================================================================
--- user/ed/newcons/sys/arm/freescale/imx/files.imx6	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/freescale/imx/files.imx6	Wed Nov  6 11:16:05 2013	(r257741)
@@ -16,7 +16,7 @@ kern/kern_clocksource.c			standard
 #
 arm/arm/gic.c				standard
 arm/arm/pl310.c				standard
-arm/freescale/imx/bus_space.c		standard
+arm/arm/bus_space-v6.c			standard
 arm/freescale/imx/common.c		standard
 arm/freescale/imx/imx6_anatop.c		standard
 arm/freescale/imx/imx6_ccm.c		standard

Modified: user/ed/newcons/sys/arm/freescale/imx/tzic.c
==============================================================================
--- user/ed/newcons/sys/arm/freescale/imx/tzic.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/freescale/imx/tzic.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -142,9 +142,9 @@ static devclass_t tzic_devclass;
 
 /*
  * Memory space of controller located outside of device range, so let him to
- * attach not only to simplebus, but fdtbus also.
+ * attach not only to simplebus, but nexus also.
  */
-EARLY_DRIVER_MODULE(tzic, fdtbus, tzic_driver, tzic_devclass, 0, 0,
+EARLY_DRIVER_MODULE(tzic, nexus, tzic_driver, tzic_devclass, 0, 0,
     BUS_PASS_INTERRUPT);
 EARLY_DRIVER_MODULE(tzic, simplebus, tzic_driver, tzic_devclass, 0, 0,
     BUS_PASS_INTERRUPT);

Modified: user/ed/newcons/sys/arm/mv/mv_localbus.c
==============================================================================
--- user/ed/newcons/sys/arm/mv/mv_localbus.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/mv/mv_localbus.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -156,7 +156,7 @@ static struct localbus_bank localbus_ban
 
 devclass_t localbus_devclass;
 
-DRIVER_MODULE(localbus, fdtbus, localbus_driver, localbus_devclass, 0, 0);
+DRIVER_MODULE(localbus, nexus, localbus_driver, localbus_devclass, 0, 0);
 
 static int
 fdt_localbus_reg_decode(phandle_t node, struct localbus_softc *sc,

Modified: user/ed/newcons/sys/arm/mv/mv_pci.c
==============================================================================
--- user/ed/newcons/sys/arm/mv/mv_pci.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/mv/mv_pci.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -230,7 +230,7 @@ static driver_t mv_pcib_driver = {
 
 devclass_t pcib_devclass;
 
-DRIVER_MODULE(pcib, fdtbus, mv_pcib_driver, pcib_devclass, 0, 0);
+DRIVER_MODULE(pcib, nexus, mv_pcib_driver, pcib_devclass, 0, 0);
 
 static struct mtx pcicfg_mtx;
 

Modified: user/ed/newcons/sys/arm/rockchip/files.rk30xx
==============================================================================
--- user/ed/newcons/sys/arm/rockchip/files.rk30xx	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/arm/rockchip/files.rk30xx	Wed Nov  6 11:16:05 2013	(r257741)
@@ -12,7 +12,7 @@ arm/arm/irq_dispatch.S			standard
 arm/arm/gic.c				standard
 arm/arm/mpcore_timer.c			standard
 
-arm/rockchip/bus_space.c		standard
+arm/arm/bus_space-v6.c			standard
 arm/rockchip/common.c			standard
 arm/rockchip/rk30xx_machdep.c		standard
 arm/rockchip/rk30xx_pmu.c		standard

Modified: user/ed/newcons/sys/compat/linux/linux_ioctl.c
==============================================================================
--- user/ed/newcons/sys/compat/linux/linux_ioctl.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/compat/linux/linux_ioctl.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -2287,7 +2287,7 @@ linux_gifflags(struct thread *td, struct
 
 	flags = (ifp->if_flags | ifp->if_drv_flags) & 0xffff;
 	/* these flags have no Linux equivalent */
-	flags &= ~(IFF_SMART|IFF_DRV_OACTIVE|IFF_SIMPLEX|
+	flags &= ~(IFF_DRV_OACTIVE|IFF_SIMPLEX|
 	    IFF_LINK0|IFF_LINK1|IFF_LINK2);
 	/* Linux' multicast flag is in a different bit */
 	if (flags & IFF_MULTICAST) {

Modified: user/ed/newcons/sys/compat/svr4/svr4_sockio.c
==============================================================================
--- user/ed/newcons/sys/compat/svr4/svr4_sockio.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/compat/svr4/svr4_sockio.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -154,15 +154,16 @@ svr4_sock_ioctl(fp, td, retval, fd, cmd,
 				sc.svr4_ifc_len));
 
 			ifc = (struct ifconf *)≻
-			ifc->ifc_req.ifr_addr.sa_family =
-			    sc.svr4_ifc_req.svr4_ifr_addr.sa_family;
-			ifc->ifc_req.ifr_addr.sa_len = sizeof(struct osockaddr);
+			ifc->ifc_req->ifr_addr.sa_family =
+			    sc.svr4_ifc_req->svr4_ifr_addr.sa_family;
+			ifc->ifc_req->ifr_addr.sa_len =
+			    sizeof(struct osockaddr);
 
-			error = fo_ioctl(fp, SIOCGIFCONF, &sc,
-			    td->td_ucred, td));
+			error = fo_ioctl(fp, SIOCGIFCONF, &sc, td->td_ucred,
+			    td);
 
-			sc.svr4_ifc_req.svr4_ifr_addr.sa_family =
-			    ifc->ifc_req.ifr_addr.sa_family;
+			sc.svr4_ifc_req->svr4_ifr_addr.sa_family =
+			    ifc->ifc_req->ifr_addr.sa_family;
 
 			if (error != 0)
 				return error;

Modified: user/ed/newcons/sys/conf/files
==============================================================================
--- user/ed/newcons/sys/conf/files	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/conf/files	Wed Nov  6 11:16:05 2013	(r257741)
@@ -1403,7 +1403,7 @@ dev/fdt/fdt_pci.c		optional fdt pci
 dev/fdt/fdt_slicer.c		optional fdt cfi | fdt nand
 dev/fdt/fdt_static_dtb.S	optional fdt fdt_dtb_static \
 	dependency	"$S/boot/fdt/dts/${FDT_DTS_FILE}"
-dev/fdt/fdtbus.c		optional fdt
+dev/fdt/fdtbus.c		optional fdtbus
 dev/fdt/simplebus.c		optional fdt
 dev/fe/if_fe.c			optional fe
 dev/fe/if_fe_pccard.c		optional fe pccard

Modified: user/ed/newcons/sys/conf/kern.pre.mk
==============================================================================
--- user/ed/newcons/sys/conf/kern.pre.mk	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/conf/kern.pre.mk	Wed Nov  6 11:16:05 2013	(r257741)
@@ -80,16 +80,17 @@ INCLUDES+= -I$S/dev/cxgb -I$S/dev/cxgbe
 
 CFLAGS=	${COPTFLAGS} ${C_DIALECT} ${DEBUG} ${CWARNFLAGS}
 CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h
+CFLAGS_PARAM_INLINE_UNIT_GROWTH?=100
+CFLAGS_PARAM_LARGE_FUNCTION_GROWTH?=1000
+.if ${MACHINE_CPUARCH} == "mips"
+CFLAGS_ARCH_PARAMS?=--param max-inline-insns-single=1000
+.endif
 .if ${COMPILER_TYPE} != "clang"
 CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT}
-.if ${MACHINE_CPUARCH} != "mips"
-CFLAGS+= --param inline-unit-growth=100
-CFLAGS+= --param large-function-growth=1000
-.else
-# XXX Actually a gross hack just for Octeon because of the Simple Executive.
-CFLAGS+= --param inline-unit-growth=10000
-CFLAGS+= --param large-function-growth=100000
-CFLAGS+= --param max-inline-insns-single=10000
+CFLAGS+= --param inline-unit-growth=${CFLAGS_PARAM_INLINE_UNIT_GROWTH}
+CFLAGS+= --param large-function-growth=${CFLAGS_PARAM_LARGE_FUNCTION_GROWTH}
+.if defined(CFLAGS_ARCH_PARAMS)
+CFLAGS+=${CFLAGS_ARCH_PARAMS}
 .endif
 .endif
 WERROR?= -Werror
@@ -193,7 +194,7 @@ MKMODULESENV+=	WITHOUT_MODULES="${WITHOU
 MKMODULESENV+=	DEBUG_FLAGS="${DEBUG}"
 .endif
 
-# Are various things configured?
+# Detect knerel config options that force stack frames to be turned on.
 DDB_ENABLED!=	grep DDB opt_ddb.h || true ; echo
 DTR_ENABLED!=	grep KDTRACE_FRAME opt_kdtrace.h || true ; echo
 HWPMC_ENABLED!=	grep HWPMC opt_hwpmc_hooks.h || true ; echo

Modified: user/ed/newcons/sys/dev/fdt/simplebus.c
==============================================================================
--- user/ed/newcons/sys/dev/fdt/simplebus.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/dev/fdt/simplebus.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -138,7 +138,7 @@ static driver_t simplebus_driver = {
 
 devclass_t simplebus_devclass;
 
-DRIVER_MODULE(simplebus, fdtbus, simplebus_driver, simplebus_devclass, 0, 0);
+DRIVER_MODULE(simplebus, nexus, simplebus_driver, simplebus_devclass, 0, 0);
 DRIVER_MODULE(simplebus, simplebus, simplebus_driver, simplebus_devclass, 0,
     0);
 

Modified: user/ed/newcons/sys/dev/usb/wlan/if_run.c
==============================================================================
--- user/ed/newcons/sys/dev/usb/wlan/if_run.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/dev/usb/wlan/if_run.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -700,7 +700,7 @@ run_attach(device_t self)
 
 	TASK_INIT(&sc->cmdq_task, 0, run_cmdq_cb, sc);
 	TASK_INIT(&sc->ratectl_task, 0, run_ratectl_cb, sc);
-	callout_init((struct callout *)&sc->ratectl_ch, 1);
+	usb_callout_init_mtx(&sc->ratectl_ch, &sc->sc_mtx, 0);
 
 	if (bootverbose)
 		ieee80211_announce(ic);
@@ -1010,13 +1010,12 @@ run_load_microcode(struct run_softc *sc)
 	/* cheap sanity check */
 	temp = fw->data;
 	bytes = *temp;
-	if (bytes != be64toh(0xffffff0210280210)) {
+	if (bytes != be64toh(0xffffff0210280210ULL)) {
 		device_printf(sc->sc_dev, "firmware checksum failed\n");
 		error = EINVAL;
 		goto fail;
 	}
 
-	run_read(sc, RT2860_ASIC_VER_ID, &tmp);
 	/* write microcode image */
 	run_write_region_1(sc, RT2870_FW_BASE, base, 4096);
 	run_write(sc, RT2860_H2M_MAILBOX_CID, 0xffffffff);
@@ -2237,8 +2236,10 @@ run_ratectl_cb(void *arg, int pending)
 		ieee80211_iterate_nodes(&ic->ic_sta, run_iter_func, sc);
 	}
 
+	RUN_LOCK(sc);
 	if(sc->ratectl_run != RUN_RATECTL_OFF)
 		usb_callout_reset(&sc->ratectl_ch, hz, run_ratectl_to, sc);
+	RUN_UNLOCK(sc);
 }
 
 static void

Modified: user/ed/newcons/sys/kern/capabilities.conf
==============================================================================
--- user/ed/newcons/sys/kern/capabilities.conf	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/kern/capabilities.conf	Wed Nov  6 11:16:05 2013	(r257741)
@@ -386,13 +386,6 @@ listen
 lseek
 
 ##
-## Allow MAC label operations by file descriptor, subject to capability
-## rights.
-##
-mac_get_fd
-mac_set_fd
-
-##
 ## Allow simple VM operations on the current process.
 ##
 madvise
@@ -552,7 +545,7 @@ sched_get_priority_min
 ##
 sched_getparam
 sched_getscheduler
-sched_rr_getinterval
+sched_rr_get_interval
 sched_setparam
 sched_setscheduler
 sched_yield

Modified: user/ed/newcons/sys/mips/cavium/std.octeon1
==============================================================================
--- user/ed/newcons/sys/mips/cavium/std.octeon1	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/mips/cavium/std.octeon1	Wed Nov  6 11:16:05 2013	(r257741)
@@ -3,3 +3,7 @@
 files	"../cavium/files.octeon1"
 machine	mips mips64
 cpu		CPU_CNMIPS
+
+makeoptions CFLAGS_PARAM_INLINE_UNIT_GROWTH=10000
+makeoptions CFLAGS_PARAM_LARGE_FUNCTION_GROWTH=100000
+makeoptions CFLAGS_ARCH_PARAMS="--param max-inline-insns-single=10000"

Modified: user/ed/newcons/sys/mips/mips/nexus.c
==============================================================================
--- user/ed/newcons/sys/mips/mips/nexus.c	Wed Nov  6 10:31:52 2013	(r257740)
+++ user/ed/newcons/sys/mips/mips/nexus.c	Wed Nov  6 11:16:05 2013	(r257741)
@@ -58,6 +58,12 @@ __FBSDID("$FreeBSD$");
 #include <machine/resource.h>
 #include <machine/vmparam.h>
 
+#include "opt_platform.h"
+
+#ifdef FDT
+#include <dev/ofw/ofw_nexus.h>
+#endif
+
 #undef NEXUS_DEBUG
 #ifdef NEXUS_DEBUG
 #define dprintf printf
@@ -65,6 +71,9 @@ __FBSDID("$FreeBSD$");
 #define dprintf(x, arg...)
 #endif  /* NEXUS_DEBUG */
 
+#define NUM_MIPS_IRQS	6
+
+#ifndef FDT
 static MALLOC_DEFINE(M_NEXUSDEV, "nexusdev", "Nexus device");
 
 struct nexus_device {
@@ -72,7 +81,6 @@ struct nexus_device {
 };
 
 #define DEVTONX(dev)	((struct nexus_device *)device_get_ivars(dev))
-#define NUM_MIPS_IRQS	6
 
 static struct rman irq_rman;
 static struct rman mem_rman;
@@ -80,18 +88,13 @@ static struct rman mem_rman;
 static struct resource *
 		nexus_alloc_resource(device_t, device_t, int, int *, u_long,
 		    u_long, u_long, u_int);
-static int	nexus_activate_resource(device_t, device_t, int, int,
-		    struct resource *);
 static device_t	nexus_add_child(device_t, u_int, const char *, int);
 static int	nexus_attach(device_t);
-static int	nexus_deactivate_resource(device_t, device_t, int, int,
-		    struct resource *);
 static void	nexus_delete_resource(device_t, device_t, int, int);
 static struct resource_list *
 		nexus_get_reslist(device_t, device_t);
 static int	nexus_get_resource(device_t, device_t, int, int, u_long *,
 		    u_long *);
-static void	nexus_hinted_child(device_t, const char *, int);
 static int	nexus_print_child(device_t, device_t);
 static int	nexus_print_all_resources(device_t dev);
 static int	nexus_probe(device_t);
@@ -99,6 +102,12 @@ static int	nexus_release_resource(device
 		    struct resource *);
 static int	nexus_set_resource(device_t, device_t, int, int, u_long,
 		    u_long);
+#endif
+static int	nexus_activate_resource(device_t, device_t, int, int,
+		    struct resource *);
+static int	nexus_deactivate_resource(device_t, device_t, int, int,
+		    struct resource *);
+static void	nexus_hinted_child(device_t, const char *, int);
 static int	nexus_setup_intr(device_t dev, device_t child,
 		    struct resource *res, int flags, driver_filter_t *filt,
 		    driver_intr_t *intr, void *arg, void **cookiep);
@@ -106,35 +115,43 @@ static int	nexus_teardown_intr(device_t,
 		    void *);
 
 static device_method_t nexus_methods[] = {
+#ifndef FDT
 	/* Device interface */
 	DEVMETHOD(device_probe,		nexus_probe),
 	DEVMETHOD(device_attach,	nexus_attach),
 
 	/* Bus interface */
 	DEVMETHOD(bus_add_child,	nexus_add_child),
-	DEVMETHOD(bus_activate_resource,nexus_activate_resource),
 	DEVMETHOD(bus_alloc_resource,	nexus_alloc_resource),
-	DEVMETHOD(bus_deactivate_resource,	nexus_deactivate_resource),
 	DEVMETHOD(bus_delete_resource,	nexus_delete_resource),
 	DEVMETHOD(bus_get_resource,	nexus_get_resource),
 	DEVMETHOD(bus_get_resource_list,	nexus_get_reslist),
-	DEVMETHOD(bus_hinted_child,	nexus_hinted_child),
 	DEVMETHOD(bus_print_child,	nexus_print_child),
 	DEVMETHOD(bus_release_resource,	nexus_release_resource),
 	DEVMETHOD(bus_set_resource,	nexus_set_resource),
+#endif
 	DEVMETHOD(bus_setup_intr,	nexus_setup_intr),
 	DEVMETHOD(bus_teardown_intr,	nexus_teardown_intr),
+	DEVMETHOD(bus_activate_resource,nexus_activate_resource),
+	DEVMETHOD(bus_deactivate_resource,	nexus_deactivate_resource),
+	DEVMETHOD(bus_hinted_child,	nexus_hinted_child),
 
 	{ 0, 0 }
 };
 
+#ifndef FDT
 static driver_t nexus_driver = {
 	"nexus",
 	nexus_methods,
 	1			/* no softc */
 };
+#else
+DEFINE_CLASS_1(nexus, nexus_driver, nexus_methods,
+    sizeof(struct ofw_nexus_softc), ofw_nexus_driver);
+#endif
 static devclass_t nexus_devclass;
 
+#ifndef FDT
 static int
 nexus_probe(device_t dev)
 {
@@ -163,34 +180,6 @@ nexus_probe(device_t dev)
 }
 
 static int
-nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags,
-    driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep)
-{
-	register_t s;
-	int irq;
-
-	s = intr_disable();
-	irq = rman_get_start(res);
-	if (irq >= NUM_MIPS_IRQS) {
-		intr_restore(s);
-		return (0);
-	}
-
-	cpu_establish_hardintr(device_get_nameunit(child), filt, intr, arg,
-	    irq, flags, cookiep);
-	intr_restore(s);
-	return (0);
-}
-
-static int
-nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
-{
-
-	printf("Unimplemented %s at %s:%d\n", __func__, __FILE__, __LINE__);
-	return (0);
-}
-
-static int
 nexus_attach(device_t dev)
 {
 
@@ -231,59 +220,6 @@ nexus_print_all_resources(device_t dev)
 	return (retval);
 }
 
-static void
-nexus_hinted_child(device_t bus, const char *dname, int dunit)
-{
-	device_t child;
-	long	maddr;
-	int	msize;
-	int	order;
-	int	result;
-	int	irq;
-	int	mem_hints_count;
-
-	if ((resource_int_value(dname, dunit, "order", &order)) != 0)
-		order = 1000;
-	child = BUS_ADD_CHILD(bus, order, dname, dunit);
-	if (child == NULL)
-		return;
-
-	/*
-	 * Set hard-wired resources for hinted child using
-	 * specific RIDs.
-	 */
-	mem_hints_count = 0;
-	if (resource_long_value(dname, dunit, "maddr", &maddr) == 0)
-		mem_hints_count++;
-	if (resource_int_value(dname, dunit, "msize", &msize) == 0)
-		mem_hints_count++;
-
-	/* check if all info for mem resource has been provided */
-	if ((mem_hints_count > 0) && (mem_hints_count < 2)) {
-		printf("Either maddr or msize hint is missing for %s%d\n",
-		    dname, dunit);
-	} 
-	else if (mem_hints_count) {
-		dprintf("%s: discovered hinted child %s at maddr %p(%d)\n",
-		    __func__, device_get_nameunit(child),
-		    (void *)(intptr_t)maddr, msize);
-
-		result = bus_set_resource(child, SYS_RES_MEMORY, 0, maddr, 
-		    msize);
-		if (result != 0) {
-			device_printf(bus, 
-			    "warning: bus_set_resource() failed\n");
-		}
-	}
-
-	if (resource_int_value(dname, dunit, "irq", &irq) == 0) {
-		result = bus_set_resource(child, SYS_RES_IRQ, 0, irq, 1);
-		if (result != 0)
-			device_printf(bus,
-			    "warning: bus_set_resource() failed\n");
-	}
-}
-
 static device_t
 nexus_add_child(device_t bus, u_int order, const char *name, int unit)
 {
@@ -381,30 +317,6 @@ nexus_alloc_resource(device_t bus, devic
 	return (rv);
 }
 
-static int
-nexus_activate_resource(device_t bus, device_t child, int type, int rid,
-    struct resource *r)
-{
-	void *vaddr;
-	vm_paddr_t paddr;
-	vm_size_t psize;
-
-	/*
-	 * If this is a memory resource, use pmap_mapdev to map it.
-	 */
-	if (type == SYS_RES_MEMORY) {
-		paddr = rman_get_start(r);
-		psize = rman_get_size(r);
-		vaddr = pmap_mapdev(paddr, psize);
-
-		rman_set_virtual(r, vaddr);
-		rman_set_bustag(r, mips_bus_space_generic);
-		rman_set_bushandle(r, (bus_space_handle_t)(uintptr_t)vaddr);
-	}
-
-	return (rman_activate_resource(r));
-}
-
 static struct resource_list *
 nexus_get_reslist(device_t dev, device_t child)
 {
@@ -475,6 +387,31 @@ nexus_release_resource(device_t bus, dev
 
 	return (rman_release_resource(r));
 }
+#endif
+
+static int
+nexus_activate_resource(device_t bus, device_t child, int type, int rid,
+    struct resource *r)
+{
+	void *vaddr;
+	vm_paddr_t paddr;
+	vm_size_t psize;
+
+	/*
+	 * If this is a memory resource, use pmap_mapdev to map it.
+	 */
+	if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) {
+		paddr = rman_get_start(r);
+		psize = rman_get_size(r);
+		vaddr = pmap_mapdev(paddr, psize);
+
+		rman_set_virtual(r, vaddr);
+		rman_set_bustag(r, mips_bus_space_generic);
+		rman_set_bushandle(r, (bus_space_handle_t)(uintptr_t)vaddr);
+	}
+
+	return (rman_activate_resource(r));
+}
 
 static int
 nexus_deactivate_resource(device_t bus, device_t child, int type, int rid,
@@ -490,4 +427,85 @@ nexus_deactivate_resource(device_t bus, 
 	return (rman_deactivate_resource(r));
 }
 
+static int
+nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags,
+    driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep)
+{
+	register_t s;
+	int irq;
+

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


More information about the svn-src-user mailing list