Date: Fri, 7 Jan 2011 16:06:29 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 187571 for review Message-ID: <201101071606.p07G6TA3097424@skunkworks.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@187571?ac=10 Change 187571 by jhb@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101071606.p07G6TA3097424>