Date: Mon, 14 Apr 2003 08:28:30 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 28928 for review Message-ID: <200304141528.h3EFSUYj041716@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=28928 Change 28928 by jhb@jhb_laptop on 2003/04/14 08:28:28 IFC @28927. Affected files ... .. //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#14 integrate .. //depot/projects/smpng/sys/alpha/alpha/pmap.c#44 integrate .. //depot/projects/smpng/sys/alpha/include/bus.h#8 integrate .. //depot/projects/smpng/sys/alpha/include/pmap.h#15 integrate .. //depot/projects/smpng/sys/alpha/isa/isa.c#8 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#36 integrate .. //depot/projects/smpng/sys/conf/NOTES#41 integrate .. //depot/projects/smpng/sys/conf/files#71 integrate .. //depot/projects/smpng/sys/conf/files.i386#38 integrate .. //depot/projects/smpng/sys/conf/files.ia64#25 integrate .. //depot/projects/smpng/sys/conf/options#50 integrate .. //depot/projects/smpng/sys/conf/options.i386#26 integrate .. //depot/projects/smpng/sys/conf/options.ia64#13 integrate .. //depot/projects/smpng/sys/conf/options.pc98#27 integrate .. //depot/projects/smpng/sys/conf/options.powerpc#7 integrate .. //depot/projects/smpng/sys/conf/options.x86_64#5 integrate .. //depot/projects/smpng/sys/ddb/db_ps.c#18 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#41 integrate .. //depot/projects/smpng/sys/dev/adlink/adlink.c#2 integrate .. //depot/projects/smpng/sys/dev/advansys/advansys.c#4 integrate .. //depot/projects/smpng/sys/dev/advansys/adwcam.c#4 integrate .. //depot/projects/smpng/sys/dev/aha/aha.c#7 integrate .. //depot/projects/smpng/sys/dev/ahb/ahb.c#5 integrate .. //depot/projects/smpng/sys/dev/aic/aic_pccard.c#5 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_osm.c#7 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_osm.c#7 integrate .. //depot/projects/smpng/sys/dev/amd/amd.c#2 integrate .. //depot/projects/smpng/sys/dev/an/if_an.c#29 integrate .. //depot/projects/smpng/sys/dev/an/if_an_isa.c#7 integrate .. //depot/projects/smpng/sys/dev/an/if_an_pccard.c#8 integrate .. //depot/projects/smpng/sys/dev/an/if_an_pci.c#11 integrate .. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#8 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/smpng/sys/dev/awi/if_awi_pccard.c#6 integrate .. //depot/projects/smpng/sys/dev/buslogic/bt.c#7 integrate .. //depot/projects/smpng/sys/dev/ccd/ccd.c#24 integrate .. //depot/projects/smpng/sys/dev/cs/if_cs_pccard.c#4 integrate .. //depot/projects/smpng/sys/dev/dpt/dpt_scsi.c#5 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#14 integrate .. //depot/projects/smpng/sys/dev/ep/if_ep_pccard.c#7 integrate .. //depot/projects/smpng/sys/dev/fe/if_fe_pccard.c#6 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#12 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#29 integrate .. //depot/projects/smpng/sys/dev/ida/ida.c#9 integrate .. //depot/projects/smpng/sys/dev/iir/iir.c#5 integrate .. //depot/projects/smpng/sys/dev/md/md.c#34 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_freebsd.c#5 integrate .. //depot/projects/smpng/sys/dev/ncv/ncr53c500_pccard.c#9 integrate .. //depot/projects/smpng/sys/dev/pccard/pccard.c#20 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs#22 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs.h#22 integrate .. //depot/projects/smpng/sys/dev/pccard/pccardvar.h#12 integrate .. //depot/projects/smpng/sys/dev/sbsh/if_sbsh.c#1 branch .. //depot/projects/smpng/sys/dev/sbsh/if_sbshreg.h#1 branch .. //depot/projects/smpng/sys/dev/sn/if_sn_pccard.c#6 integrate .. //depot/projects/smpng/sys/dev/stg/tmc18c30_pccard.c#9 integrate .. //depot/projects/smpng/sys/dev/sym/sym_hipd.c#11 integrate .. //depot/projects/smpng/sys/dev/trm/trm.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/FILES#4 integrate .. //depot/projects/smpng/sys/dev/usb/ehci.c#1 branch .. //depot/projects/smpng/sys/dev/usb/ehci_pci.c#1 branch .. //depot/projects/smpng/sys/dev/usb/ehcireg.h#1 branch .. //depot/projects/smpng/sys/dev/usb/ehcivar.h#1 branch .. //depot/projects/smpng/sys/dev/usb/uhid.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/umass.c#22 integrate .. //depot/projects/smpng/sys/dev/usb/usb.c#19 integrate .. //depot/projects/smpng/sys/dev/usb/usb_quirks.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#28 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs.h#29 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs_data.h#29 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi.c#49 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi_pccard.c#14 integrate .. //depot/projects/smpng/sys/dev/xe/if_xe_pccard.c#6 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_denode.c#11 integrate .. //depot/projects/smpng/sys/geom/geom.h#24 integrate .. //depot/projects/smpng/sys/geom/geom_aes.c#9 integrate .. //depot/projects/smpng/sys/geom/geom_apple.c#4 integrate .. //depot/projects/smpng/sys/geom/geom_bsd.c#25 integrate .. //depot/projects/smpng/sys/geom/geom_dump.c#17 integrate .. //depot/projects/smpng/sys/geom/geom_event.c#15 integrate .. //depot/projects/smpng/sys/geom/geom_gpt.c#10 integrate .. //depot/projects/smpng/sys/geom/geom_io.c#18 integrate .. //depot/projects/smpng/sys/geom/geom_mbr.c#18 integrate .. //depot/projects/smpng/sys/geom/geom_mbr_enc.c#1 branch .. //depot/projects/smpng/sys/geom/geom_mirror.c#3 integrate .. //depot/projects/smpng/sys/geom/geom_pc98.c#16 integrate .. //depot/projects/smpng/sys/geom/geom_slice.c#17 integrate .. //depot/projects/smpng/sys/geom/geom_slice.h#10 integrate .. //depot/projects/smpng/sys/geom/geom_subr.c#23 integrate .. //depot/projects/smpng/sys/geom/geom_sunlabel.c#17 integrate .. //depot/projects/smpng/sys/geom/geom_vol_ffs.c#3 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#55 integrate .. //depot/projects/smpng/sys/i386/conf/PAE#2 integrate .. //depot/projects/smpng/sys/i386/i386/busdma_machdep.c#15 integrate .. //depot/projects/smpng/sys/i386/i386/genassym.c#21 integrate .. //depot/projects/smpng/sys/i386/i386/identcpu.c#19 integrate .. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#26 integrate .. //depot/projects/smpng/sys/i386/i386/tsc.c#4 integrate .. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#33 integrate .. //depot/projects/smpng/sys/i386/include/bus_dma.h#4 integrate .. //depot/projects/smpng/sys/ia64/ia32/syscalls.master#9 integrate .. //depot/projects/smpng/sys/ia64/ia64/busdma_machdep.c#14 integrate .. //depot/projects/smpng/sys/ia64/include/bus.h#7 integrate .. //depot/projects/smpng/sys/kern/init_main.c#32 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#28 integrate .. //depot/projects/smpng/sys/kern/kern_clock.c#25 integrate .. //depot/projects/smpng/sys/kern/kern_conf.c#19 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#18 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#60 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#55 integrate .. //depot/projects/smpng/sys/kern/kern_jail.c#25 integrate .. //depot/projects/smpng/sys/kern/kern_mutex.c#67 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#48 integrate .. //depot/projects/smpng/sys/kern/kern_resource.c#33 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#57 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#4 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#24 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#7 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#5 integrate .. //depot/projects/smpng/sys/kern/subr_smp.c#18 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#97 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#28 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#27 integrate .. //depot/projects/smpng/sys/kern/sysv_shm.c#15 integrate .. //depot/projects/smpng/sys/kern/uipc_cow.c#11 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#35 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#42 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#47 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#53 integrate .. //depot/projects/smpng/sys/modules/Makefile#48 integrate .. //depot/projects/smpng/sys/modules/sbsh/Makefile#1 branch .. //depot/projects/smpng/sys/modules/usb/Makefile#3 integrate .. //depot/projects/smpng/sys/net/route.c#11 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#36 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#30 integrate .. //depot/projects/smpng/sys/pci/if_vr.c#13 integrate .. //depot/projects/smpng/sys/pci/if_xl.c#23 integrate .. //depot/projects/smpng/sys/powerpc/include/bus.h#8 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/busdma_machdep.c#9 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#27 integrate .. //depot/projects/smpng/sys/sparc64/include/bus.h#13 integrate .. //depot/projects/smpng/sys/sparc64/include/iommuvar.h#9 integrate .. //depot/projects/smpng/sys/sparc64/include/pmap.h#23 integrate .. //depot/projects/smpng/sys/sparc64/include/tlb.h#16 integrate .. //depot/projects/smpng/sys/sparc64/pci/psycho.c#19 integrate .. //depot/projects/smpng/sys/sparc64/sbus/sbus.c#8 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/bus_machdep.c#15 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/cache.c#11 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/cheetah.c#3 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/iommu.c#14 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#47 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#37 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/spitfire.c#3 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/swtch.S#5 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/tlb.c#7 integrate .. //depot/projects/smpng/sys/sys/bio.h#15 integrate .. //depot/projects/smpng/sys/sys/diskmbr.h#5 integrate .. //depot/projects/smpng/sys/sys/jail.h#7 integrate .. //depot/projects/smpng/sys/sys/mbuf.h#21 integrate .. //depot/projects/smpng/sys/sys/mdioctl.h#6 integrate .. //depot/projects/smpng/sys/sys/param.h#37 integrate .. //depot/projects/smpng/sys/sys/proc.h#77 integrate .. //depot/projects/smpng/sys/sys/sched.h#3 integrate .. //depot/projects/smpng/sys/sys/syscall.h#28 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#28 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#30 integrate .. //depot/projects/smpng/sys/sys/timetc.h#11 integrate .. //depot/projects/smpng/sys/sys/vnode.h#31 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#26 integrate .. //depot/projects/smpng/sys/vm/pmap.h#17 integrate .. //depot/projects/smpng/sys/vm/vm_contig.c#12 integrate .. //depot/projects/smpng/sys/vm/vm_kern.c#11 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#32 integrate .. //depot/projects/smpng/sys/vm/vm_meter.c#14 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#29 integrate .. //depot/projects/smpng/sys/vm/vm_object.h#15 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#34 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#14 (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/alpha/alpha/busdma_machdep.c,v 1.34 2003/04/08 14:25:44 des Exp $ + * $FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.35 2003/04/10 23:03:32 mux Exp $ */ #include <sys/param.h> @@ -787,7 +787,7 @@ } void -_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) +_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, int op) { struct bounce_page *bpage; @@ -798,28 +798,22 @@ * want to add support for invalidating * the caches on broken hardware */ - switch (op) { - case BUS_DMASYNC_PREWRITE: + if (op & BUS_DMASYNC_PREWRITE) { while (bpage != NULL) { bcopy((void *)bpage->datavaddr, (void *)bpage->vaddr, bpage->datacount); bpage = STAILQ_NEXT(bpage, links); } - break; + } - case BUS_DMASYNC_POSTREAD: + if (op & BUS_DMASYNC_POSTREAD) { while (bpage != NULL) { bcopy((void *)bpage->vaddr, (void *)bpage->datavaddr, bpage->datacount); bpage = STAILQ_NEXT(bpage, links); } - break; - case BUS_DMASYNC_PREREAD: - case BUS_DMASYNC_POSTWRITE: - /* No-ops */ - break; } } } ==== //depot/projects/smpng/sys/alpha/alpha/pmap.c#44 (text+ko) ==== @@ -43,7 +43,7 @@ * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 * from: i386 Id: pmap.c,v 1.193 1998/04/19 15:22:48 bde Exp * with some ideas from NetBSD's alpha pmap - * $FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.121 2003/02/25 03:21:18 mux Exp $ + * $FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.122 2003/04/10 18:42:06 jhb Exp $ */ /* ==== //depot/projects/smpng/sys/alpha/include/bus.h#8 (text+ko) ==== @@ -67,7 +67,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.17 2003/02/26 02:16:05 mux Exp $ */ +/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.18 2003/04/10 23:03:32 mux Exp $ */ #ifndef _ALPHA_BUS_H_ #define _ALPHA_BUS_H_ @@ -480,16 +480,12 @@ struct uio; /* - * bus_dmasync_op_t - * * Operations performed by bus_dmamap_sync(). */ -typedef enum { - BUS_DMASYNC_PREREAD, - BUS_DMASYNC_POSTREAD, - BUS_DMASYNC_PREWRITE, - BUS_DMASYNC_POSTWRITE -} bus_dmasync_op_t; +#define BUS_DMASYNC_PREREAD 1 +#define BUS_DMASYNC_POSTREAD 2 +#define BUS_DMASYNC_PREWRITE 4 +#define BUS_DMASYNC_POSTWRITE 8 /* * bus_dma_tag_t @@ -625,7 +621,7 @@ /* * Perform a syncronization operation on the given map. */ -void _bus_dmamap_sync(bus_dma_tag_t, bus_dmamap_t, bus_dmasync_op_t); +void _bus_dmamap_sync(bus_dma_tag_t, bus_dmamap_t, int); #define bus_dmamap_sync(dmat, dmamap, op) \ if ((dmamap) != NULL) \ _bus_dmamap_sync(dmat, dmamap, op) ==== //depot/projects/smpng/sys/alpha/include/pmap.h#15 (text+ko) ==== @@ -43,7 +43,7 @@ * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp - * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.22 2003/03/29 18:22:29 gallatin Exp $ + * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.23 2003/04/10 18:42:06 jhb Exp $ */ #ifndef _MACHINE_PMAP_H_ ==== //depot/projects/smpng/sys/alpha/isa/isa.c#8 (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/alpha/isa/isa.c,v 1.29 2002/02/08 18:30:36 jhb Exp $ + * $FreeBSD: src/sys/alpha/isa/isa.c,v 1.31 2003/04/11 13:30:32 gallatin Exp $ */ #include <sys/param.h> @@ -389,17 +389,31 @@ struct resource *irq, void *cookie) { struct isa_intr *ii = cookie; + struct intrhand *ih, *handler = (struct intrhand *)ii->ih; + struct ithd *ithread = handler->ih_ithread; + int num_handlers = 0; + + mtx_lock(&ithread->it_lock); + TAILQ_FOREACH(ih, &ithread->it_handlers, ih_next) + num_handlers++; + mtx_unlock(&ithread->it_lock); + + /* + * Only disable the interrupt in hardware if there are no + * other handlers sharing it. + */ - mtx_lock_spin(&icu_lock); - isa_intr_disable(irq->r_start); - mtx_unlock_spin(&icu_lock); + if (num_handlers == 1) { + mtx_lock_spin(&icu_lock); + isa_intr_disable(irq->r_start); + mtx_unlock_spin(&icu_lock); + if (platform.isa_teardown_intr) { + platform.isa_teardown_intr(dev, child, irq, + cookie); + return 0; + } - if (platform.isa_teardown_intr) { - platform.isa_teardown_intr(dev, child, irq, cookie); - return 0; } - alpha_teardown_intr(ii->ih); - return 0; } ==== //depot/projects/smpng/sys/cam/scsi/scsi_da.c#36 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.136 2003/04/01 15:06:21 phk Exp $ + * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.137 2003/04/12 08:44:54 phk Exp $ */ #ifdef _KERNEL @@ -763,37 +763,6 @@ return; } -/* For 2.2-stable support */ -#ifndef ENOIOCTL -#define ENOIOCTL -1 -#endif - -static int -daioctl(struct disk *dp, u_long cmd, void *addr, int flag, struct thread *td) -{ - struct cam_periph *periph; - struct da_softc *softc; - int error; - - periph = (struct cam_periph *)dp->d_drv1; - if (periph == NULL) - return (ENXIO); - - softc = (struct da_softc *)periph->softc; - - CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("daioctl\n")); - - if ((error = cam_periph_lock(periph, PRIBIO|PCATCH)) != 0) { - return (error); /* error code from tsleep */ - } - - error = cam_periph_ioctl(periph, cmd, addr, daerror); - - cam_periph_unlock(periph); - - return (error); -} - static int dadump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t length) { @@ -1205,7 +1174,6 @@ softc->disk.d_open = daopen; softc->disk.d_close = daclose; softc->disk.d_strategy = dastrategy; - softc->disk.d_ioctl = daioctl; softc->disk.d_dump = dadump; softc->disk.d_name = "da"; softc->disk.d_drv1 = periph; ==== //depot/projects/smpng/sys/conf/NOTES#41 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1142 2003/03/29 05:46:34 silby Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1146 2003/04/14 14:04:07 ticso Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -568,12 +568,11 @@ options PFIL_HOOKS options TCPDEBUG -# MBUF_FRAG_TEST option allows you to tell the IP stack to -# fragment all outgoing packets into mbuf fragments of size -# net.inet.ip.mbuf_frag_size (bytes). It is used for testing -# if network drivers can properly handle long chains of mbufs. -# The sysctl is '0' (no fragmentation) by default. -options MBUF_FRAG_TEST +# The MBUF_STRESS_TEST option enables options which create +# various random failures / extreme cases related to mbuf +# functions. See the mbuf(9) manpage for a list of available +# test cases. +options MBUF_STRESS_TEST # RANDOM_IP_ID causes the ID field in IP packets to be randomized # instead of incremented by 1 with each packet generated. This @@ -1541,6 +1540,7 @@ # card which is 32-bit. # sis: Support for NICs based on the Silicon Integrated Systems SiS 900, # SiS 7016 and NS DP83815 PCI fast ethernet controller chips. +# sbsh: Support for Granch SBNI16 SHDSL modem PCI adapters # sk: Support for the SysKonnect SK-984x series PCI gigabit ethernet NICs. # This includes the SK-9841 and SK-9842 single port cards (single mode # and multimode fiber) and the SK-9843 and SK-9844 dual port cards @@ -1617,6 +1617,7 @@ device rl # RealTek 8129/8139 device pcn # AMD Am79C97x PCI 10/100 NICs device sf # Adaptec AIC-6915 (``Starfire'') +device sbsh # Granch SBNI16 SHDSL modem device sis # Silicon Integrated Systems SiS 900/SiS 7016 device ste # Sundance ST201 (D-Link DFE-550TX) device tl # Texas Instruments ThunderLAN @@ -2039,8 +2040,9 @@ options HW_WDOG # -# Disable swapping. This option removes all code which actually performs -# swapping, so it's not possible to turn it back on at run-time. +# Disable swapping of upages and stack pages. This option removes all +# code which actually performs swapping, so it's not possible to turn +# it back on at run-time. # # This is sometimes usable for systems which don't have any swap space # (see also sysctls "vm.defer_swapspace_pageouts" and @@ -2072,6 +2074,8 @@ device uhci # OHCI controller device ohci +# EHCI controller +device ehci # General USB code (mandatory for USB) device usb # ==== //depot/projects/smpng/sys/conf/files#71 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.778 2003/04/07 10:13:25 mdodd Exp $ +# $FreeBSD: src/sys/conf/files,v 1.781 2003/04/14 14:04:07 ticso Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -636,6 +636,7 @@ dev/rp/rp_isa.c optional rp isa dev/rp/rp_pci.c optional rp pci dev/sab/sab.c optional sab ebus +dev/sbsh/if_sbsh.c optional sbsh dev/scd/scd.c optional scd isa dev/scd/scd_isa.c optional scd isa dev/si/si.c optional si @@ -754,6 +755,8 @@ dev/usb/if_aue.c optional aue dev/usb/if_cue.c optional cue dev/usb/if_kue.c optional kue +dev/usb/ehci.c optional ehci +dev/usb/ehci_pci.c optional ehci dev/usb/ohci.c optional ohci dev/usb/ohci_pci.c optional ohci dev/usb/ubsa.c optional ubsa ucom @@ -897,6 +900,7 @@ geom/geom_io.c standard geom/geom_kern.c standard geom/geom_mbr.c optional geom_mbr +geom/geom_mbr_enc.c optional geom_mbr geom/geom_mirror.c optional geom_mirror geom/geom_pc98.c optional geom_pc98 geom/geom_slice.c standard ==== //depot/projects/smpng/sys/conf/files.i386#38 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.441 2003/03/24 19:40:54 mdodd Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.442 2003/04/12 08:34:40 phk Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -148,6 +148,7 @@ dev/syscons/sysmouse.c optional sc geom/geom_bsd.c standard geom/geom_mbr.c standard +geom/geom_mbr_enc.c standard gnu/i386/fpemul/div_small.s optional gpl_math_emulate \ warning "kernel contains GPL contaminated math emulator" gnu/i386/fpemul/errors.c optional gpl_math_emulate ==== //depot/projects/smpng/sys/conf/files.ia64#25 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.48 2003/02/28 21:59:13 ru Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.49 2003/04/12 08:34:40 phk Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -95,6 +95,7 @@ geom/geom_bsd.c standard geom/geom_gpt.c standard geom/geom_mbr.c standard +geom/geom_mbr_enc.c standard isa/atkbd_isa.c optional atkbd isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc ==== //depot/projects/smpng/sys/conf/options#50 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.385 2003/03/26 23:40:41 tegge Exp $ +# $FreeBSD: src/sys/conf/options,v 1.387 2003/04/12 09:40:37 des Exp $ # # On the handling of kernel options # @@ -72,7 +72,7 @@ # mapped I/O # Miscellaneous options. -ALQ opt_alq.h +ALQ ADAPTIVE_MUTEXES COMPAT_43 opt_compat.h COMPAT_FREEBSD4 opt_compat.h @@ -153,7 +153,7 @@ # SECURITY POLICY PARAMETERS # Support for Mandatory Access Control (MAC) -MAC opt_mac.h +MAC MAC_BIBA opt_dontuse.h MAC_BSDEXTENDED opt_dontuse.h MAC_DEBUG opt_mac.h @@ -349,10 +349,10 @@ IPV6FIREWALL_VERBOSE_LIMIT opt_ip6fw.h IPV6FIREWALL_DEFAULT_TO_ACCEPT opt_ip6fw.h IPSTEALTH -IPX opt_ipx.h +IPX IPXIP opt_ipx.h LIBMCHAIN -NCP opt_ncp.h +NCP NETATALK opt_atalk.h PPP_BSDCOMP opt_ppp.h PPP_DEFLATE opt_ppp.h @@ -362,7 +362,7 @@ TCPDEBUG TCP_DROP_SYNFIN opt_tcp_input.h XBONEHACK -MBUF_FRAG_TEST opt_mbuf_frag_test.h +MBUF_STRESS_TEST opt_mbuf_stress_test.h # Netgraph(4). Use option NETGRAPH to enable the base netgraph code. # Each netgraph node type can be either be compiled into the kernel @@ -417,7 +417,7 @@ # XXX Conflict: # of devices vs network protocol (Native ATM). # This makes "atm.h" unusable. -NATM opt_natm.h +NATM DPT_ALLOW_MEMIO opt_dpt.h # Allow PCI devices to use memory # mapped I/O ==== //depot/projects/smpng/sys/conf/options.i386#26 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.i386,v 1.189 2003/04/04 23:54:46 tegge Exp $ +# $FreeBSD: src/sys/conf/options.i386,v 1.191 2003/04/12 09:40:37 des Exp $ # Options specific to the i386 platform kernels MATH_EMULATE opt_math_emulate.h @@ -41,7 +41,6 @@ CLK_CALIBRATION_LOOP opt_clock.h CLK_USE_I8254_CALIBRATION opt_clock.h CLK_USE_TSC_CALIBRATION opt_clock.h -SMP_TSC opt_clock.h TIMER_FREQ opt_clock.h NO_F00F_HACK opt_cpu.h @@ -110,7 +109,7 @@ VGA_SLOW_IOACCESS opt_vga.h VGA_WIDTH90 opt_vga.h -VESA opt_vesa.h +VESA VESA_DEBUG opt_vesa.h PSM_HOOKRESUME opt_psm.h ==== //depot/projects/smpng/sys/conf/options.ia64#13 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/sys/conf/options.ia64,v 1.16 2002/11/24 19:50:15 marcel Exp $ +# $FreeBSD: src/sys/conf/options.ia64,v 1.17 2003/04/12 09:40:37 des Exp $ # Options specific to the ia64 platform kernels ITANIUM opt_global.h ITANIUM2 opt_global.h -IA32 opt_ia32.h +IA32 PAGE_SIZE_4K opt_global.h PAGE_SIZE_8K opt_global.h ==== //depot/projects/smpng/sys/conf/options.pc98#27 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.pc98,v 1.161 2003/04/03 12:39:51 nyan Exp $ +# $FreeBSD: src/sys/conf/options.pc98,v 1.162 2003/04/12 09:40:37 des Exp $ # Options specific to the pc98 platform kernels MATH_EMULATE opt_math_emulate.h @@ -94,7 +94,7 @@ SC_TWOBUTTON_MOUSE opt_syscons.h SC_NO_SUSPEND_VTYSWITCH opt_syscons.h -GDC opt_gdc.h +GDC KBD_DISABLE_KEYMAP_LOAD opt_kbd.h KBD_INSTALL_CDEV opt_kbd.h ==== //depot/projects/smpng/sys/conf/options.powerpc#7 (text+ko) ==== @@ -1,8 +1,8 @@ -# $FreeBSD: src/sys/conf/options.powerpc,v 1.6 2003/02/05 11:37:58 benno Exp $ +# $FreeBSD: src/sys/conf/options.powerpc,v 1.7 2003/04/12 09:40:37 des Exp $ # Options specific to the powerpc platform kernels OEA opt_global.h -IPKDB opt_ipkdb.h +IPKDB POWERMAC opt_platform.h -PSIM opt_psim.h +PSIM ==== //depot/projects/smpng/sys/conf/options.x86_64#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.x86_64,v 1.4 2002/11/18 06:17:07 jmallett Exp $ +# $FreeBSD: src/sys/conf/options.x86_64,v 1.5 2003/04/12 09:40:37 des Exp $ # Options specific to the AMD x86-64 platform kernels MAXMEM @@ -40,7 +40,7 @@ VGA_SLOW_IOACCESS opt_vga.h VGA_WIDTH90 opt_vga.h -VESA opt_vesa.h +VESA VESA_DEBUG opt_vesa.h ATKBD_DFLT_KEYMAP opt_atkbd.h ==== //depot/projects/smpng/sys/ddb/db_ps.c#18 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ddb/db_ps.c,v 1.40 2003/02/27 02:05:16 julian Exp $ + * $FreeBSD: src/sys/ddb/db_ps.c,v 1.41 2003/04/10 17:35:43 julian Exp $ */ #include <sys/param.h> #include <sys/systm.h> @@ -178,7 +178,7 @@ db_printf("[RUNQ]"); break; case TDS_RUNNING: - db_printf("[CPU %d]", td->td_kse->ke_oncpu); + db_printf("[CPU %d]", td->td_oncpu); break; default: panic("unknown thread state"); ==== //depot/projects/smpng/sys/dev/acpica/acpi.c#41 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.87 2003/03/06 14:40:15 takawata Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.88 2003/04/11 16:53:56 iwasaki Exp $ */ #include "opt_acpi.h" @@ -120,6 +120,7 @@ static void acpi_system_eventhandler_sleep(void *arg, int state); static void acpi_system_eventhandler_wakeup(void *arg, int state); +static int acpi_supported_sleep_state_sysctl(SYSCTL_HANDLER_ARGS); static int acpi_sleep_state_sysctl(SYSCTL_HANDLER_ARGS); static int acpi_pm_func(u_long cmd, void *arg, ...); @@ -398,6 +399,9 @@ SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, device_get_name(dev), CTLFLAG_RD, 0, ""); SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), + OID_AUTO, "supported_sleep_state", CTLTYPE_STRING | CTLFLAG_RD, + 0, 0, acpi_supported_sleep_state_sysctl, "A", ""); + SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), OID_AUTO, "power_button_state", CTLTYPE_STRING | CTLFLAG_RW, &sc->acpi_power_button_sx, 0, acpi_sleep_state_sysctl, "A", ""); SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), @@ -1914,6 +1918,25 @@ } static int +acpi_supported_sleep_state_sysctl(SYSCTL_HANDLER_ARGS) +{ + char sleep_state[4]; + char buf[16]; + int error; + UINT8 state, TypeA, TypeB; + + buf[0] = '\0'; + for (state = ACPI_STATE_S1; state < ACPI_S_STATES_MAX+1; state++) { + if (ACPI_SUCCESS(AcpiGetSleepTypeData(state, &TypeA, &TypeB))) { + sprintf(sleep_state, "S%d ", state); + strcat(buf, sleep_state); + } + } + error = sysctl_handle_string(oidp, buf, sizeof(buf), req); + return(error); +} + +static int acpi_sleep_state_sysctl(SYSCTL_HANDLER_ARGS) { char sleep_state[10]; ==== //depot/projects/smpng/sys/dev/adlink/adlink.c#2 (text+ko) ==== @@ -26,13 +26,15 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/adlink/adlink.c,v 1.1 2003/04/04 18:53:04 phk Exp $ + * $FreeBSD: src/sys/dev/adlink/adlink.c,v 1.2 2003/04/08 19:12:48 phk Exp $ */ +#ifdef _KERNEL #include <sys/param.h> #include <sys/systm.h> #include <sys/malloc.h> #include <sys/kernel.h> +#include <sys/kthread.h> #include <sys/conf.h> #include <sys/bus.h> #include <machine/bus.h> @@ -44,17 +46,54 @@ #include <vm/vm.h> #include <vm/pmap.h> +#endif /* _KERNEL */ + +#include <sys/ioccom.h> + +struct wave { + int index; + int period; + int offset; + int length; + int avg; + off_t mapvir; + int flags; + + int npages; + void **virtual; +}; + +#define ADLINK_SETWAVE _IOWR('A', 232, struct wave) +#define ADLINK_GETWAVE _IOWR('A', 233, struct wave) + +#ifdef _KERNEL + +#define INTPERPAGE (PAGE_SIZE / sizeof(int)) +#define I16PERPAGE (PAGE_SIZE / sizeof(int16_t)) + /* - * We sample one channel (= 16 bits) at 1 msps giving 2Mbyte/sec, - * 50 pages will give us about 1/10 second buffering. + * Sample rate + */ +#define SPS 1250000 + +/* + * We sample one channel (= 16 bits) at 1.25 msps giving 2.5Mbyte/sec, + * 100 pages will give us about 1/6 second buffering. */ -#define NRING 50 +#define NRING 100 -#define IN4(sc, offset) bus_space_read_4(sc->t_io, sc->h_io, offset) +/* + * How many waves are we willing to entertain + */ +#define NWAVE 25 struct info { int nring; off_t o_ring; + + int ngri; + int ppgri; + off_t o_gri; }; struct softc { @@ -64,21 +103,145 @@ bus_space_tag_t t0, t1; bus_space_handle_t h0, h1; dev_t dev; + off_t mapvir; + struct proc *procp; + struct info *info; + struct wave *wave[NWAVE]; + int idx; void *ring[NRING]; - vm_paddr_t phys[NRING]; + vm_paddr_t pring[NRING]; int stat[NRING]; + + uint64_t cnt; + + u_char flags[I16PERPAGE]; }; +static void +adlink_wave(struct softc *sc, struct wave *wp, int16_t *sp) +{ + int f, i, k, m, *ip; + + f = 0; + for (i = 0; i < I16PERPAGE; ) { + k = (sc->cnt - wp->offset + i) % wp->period; + if (k >= wp->length) { + i += wp->period - k; + sp += wp->period - k; + continue; + } + m = k % INTPERPAGE; + ip = (int *)(wp->virtual[k / INTPERPAGE]) + m; + while (m < INTPERPAGE && i < I16PERPAGE && k < wp->length) { + if (sc->flags[i] >= wp->index) + *ip += (*sp * 8 - *ip) >> wp->avg; + if (wp->flags & 1) + sc->flags[i] = wp->index; + sp++; + ip++; + m++; + i++; + k++; + } + } +} + +static void +adlink_tickle(struct softc *sc) +{ + + wakeup(sc); + tsleep(&sc->ring, PUSER | PCATCH, "tickle", 1); +} + static int +adlink_new_wave(struct softc *sc, int index, int period, int offset, int length, int avg, int flags) +{ + struct wave *wp; + int l, i; + void **oldvir, **newvir; + + if (index < 0 || index >= NWAVE) + return (EINVAL); + wp = sc->wave[index]; + if (wp == NULL) { + adlink_tickle(sc); + wp = malloc(sizeof *wp, M_DEVBUF, M_WAITOK | M_ZERO); + } + l = howmany(length, INTPERPAGE); + /* Setting a high average here to neuter the realtime bits */ + wp->avg = 31; + if (wp->npages < l) { + oldvir = wp->virtual; + adlink_tickle(sc); + newvir = malloc(sizeof(void *) * l, M_DEVBUF, M_WAITOK | M_ZERO); + if (wp->npages > 0) { + adlink_tickle(sc); + bcopy(oldvir, newvir, wp->npages * sizeof(void *)); + } + for (i = wp->npages; i < l; i++) { + adlink_tickle(sc); + newvir[i] = malloc(PAGE_SIZE, M_DEVBUF, M_WAITOK); + } + wp->virtual = newvir; + wp->npages = l; + wp->mapvir = sc->mapvir; + sc->mapvir += l * PAGE_SIZE; + } else { + oldvir = NULL; + } + wp->index = index; + wp->period = period; + wp->offset = offset; + wp->length = length; + wp->flags = flags; + + for (i = 0; i < l; i++) { + adlink_tickle(sc); + bzero(wp->virtual[i], PAGE_SIZE); + } + wp->avg = avg; + sc->wave[index] = wp; + printf("Wave[%d] {period %d, offset %d, length %d, avg %d, flags %x}\n", + wp->index, wp->period, wp->offset, wp->length, wp->avg, wp->flags); + free(oldvir, M_DEVBUF); + return (0); +} + +static void +adlink_loran(void *arg) +{ + struct softc *sc; + int idx, i; + + sc = arg; + idx = 0; + for (;;) { + while (sc->stat[idx] == 0) + msleep(sc, NULL, PRIBIO, "loran", 1); + memset(sc->flags, NWAVE, sizeof sc->flags); + for (i = 0; i < NWAVE; i++) { + if (sc->wave[i] != NULL) + adlink_wave(sc, sc->wave[i], sc->ring[idx]); + } + sc->cnt += I16PERPAGE; + sc->stat[idx] = 0; + idx++; + idx %= NRING; + } + kthread_exit(0); +} + +static int adlink_open(dev_t dev, int oflags, int devtype, struct thread *td) { >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304141528.h3EFSUYj041716>