PERFORCE change 187571 for review

John Baldwin jhb at FreeBSD.org
Fri Jan 7 16:06:39 UTC 2011


http://p4web.freebsd.org/@@187571?ac=10

Change 187571 by jhb at jhb_jhbbsd on 2011/01/07 16:05:52

	IFC @187570

Affected files ...

.. //depot/projects/smpng/share/man/man9/BUS_SETUP_INTR.9#3 integrate
.. //depot/projects/smpng/share/man/man9/ithread.9#2 integrate
.. //depot/projects/smpng/share/man/man9/mutex.9#2 integrate
.. //depot/projects/smpng/share/man/man9/osd.9#2 integrate
.. //depot/projects/smpng/share/man/man9/style.9#4 integrate
.. //depot/projects/smpng/share/man/man9/swi.9#2 integrate
.. //depot/projects/smpng/sys/amd64/include/elf.h#11 integrate
.. //depot/projects/smpng/sys/arm/at91/at91_st.c#11 integrate
.. //depot/projects/smpng/sys/arm/at91/at91rm9200.c#2 integrate
.. //depot/projects/smpng/sys/arm/at91/if_macb.c#3 integrate
.. //depot/projects/smpng/sys/arm/at91/uart_bus_at91usart.c#5 integrate
.. //depot/projects/smpng/sys/arm/at91/uart_cpu_at91rm9200usart.c#8 integrate
.. //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#21 integrate
.. //depot/projects/smpng/sys/arm/conf/SKYEYE#12 delete
.. //depot/projects/smpng/sys/arm/include/elf.h#11 integrate
.. //depot/projects/smpng/sys/arm/include/pmap.h#32 integrate
.. //depot/projects/smpng/sys/arm/mv/gpio.c#5 integrate
.. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0_clk.c#2 integrate
.. //depot/projects/smpng/sys/boot/efi/libefi/efinet.c#6 integrate
.. //depot/projects/smpng/sys/boot/efi/libefi/efipart.c#2 integrate
.. //depot/projects/smpng/sys/boot/ficl/Makefile#19 integrate
.. //depot/projects/smpng/sys/boot/i386/Makefile.inc#11 integrate
.. //depot/projects/smpng/sys/boot/i386/boot2/Makefile#23 integrate
.. //depot/projects/smpng/sys/boot/i386/gptboot/Makefile#5 integrate
.. //depot/projects/smpng/sys/boot/i386/gptzfsboot/Makefile#5 integrate
.. //depot/projects/smpng/sys/boot/i386/zfsboot/Makefile#5 integrate
.. //depot/projects/smpng/sys/boot/pc98/Makefile.inc#9 integrate
.. //depot/projects/smpng/sys/boot/pc98/boot2/Makefile#21 integrate
.. //depot/projects/smpng/sys/boot/powerpc/Makefile#5 integrate
.. //depot/projects/smpng/sys/boot/powerpc/ps3/Makefile#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/conf.c#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/devicename.c#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/help.ps3#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/ldscript.powerpc#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/lv1call.S#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/lv1call.h#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/main.c#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/metadata.c#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/ppc64_elf_freebsd.c#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/ps3.h#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/ps3cons.c#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/ps3mmu.c#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/ps3net.c#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/start.S#1 branch
.. //depot/projects/smpng/sys/boot/powerpc/ps3/version#1 branch
.. //depot/projects/smpng/sys/boot/zfs/Makefile#6 integrate
.. //depot/projects/smpng/sys/conf/files.powerpc#64 integrate
.. //depot/projects/smpng/sys/conf/kern.mk#30 integrate
.. //depot/projects/smpng/sys/conf/options.powerpc#15 integrate
.. //depot/projects/smpng/sys/dev/adlink/adlink.c#16 integrate
.. //depot/projects/smpng/sys/dev/ispfw/asm_2322.h#2 integrate
.. //depot/projects/smpng/sys/dev/ispfw/asm_2400.h#3 integrate
.. //depot/projects/smpng/sys/dev/ispfw/asm_2500.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ehci_mv.c#2 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uplcom.c#18 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#163 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfs_var.h#14 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfsdport.h#5 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfsport.h#12 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdport.c#16 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdserv.c#9 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdsocket.c#8 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdstate.c#13 integrate
.. //depot/projects/smpng/sys/geom/part/g_part.c#33 integrate
.. //depot/projects/smpng/sys/i386/include/elf.h#13 integrate
.. //depot/projects/smpng/sys/i386/xen/clock.c#11 integrate
.. //depot/projects/smpng/sys/i386/xen/mp_machdep.c#20 integrate
.. //depot/projects/smpng/sys/ia64/include/elf.h#18 integrate
.. //depot/projects/smpng/sys/kern/init_main.c#91 integrate
.. //depot/projects/smpng/sys/kern/kern_fork.c#130 integrate
.. //depot/projects/smpng/sys/kern/kern_kthread.c#28 integrate
.. //depot/projects/smpng/sys/kern/kern_synch.c#130 integrate
.. //depot/projects/smpng/sys/kern/sched_4bsd.c#99 integrate
.. //depot/projects/smpng/sys/kern/sched_ule.c#111 integrate
.. //depot/projects/smpng/sys/kern/subr_autoconf.c#16 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#184 integrate
.. //depot/projects/smpng/sys/mips/include/elf.h#7 integrate
.. //depot/projects/smpng/sys/mips/mips/mp_machdep.c#15 integrate
.. //depot/projects/smpng/sys/mips/rmi/dev/nlge/if_nlge.c#4 integrate
.. //depot/projects/smpng/sys/mips/rmi/dev/xlr/rge.c#9 integrate
.. //depot/projects/smpng/sys/mips/rmi/fmn.c#3 integrate
.. //depot/projects/smpng/sys/modules/aha/Makefile#4 integrate
.. //depot/projects/smpng/sys/modules/ahb/Makefile#4 integrate
.. //depot/projects/smpng/sys/net/flowtable.c#16 integrate
.. //depot/projects/smpng/sys/powerpc/aim/nexus.c#9 integrate
.. //depot/projects/smpng/sys/powerpc/aim/vm_machdep.c#11 integrate
.. //depot/projects/smpng/sys/powerpc/conf/GENERIC64#6 integrate
.. //depot/projects/smpng/sys/powerpc/conf/NOTES#21 integrate
.. //depot/projects/smpng/sys/powerpc/cpufreq/dfs.c#2 integrate
.. //depot/projects/smpng/sys/powerpc/cpufreq/pcr.c#4 integrate
.. //depot/projects/smpng/sys/powerpc/include/elf.h#13 integrate
.. //depot/projects/smpng/sys/powerpc/include/pte.h#13 integrate
.. //depot/projects/smpng/sys/powerpc/ofw/ofw_real.c#8 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/macgpio.c#6 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/uninorth.c#22 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/intr_machdep.c#24 integrate
.. //depot/projects/smpng/sys/powerpc/ps3/ehci_ps3.c#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/if_glc.c#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/if_glcreg.h#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/mmu_ps3.c#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/platform_ps3.c#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/ps3-hv-asm.awk#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/ps3-hv-header.awk#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/ps3-hvcall.S#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/ps3-hvcall.h#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/ps3-hvcall.master#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/ps3_syscons.c#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/ps3bus.c#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/ps3bus.h#1 branch
.. //depot/projects/smpng/sys/powerpc/ps3/ps3pic.c#1 branch
.. //depot/projects/smpng/sys/sparc64/include/elf.h#17 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/tsb.c#29 integrate
.. //depot/projects/smpng/sys/sun4v/include/elf.h#7 integrate
.. //depot/projects/smpng/sys/sys/bus.h#44 integrate
.. //depot/projects/smpng/sys/sys/priority.h#5 integrate

Differences ...

==== //depot/projects/smpng/share/man/man9/BUS_SETUP_INTR.9#3 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" 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.24 2010/11/03 18:49:50 trasz Exp $
+.\" $FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.25 2011/01/06 21:14:34 jhb Exp $
 .\"
 .Dd November 3, 2010
 .Dt BUS_SETUP_INTR 9
@@ -85,9 +85,8 @@
 this may be used by the entropy device
 .Pa /dev/random .
 .Pp
-To define a time-critical handler (previously known as
-.Dv INTR_FAST )
-that will not execute any potentially blocking operation, use the
+To define a time-critical handler that will not execute any potentially
+blocking operation, use the
 .Fa filter
 argument.
 See the
@@ -128,10 +127,7 @@
 .Pp
 Mutexes are not allowed to be held across calls to these functions.
 .Ss "Filter Routines"
-A filter runs in a context very similar to what was known as an
-.Dv INTR_FAST
-routine in previous versions of 
-.Fx .
+A filter runs in primary interrupt context.
 In this context, normal mutexes cannot be used.
 Only the spin lock version of these can be used (specified by passing
 .Dv MTX_SPIN 

==== //depot/projects/smpng/share/man/man9/ithread.9#2 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/ithread.9,v 1.12 2006/08/25 19:04:42 pav Exp $
+.\" $FreeBSD: src/share/man/man9/ithread.9,v 1.13 2011/01/06 21:14:34 jhb Exp $
 .\"
 .Dd August 25, 2006
 .Dt ITHREAD 9
@@ -180,15 +180,6 @@
 flag specifies that this handler cannot share an interrupt thread with
 another handler.
 The
-.Dv INTR_FAST
-flag specifies that when this handler is executed, it should be run immediately
-rather than being run asynchronously when its interrupt thread is scheduled to
-run.
-The
-.Dv INTR_FAST
-flag implies
-.Dv INTR_EXCL .
-The
 .Dv INTR_MPSAFE
 flag specifies that this handler is MP safe in that it does not need the
 Giant mutex to be held while it is executed.
@@ -198,10 +189,8 @@
 source of entropy, and thus that entropy should be gathered when an interrupt
 from the handler's source triggers.
 Presently, the
-.Dv INTR_FAST
-and
 .Dv INTR_ENTROPY
-flags are not valid for software interrupt handlers.
+flag is not valid for software interrupt handlers.
 .Pp
 It is not permitted to sleep in an interrupt thread; hence, any memory
 or zone allocations in an interrupt thread should be specified with the
@@ -237,7 +226,7 @@
 	struct ithd *ithd;
 	int error;
 
-	if (flags & (INTR_FAST | INTR_ENTROPY))
+	if (flags & INTR_ENTROPY)
 		return (EINVAL);
 
 	ithd = (ithdp != NULL) ? *ithdp : NULL;

==== //depot/projects/smpng/share/man/man9/mutex.9#2 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	from BSDI $Id: mutex.4,v 1.1.2.3 1998/04/27 22:53:13 ewv Exp $
-.\" $FreeBSD: src/share/man/man9/mutex.9,v 1.55 2007/03/30 18:07:26 julian Exp $
+.\" $FreeBSD: src/share/man/man9/mutex.9,v 1.56 2011/01/06 21:14:34 jhb Exp $
 .\"
 .Dd December 21, 2006
 .Dt MUTEX 9
@@ -128,9 +128,7 @@
 mutexes.
 These should only be used to protect data shared with primary interrupt
 code.
-This includes
-.Dv INTR_FAST
-interrupt handlers and low level scheduling code.
+This includes interrupt filters and low level scheduling code.
 In all architectures both acquiring and releasing of a
 uncontested spin mutex is more expensive than the same operation
 on a non-spin mutex.

==== //depot/projects/smpng/share/man/man9/osd.9#2 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/osd.9,v 1.1 2011/01/05 11:49:23 lstewart Exp $
+.\" $FreeBSD: src/share/man/man9/osd.9,v 1.2 2011/01/06 04:05:25 lstewart Exp $
 .\"
 .Dd January 5, 2011
 .Dt OSD 9
@@ -34,7 +34,7 @@
 .Nm osd_deregister ,
 .Nm osd_set ,
 .Nm osd_get ,
-.Nm osd_del,
+.Nm osd_del ,
 .Nm osd_call ,
 .Nm osd_exit
 .Nd Object Specific Data

==== //depot/projects/smpng/share/man/man9/style.9#4 (text+ko) ====

@@ -24,9 +24,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	From: @(#)style	1.14 (Berkeley) 4/28/95
-.\" $FreeBSD: src/share/man/man9/style.9,v 1.132 2010/10/08 12:40:16 uqs Exp $
+.\" $FreeBSD: src/share/man/man9/style.9,v 1.134 2011/01/07 08:34:12 trasz Exp $
 .\"
-.Dd December 17, 2008
+.Dd January 7, 2010
 .Dt STYLE 9
 .Os
 .Sh NAME
@@ -46,7 +46,7 @@
  * Style guide for FreeBSD.  Based on the CSRG's KNF (Kernel Normal Form).
  *
  *	@(#)style	1.14 (Berkeley) 4/28/95
- * $FreeBSD: src/share/man/man9/style.9,v 1.132 2010/10/08 12:40:16 uqs Exp $
+ * $FreeBSD: src/share/man/man9/style.9,v 1.134 2011/01/07 08:34:12 trasz Exp $
  */
 
 /*
@@ -111,7 +111,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/share/man/man9/style.9,v 1.132 2010/10/08 12:40:16 uqs Exp $");
+__FBSDID("$FreeBSD: src/share/man/man9/style.9,v 1.134 2011/01/07 08:34:12 trasz Exp $");
 .Ed
 .Pp
 Leave another blank line before the header files.
@@ -470,9 +470,9 @@
 .Li FALLTHROUGH
 comment.
 Numerical arguments should be checked for accuracy.
-Code that cannot be reached should have a
+Code which is unreachable for non-obvious reasons may be marked /*
 .Li NOTREACHED
-comment.
+*/.
 .Bd -literal
 	while ((ch = getopt(argc, argv, "abNn:")) != -1)
 		switch (ch) {		/* Indent the switch. */
@@ -496,7 +496,6 @@
 		case '?':
 		default:
 			usage();
-			/* NOTREACHED */
 		}
 	argc -= optind;
 	argv += optind;

==== //depot/projects/smpng/share/man/man9/swi.9#2 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/swi.9,v 1.14 2004/12/29 04:29:06 jkoshy Exp $
+.\" $FreeBSD: src/share/man/man9/swi.9,v 1.15 2011/01/06 21:14:34 jhb Exp $
 .\"
 .Dd October 30, 2000
 .Dt SWI 9
@@ -179,10 +179,8 @@
 .It Bq Er EINVAL
 The
 .Fa flags
-argument specifies either
-.Dv INTR_ENTROPY
-or
-.Dv INTR_FAST .
+argument specifies
+.Dv INTR_ENTROPY .
 .It Bq Er EINVAL
 The
 .Fa ithdp

==== //depot/projects/smpng/sys/amd64/include/elf.h#11 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/elf.h,v 1.24 2010/08/17 08:55:45 kib Exp $
+ * $FreeBSD: src/sys/amd64/include/elf.h,v 1.25 2011/01/07 14:22:34 kib Exp $
  */
 
 #ifndef _MACHINE_ELF_H_
@@ -94,8 +94,9 @@
 #define	AT_NCPUS	19	/* Number of CPUs. */
 #define	AT_PAGESIZES	20	/* Pagesizes. */
 #define	AT_PAGESIZESLEN	21	/* Number of pagesizes. */
+#define	AT_STACKPROT	23	/* Initial stack protection. */
 
-#define	AT_COUNT	22	/* Count of defined aux entry types. */
+#define	AT_COUNT	24	/* Count of defined aux entry types. */
 
 /*
  * Relocation types.

==== //depot/projects/smpng/sys/arm/at91/at91_st.c#11 (text) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91_st.c,v 1.10 2008/11/25 00:13:26 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91_st.c,v 1.11 2011/01/05 23:45:07 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -77,11 +77,7 @@
 static struct timecounter at91st_timecounter = {
 	at91st_get_timecount, /* get_timecount */
 	NULL, /* no poll_pps */
-#ifdef SKYEYE_WORKAROUNDS
-	0xffffffffu, /* counter_mask */
-#else
 	0xfffffu, /* counter_mask */
-#endif
 	32768, /* frequency */
 	"AT91RM9200 timer", /* name */
 	1000 /* quality */
@@ -138,18 +134,10 @@
 
 DRIVER_MODULE(at91_st, atmelarm, at91st_driver, at91st_devclass, 0, 0);
 
-#ifdef SKYEYE_WORKAROUNDS
-static unsigned long tot_count = 0;
-#endif
-
 static unsigned
 at91st_get_timecount(struct timecounter *tc)
 {
-#ifdef SKYEYE_WORKAROUNDS
-	return (tot_count);
-#else
 	return (st_crtr());
-#endif
 }
 
 /*
@@ -189,9 +177,6 @@
 
 	/* The interrupt is shared, so we have to make sure it's for us. */
 	if (RD4(ST_SR) & ST_SR_PITS) {
-#ifdef SKYEYE_WORKAROUNDS
-		tot_count += 32768 / hz;
-#endif
 		hardclock(TRAPF_USERMODE(fp), TRAPF_PC(fp));
 		return (FILTER_HANDLED);
 	}

==== //depot/projects/smpng/sys/arm/at91/at91rm9200.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91rm9200.c,v 1.1 2010/10/06 22:25:21 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91rm9200.c,v 1.2 2011/01/05 23:45:07 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -121,15 +121,11 @@
 	DEVICE("at91_ssc",   SSC2,   2),
 	DEVICE("spi",        SPI,    0),
 
-#ifndef SKYEYE_WORKAROUNDS
 	DEVICE("uart",       DBGU,   0),
 	DEVICE("uart",       USART0, 1),
 	DEVICE("uart",       USART1, 2),
 	DEVICE("uart",       USART2, 3),
 	DEVICE("uart",       USART3, 4),
-#else
-	DEVICE("uart",       USART0, 0),
-#endif
 	DEVICE("at91_aic",   AIC,    0),
 	DEVICE("at91_mc",    MC,     0),
 	DEVICE("at91_tc",    TC0,    0),

==== //depot/projects/smpng/sys/arm/at91/if_macb.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/if_macb.c,v 1.3 2010/10/15 15:00:30 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/if_macb.c,v 1.4 2011/01/06 19:32:00 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -137,7 +137,6 @@
 
 static int macb_intr_rx_locked(struct macb_softc *sc, int count);
 static void macb_intr_task(void *arg, int pending __unused);
-static void	macb_tx_task(void *arg, int pending __unused);
 static void macb_intr(void *xsc);
 
 static void
@@ -533,7 +532,7 @@
 	ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
 	macbinit_locked(sc);
 	if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
-	taskqueue_enqueue(sc->sc_tq, &sc->sc_tx_task);
+		macbstart_locked(ifp);
 }
 
 
@@ -837,6 +836,7 @@
 		return;
 	}
 
+	MACB_LOCK(sc);
 	status = read_4(sc, EMAC_ISR);
 
 	while (status) {
@@ -846,16 +846,15 @@
 		}
 
 		if (status & TCOMP_INTERRUPT) {
-			MACB_LOCK(sc);
 			macb_tx_cleanup(sc);
-			MACB_UNLOCK(sc);
 		}
 
 		status = read_4(sc, EMAC_ISR);
 	}
 
 	if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
-	taskqueue_enqueue(sc->sc_tq, &sc->sc_tx_task);
+		macbstart_locked(ifp);
+	MACB_UNLOCK(sc);
 }
 
 static inline int
@@ -1026,16 +1025,6 @@
 
 
 static void
-macb_tx_task(void *arg, int pending __unused)
-{
-	struct ifnet *ifp;
-
-	ifp = (struct ifnet *)arg;
-	macbstart(ifp);
-}
-
-
-static void
 macbstop(struct macb_softc *sc)
 {
 	struct ifnet *ifp = sc->ifp;
@@ -1392,7 +1381,6 @@
 	sc->if_flags = ifp->if_flags;
 
 	TASK_INIT(&sc->sc_intr_task, 0, macb_intr_task, sc);
-	TASK_INIT(&sc->sc_tx_task, 0, macb_tx_task, ifp);
 
 	sc->sc_tq = taskqueue_create_fast("macb_taskq", M_WAITOK,
 	    taskqueue_thread_enqueue, &sc->sc_tq);
@@ -1434,8 +1422,18 @@
 	struct macb_softc *sc;
 
 	sc = device_get_softc(dev);
+	ether_ifdetach(sc->ifp);
+	MACB_LOCK(sc);
 	macbstop(sc);
+	MACB_UNLOCK(sc);
+	callout_drain(&sc->tick_ch);
+	bus_teardown_intr(dev, sc->irq_res, sc->intrhand);
+	taskqueue_drain(sc->sc_tq, &sc->sc_intr_task);
+	taskqueue_free(sc->sc_tq);
 	macb_deactivate(dev);
+	bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq_res);
+	bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->mem_res);
+	MACB_LOCK_DESTROY(sc);
 
 	return (0);
 }

==== //depot/projects/smpng/sys/arm/at91/uart_bus_at91usart.c#5 (text) ====

@@ -26,7 +26,7 @@
 #include "opt_uart.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/uart_bus_at91usart.c,v 1.5 2009/01/22 21:56:41 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/uart_bus_at91usart.c,v 1.6 2011/01/05 23:45:07 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -76,11 +76,7 @@
 	switch (device_get_unit(dev))
 	{
 	case 0:
-#ifdef SKYEYE_WORKAROUNDS
-		device_set_desc(dev, "USART0");
-#else
 		device_set_desc(dev, "DBGU");
-#endif
 		/*
 		 * Setting sc_sysdev makes this device a 'system device' and
 		 * indirectly makes it the system console.

==== //depot/projects/smpng/sys/arm/at91/uart_cpu_at91rm9200usart.c#8 (text) ====

@@ -29,7 +29,7 @@
 #include "opt_uart.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/uart_cpu_at91rm9200usart.c,v 1.8 2010/10/06 22:25:21 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/uart_cpu_at91rm9200usart.c,v 1.9 2011/01/05 23:45:07 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -73,13 +73,8 @@
 	 * XXX: Not pretty, but will work because we map the needed addresses
 	 * early.
 	 */
-#ifdef SKYEYE_WORKAROUNDS
-	di->bas.bsh = AT91RM92_BASE + AT91RM92_USART0_BASE;
-	di->baudrate = 38400;
-#else
 	di->bas.bsh = AT91RM92_BASE + AT91RM92_DBGU_BASE;
 	di->baudrate = 115200;
-#endif
 	di->bas.regshft = 0;
 	di->bas.rclk = 0;
 	di->databits = 8;

==== //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#21 (text) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.21 2010/10/06 22:25:21 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.22 2011/01/05 23:45:07 imp Exp $");
 
 #include "opt_comconsole.h"
 
@@ -315,7 +315,6 @@
 	return (0);
 }
 
-#ifndef SKYEYE_WORKAROUNDS
 static void
 at91_getaddr(void *arg, bus_dma_segment_t *segs, int nsegs, int error)
 {
@@ -323,15 +322,12 @@
 		return;
 	*(bus_addr_t *)arg = segs[0].ds_addr;
 }
-#endif
 
 static int
 at91_usart_bus_attach(struct uart_softc *sc)
 {
-#ifndef SKYEYE_WORKAROUNDS
 	int err;
 	int i;
-#endif
 	uint32_t cr;
 	struct at91_usart_softc *atsc;
 
@@ -349,7 +345,6 @@
 		atsc->flags |= HAS_TIMEOUT;
 	WR4(&sc->sc_bas, USART_IDR, 0xffffffff);
 
-#ifndef SKYEYE_WORKAROUNDS
 	/*
 	 * Allocate DMA tags and maps
 	 */
@@ -380,7 +375,6 @@
 		atsc->ping = &atsc->ping_pong[0];
 		atsc->pong = &atsc->ping_pong[1];
 	}
-#endif
 
 	/*
 	 * Prime the pump with the RX buffer.  We use two 64 byte bounce
@@ -414,34 +408,25 @@
 		WR4(&sc->sc_bas, USART_IER, USART_CSR_RXRDY);
 	}
 	WR4(&sc->sc_bas, USART_IER, USART_CSR_RXBRK);
-#ifndef SKYEYE_WORKAROUNDS
 errout:;
 	// XXX bad
 	return (err);
-#else
-	return (0);
-#endif
 }
 
 static int
 at91_usart_bus_transmit(struct uart_softc *sc)
 {
-#ifndef SKYEYE_WORKAROUNDS
 	bus_addr_t addr;
-#endif
 	struct at91_usart_softc *atsc;
 
 	atsc = (struct at91_usart_softc *)sc;
-#ifndef SKYEYE_WORKAROUNDS
 	if (bus_dmamap_load(atsc->dmatag, atsc->tx_map, sc->sc_txbuf,
 	    sc->sc_txdatasz, at91_getaddr, &addr, 0) != 0)
 		return (EAGAIN);
 	bus_dmamap_sync(atsc->dmatag, atsc->tx_map, BUS_DMASYNC_PREWRITE);
-#endif
 
 	uart_lock(sc->sc_hwmtx);
 	sc->sc_txbusy = 1;
-#ifndef SKYEYE_WORKAROUNDS
 	/*
 	 * Setup the PDC to transfer the data and interrupt us when it
 	 * is done.  We've already requested the interrupt.
@@ -451,15 +436,6 @@
 	WR4(&sc->sc_bas, PDC_PTCR, PDC_PTCR_TXTEN);
 	WR4(&sc->sc_bas, USART_IER, USART_CSR_ENDTX);
 	uart_unlock(sc->sc_hwmtx);
-#else
-	for (int i = 0; i < sc->sc_txdatasz; i++)
-		at91_usart_putc(&sc->sc_bas, sc->sc_txbuf[i]);
-	/*
-	 * XXX: Gross hack : Skyeye doesn't raise an interrupt once the
-	 * transfer is done, so simulate it.
-	 */
-	WR4(&sc->sc_bas, USART_IER, USART_CSR_TXRDY);
-#endif
 	return (0);
 }
 static int

==== //depot/projects/smpng/sys/arm/include/elf.h#11 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/elf.h,v 1.12 2010/08/17 08:55:45 kib Exp $
+ * $FreeBSD: src/sys/arm/include/elf.h,v 1.13 2011/01/07 14:22:34 kib Exp $
  */
 
 #ifndef _MACHINE_ELF_H_
@@ -82,8 +82,9 @@
 #define	AT_NCPUS	19	/* Number of CPUs. */
 #define	AT_PAGESIZES	20	/* Pagesizes. */
 #define	AT_PAGESIZESLEN	21	/* Number of pagesizes. */
+#define	AT_STACKPROT	23	/* Initial stack protection. */
 
-#define AT_COUNT        22      /* Count of defined aux entry types. */
+#define AT_COUNT        24      /* Count of defined aux entry types. */
 
 #define	R_ARM_COUNT		33	/* Count of defined relocation types. */
 

==== //depot/projects/smpng/sys/arm/include/pmap.h#32 (text+ko) ====

@@ -44,7 +44,7 @@
  *      from: @(#)pmap.h        7.4 (Berkeley) 5/12/91
  * 	from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30
  *
- * $FreeBSD: src/sys/arm/include/pmap.h,v 1.35 2010/08/11 23:22:53 jhb Exp $
+ * $FreeBSD: src/sys/arm/include/pmap.h,v 1.36 2011/01/05 22:15:57 imp Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -336,10 +336,6 @@
 
 #endif /* ARM_NMMUS > 1 */
 
-#ifdef SKYEYE_WORKAROUNDS
-#define PMAP_NEEDS_PTE_SYNC     1
-#define PMAP_INCLUDE_PTE_SYNC
-#else
 #if (ARM_MMU_SA1 == 1) && (ARM_NMMUS == 1)
 #define	PMAP_NEEDS_PTE_SYNC	1
 #define	PMAP_INCLUDE_PTE_SYNC
@@ -349,7 +345,6 @@
 #elif (ARM_MMU_SA1 == 0)
 #define	PMAP_NEEDS_PTE_SYNC	0
 #endif
-#endif
 
 /*
  * These macros return various bits based on kernel/user and protection.

==== //depot/projects/smpng/sys/arm/mv/gpio.c#5 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/mv/gpio.c,v 1.5 2010/06/13 13:28:53 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/mv/gpio.c,v 1.6 2011/01/06 21:03:55 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -74,7 +74,7 @@
 
 static int	mv_gpio_probe(device_t);
 static int	mv_gpio_attach(device_t);
-static void	mv_gpio_intr(void *);
+static int	mv_gpio_intr(void *);
 
 static void	mv_gpio_intr_handler(int pin);
 static uint32_t	mv_gpio_reg_read(uint32_t reg);
@@ -193,8 +193,7 @@
 
 	for (i = 0; i < sc->irq_num; i++) {
 		if (bus_setup_intr(dev, sc->res[1 + i],
-		    INTR_TYPE_MISC | INTR_FAST,
-		    (driver_filter_t *)mv_gpio_intr, NULL,
+		    INTR_TYPE_MISC, mv_gpio_intr, NULL,
 		    sc, &sc->ih_cookie[i]) != 0) {
 			bus_release_resources(dev, mv_gpio_res, sc->res);
 			device_printf(dev, "could not set up intr %d\n", i);
@@ -208,7 +207,7 @@
 	return (0);
 }
 
-static void
+static int
 mv_gpio_intr(void *arg)
 {
 	uint32_t int_cause, gpio_val;
@@ -241,6 +240,8 @@
 			i++;
 		}
 	}
+
+	return (FILTER_HANDLED);
 }
 
 /*

==== //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0_clk.c#2 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/s3c2xx0/s3c24x0_clk.c,v 1.1 2010/03/20 03:39:35 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/s3c2xx0/s3c24x0_clk.c,v 1.2 2011/01/06 21:08:06 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -200,7 +200,7 @@
 	if (!irq)
 		panic("Unable to allocate the clock irq handler.\n");
 
-	err = bus_setup_intr(dev, irq, INTR_TYPE_CLK | INTR_FAST,
+	err = bus_setup_intr(dev, irq, INTR_TYPE_CLK,
 	    clock_intr, NULL, NULL, &ihl);
 	if (err != 0)
 		panic("Unable to setup the clock irq handler.\n");

==== //depot/projects/smpng/sys/boot/efi/libefi/efinet.c#6 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/efinet.c,v 1.7 2006/11/05 22:03:03 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/efinet.c,v 1.8 2011/01/06 20:50:16 marcel Exp $");
 
 #include <sys/param.h>
 #include <netinet/in.h>
@@ -262,6 +262,7 @@
 	int err, i, nifs;
 
 	sz = 0;
+	handles = NULL;
 	status = BS->LocateHandle(ByProtocol, &sn_guid, 0, &sz, 0);
 	if (status == EFI_BUFFER_TOO_SMALL) {
 		handles = (EFI_HANDLE *)malloc(sz);

==== //depot/projects/smpng/sys/boot/efi/libefi/efipart.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/efipart.c,v 1.1 2010/01/09 22:54:29 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/efipart.c,v 1.2 2011/01/06 20:50:16 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/time.h>
@@ -69,6 +69,7 @@
 	int err;
 
 	sz = 0;
+	hin = NULL;
 	status = BS->LocateHandle(ByProtocol, &blkio_guid, 0, &sz, 0);
 	if (status == EFI_BUFFER_TOO_SMALL) {
 		hin = (EFI_HANDLE *)malloc(sz * 2);

==== //depot/projects/smpng/sys/boot/ficl/Makefile#19 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/ficl/Makefile,v 1.48 2010/08/23 01:43:47 imp Exp $
+# $FreeBSD: src/sys/boot/ficl/Makefile,v 1.51 2011/01/05 22:24:33 dim Exp $
 #
 .PATH: ${.CURDIR}/${MACHINE_CPUARCH:S/amd64/i386/}
 BASE_SRCS=	dict.c ficl.c fileaccess.c float.c loader.c math64.c \
@@ -9,10 +9,7 @@
 CFLAGS+=	-ffreestanding
 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
 CFLAGS+=	-mpreferred-stack-boundary=2
-CFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -mno-sse2
-.endif
-.if ${MACHINE_CPUARCH} == "i386"
-CFLAGS+=	-mno-sse3
+CFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
 .endif
 .if ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm"
 CFLAGS+=	-msoft-float

==== //depot/projects/smpng/sys/boot/i386/Makefile.inc#11 (text+ko) ====

@@ -1,12 +1,12 @@
 # Common defines for all of /sys/boot/i386/
 #
-# $FreeBSD: src/sys/boot/i386/Makefile.inc,v 1.14 2010/08/23 01:42:09 imp Exp $
+# $FreeBSD: src/sys/boot/i386/Makefile.inc,v 1.15 2011/01/05 22:24:33 dim Exp $
 
 BINDIR?=	/boot
 
 LOADER_ADDRESS?=0x200000
 CFLAGS+=	-ffreestanding -mpreferred-stack-boundary=2 \
-		-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3
+		-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
 LDFLAGS+=	-nostdlib
 
 .if ${MACHINE_CPUARCH} == "amd64"

==== //depot/projects/smpng/sys/boot/i386/boot2/Makefile#23 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/boot2/Makefile,v 1.65 2010/09/21 21:41:45 dim Exp $
+# $FreeBSD: src/sys/boot/i386/boot2/Makefile,v 1.66 2011/01/05 21:46:08 dim Exp $
 
 .include <bsd.own.mk>
 
@@ -31,7 +31,6 @@
 	-fno-unit-at-a-time \
 	-mno-align-long-strings \
 	-mrtd \
-	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 \
 	-D${BOOT2_UFS} \
 	-DFLAGS=${BOOT_BOOT1_FLAGS} \
 	-DSIOPRT=${BOOT_COMCONSOLE_PORT} \

==== //depot/projects/smpng/sys/boot/i386/gptboot/Makefile#5 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/gptboot/Makefile,v 1.65 2010/10/08 10:27:52 pho Exp $
+# $FreeBSD: src/sys/boot/i386/gptboot/Makefile,v 1.66 2011/01/05 21:46:08 dim Exp $
 
 .PATH:		${.CURDIR}/../boot2 ${.CURDIR}/../common ${.CURDIR}/../../common
 
@@ -26,7 +26,6 @@
 	-fno-unit-at-a-time \
 	-mno-align-long-strings \
 	-mrtd \
-	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 \
 	-DGPT \
 	-D${GPTBOOT_UFS} \
 	-DSIOPRT=${BOOT_COMCONSOLE_PORT} \

==== //depot/projects/smpng/sys/boot/i386/gptzfsboot/Makefile#5 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/gptzfsboot/Makefile,v 1.5 2010/09/24 19:49:12 pjd Exp $
+# $FreeBSD: src/sys/boot/i386/gptzfsboot/Makefile,v 1.6 2011/01/05 21:46:08 dim Exp $
 
 .PATH:		${.CURDIR}/../boot2 ${.CURDIR}/../gptboot \
 		${.CURDIR}/../zfsboot ${.CURDIR}/../common \
@@ -23,7 +23,6 @@
 	-fno-unit-at-a-time \
 	-mno-align-long-strings \
 	-mrtd \
-	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 \
 	-DGPT -DBOOT2 \
 	-DSIOPRT=${BOOT_COMCONSOLE_PORT} \
 	-DSIOFMT=${B2SIOFMT} \

==== //depot/projects/smpng/sys/boot/i386/zfsboot/Makefile#5 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/zfsboot/Makefile,v 1.4 2010/09/24 19:49:12 pjd Exp $
+# $FreeBSD: src/sys/boot/i386/zfsboot/Makefile,v 1.5 2011/01/05 21:46:08 dim Exp $
 
 .PATH:		${.CURDIR}/../boot2 ${.CURDIR}/../common ${.CURDIR}/../../common
 
@@ -24,7 +24,6 @@
 	-fno-unit-at-a-time \
 	-mno-align-long-strings \
 	-mrtd \
-	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 \
 	-DBOOT2 \
 	-DFLAGS=${BOOT_BOOT1_FLAGS} \
 	-DSIOPRT=${BOOT_COMCONSOLE_PORT} \

==== //depot/projects/smpng/sys/boot/pc98/Makefile.inc#9 (text+ko) ====

@@ -1,12 +1,12 @@
 # Common defines for all of /sys/boot/pc98/
 #
-# $FreeBSD: src/sys/boot/pc98/Makefile.inc,v 1.10 2009/12/31 12:17:38 nyan Exp $
+# $FreeBSD: src/sys/boot/pc98/Makefile.inc,v 1.11 2011/01/05 22:24:33 dim Exp $
 
 BINDIR?=	/boot
 
 LOADER_ADDRESS?=0x200000
 CFLAGS+=	-ffreestanding -mpreferred-stack-boundary=2 \
-		-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 \
+		-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float \
 		-Os -DPC98
 LDFLAGS+=	-nostdlib
 

==== //depot/projects/smpng/sys/boot/pc98/boot2/Makefile#21 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/pc98/boot2/Makefile,v 1.28 2010/09/21 21:41:45 dim Exp $
+# $FreeBSD: src/sys/boot/pc98/boot2/Makefile,v 1.29 2011/01/05 21:46:08 dim Exp $
 
 .include <bsd.own.mk>
 
@@ -28,7 +28,6 @@
 	-fno-unit-at-a-time \
 	-mno-align-long-strings \
 	-mrtd \
-	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 \
 	-D${BOOT2_UFS} \
 	-DFLAGS=${BOOT_BOOT1_FLAGS} \
 	-DSIOPRT=${BOOT_COMCONSOLE_PORT} \

==== //depot/projects/smpng/sys/boot/powerpc/Makefile#5 (text+ko) ====

@@ -1,5 +1,5 @@
-# $FreeBSD: src/sys/boot/powerpc/Makefile,v 1.4 2008/10/14 03:32:41 nwhitehorn Exp $
+# $FreeBSD: src/sys/boot/powerpc/Makefile,v 1.5 2011/01/06 04:12:29 nwhitehorn Exp $
 

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


More information about the p4-projects mailing list