Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jan 2006 17:16:29 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 89851 for review
Message-ID:  <200601171716.k0HHGTvq025998@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=89851

Change 89851 by jhb@jhb_slimer on 2006/01/17 17:16:05

	IFC @89850.

Affected files ...

.. //depot/projects/smpng/sys/Makefile#9 integrate
.. //depot/projects/smpng/sys/alpha/conf/GENERIC#54 integrate
.. //depot/projects/smpng/sys/alpha/include/_types.h#7 integrate
.. //depot/projects/smpng/sys/alpha/include/param.h#16 integrate
.. //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#21 integrate
.. //depot/projects/smpng/sys/amd64/conf/GENERIC#41 integrate
.. //depot/projects/smpng/sys/amd64/include/_types.h#7 integrate
.. //depot/projects/smpng/sys/amd64/include/param.h#17 integrate
.. //depot/projects/smpng/sys/arm/include/_types.h#7 integrate
.. //depot/projects/smpng/sys/arm/include/param.h#9 integrate
.. //depot/projects/smpng/sys/boot/common/module.c#7 integrate
.. //depot/projects/smpng/sys/cam/cam_periph.c#20 integrate
.. //depot/projects/smpng/sys/cam/cam_xpt.c#33 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#62 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_sa.c#25 integrate
.. //depot/projects/smpng/sys/coda/coda_vfsops.c#25 integrate
.. //depot/projects/smpng/sys/conf/NOTES#112 integrate
.. //depot/projects/smpng/sys/conf/files#163 integrate
.. //depot/projects/smpng/sys/conf/kern.post.mk#51 integrate
.. //depot/projects/smpng/sys/conf/options#112 integrate
.. //depot/projects/smpng/sys/contrib/pf/net/pf_norm.c#12 integrate
.. //depot/projects/smpng/sys/dev/acpi_support/acpi_ibm.c#7 integrate
.. //depot/projects/smpng/sys/dev/acpica/Osd/OsdSchedule.c#27 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_smbat.c#3 integrate
.. //depot/projects/smpng/sys/dev/amr/amr.c#37 integrate
.. //depot/projects/smpng/sys/dev/amr/amrreg.h#8 integrate
.. //depot/projects/smpng/sys/dev/an/if_an.c#49 integrate
.. //depot/projects/smpng/sys/dev/asr/asr.c#30 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath.c#33 integrate
.. //depot/projects/smpng/sys/dev/ath/if_athioctl.h#11 integrate
.. //depot/projects/smpng/sys/dev/ath/if_athvar.h#21 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#68 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#37 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_isa.c#15 integrate
.. //depot/projects/smpng/sys/dev/em/if_em.c#62 integrate
.. //depot/projects/smpng/sys/dev/em/if_em.h#30 integrate
.. //depot/projects/smpng/sys/dev/hme/if_hme.c#29 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#12 integrate
.. //depot/projects/smpng/sys/dev/ieee488/pcii.c#4 integrate
.. //depot/projects/smpng/sys/dev/sn/if_sn.c#26 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/ess.c#17 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/ds1.c#19 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/es137x.c#20 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/fm801.c#18 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/ich.c#38 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/maestro.c#17 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97.c#32 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/dsp.c#33 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/vchan.c#13 integrate
.. //depot/projects/smpng/sys/dev/syscons/syscons.c#53 integrate
.. //depot/projects/smpng/sys/dev/usb/ehci.c#22 integrate
.. //depot/projects/smpng/sys/dev/usb/ehci_pci.c#18 integrate
.. //depot/projects/smpng/sys/dev/usb/ehcivar.h#10 integrate
.. //depot/projects/smpng/sys/dev/usb/ohci.c#39 integrate
.. //depot/projects/smpng/sys/dev/usb/ohci_pci.c#15 integrate
.. //depot/projects/smpng/sys/dev/usb/ufoma.c#1 branch
.. //depot/projects/smpng/sys/dev/usb/uhci.c#39 integrate
.. //depot/projects/smpng/sys/dev/usb/umass.c#51 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_mem.c#6 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_quirks.c#17 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_quirks.h#6 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_subr.c#33 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#83 integrate
.. //depot/projects/smpng/sys/dev/usb/uscanner.c#31 integrate
.. //depot/projects/smpng/sys/geom/eli/g_eli.c#6 integrate
.. //depot/projects/smpng/sys/geom/eli/g_eli_ctl.c#3 integrate
.. //depot/projects/smpng/sys/geom/nop/g_nop.c#8 integrate
.. //depot/projects/smpng/sys/geom/zero/g_zero.c#3 integrate
.. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_vfsops.c#5 integrate
.. //depot/projects/smpng/sys/i386/conf/GENERIC#70 integrate
.. //depot/projects/smpng/sys/i386/i386/busdma_machdep.c#38 integrate
.. //depot/projects/smpng/sys/i386/include/_types.h#11 integrate
.. //depot/projects/smpng/sys/i386/include/param.h#17 integrate
.. //depot/projects/smpng/sys/ia64/conf/GENERIC#48 integrate
.. //depot/projects/smpng/sys/ia64/include/_types.h#9 integrate
.. //depot/projects/smpng/sys/ia64/include/param.h#19 integrate
.. //depot/projects/smpng/sys/isofs/cd9660/cd9660_vnops.c#24 integrate
.. //depot/projects/smpng/sys/kern/kern_conf.c#47 integrate
.. //depot/projects/smpng/sys/kern/kern_mutex.c#116 integrate
.. //depot/projects/smpng/sys/kern/kern_sx.c#33 integrate
.. //depot/projects/smpng/sys/kern/kern_thr.c#30 integrate
.. //depot/projects/smpng/sys/kern/md5c.c#8 integrate
.. //depot/projects/smpng/sys/kern/subr_bus.c#57 integrate
.. //depot/projects/smpng/sys/kern/subr_disk.c#27 integrate
.. //depot/projects/smpng/sys/kern/subr_lock.c#1 branch
.. //depot/projects/smpng/sys/kern/subr_taskqueue.c#28 integrate
.. //depot/projects/smpng/sys/kern/subr_turnstile.c#21 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#148 integrate
.. //depot/projects/smpng/sys/kern/tty.c#64 integrate
.. //depot/projects/smpng/sys/kern/tty_compat.c#9 integrate
.. //depot/projects/smpng/sys/kern/tty_pty.c#43 integrate
.. //depot/projects/smpng/sys/kern/uipc_socket.c#79 integrate
.. //depot/projects/smpng/sys/kern/uipc_usrreq.c#53 integrate
.. //depot/projects/smpng/sys/kern/vfs_aio.c#67 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#88 integrate
.. //depot/projects/smpng/sys/kern/vfs_default.c#44 integrate
.. //depot/projects/smpng/sys/kern/vfs_mount.c#56 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#117 integrate
.. //depot/projects/smpng/sys/libkern/gets.c#2 integrate
.. //depot/projects/smpng/sys/modules/Makefile#114 integrate
.. //depot/projects/smpng/sys/modules/ufoma/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/xfs/Makefile#2 integrate
.. //depot/projects/smpng/sys/net/if_bridge.c#21 integrate
.. //depot/projects/smpng/sys/net/if_bridgevar.h#8 integrate
.. //depot/projects/smpng/sys/net/if_ef.c#22 integrate
.. //depot/projects/smpng/sys/net/if_fwsubr.c#11 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_radiotap.h#6 integrate
.. //depot/projects/smpng/sys/netgraph/netflow/netflow.c#11 integrate
.. //depot/projects/smpng/sys/netgraph/netflow/ng_netflow.c#8 integrate
.. //depot/projects/smpng/sys/netgraph/netflow/ng_netflow.h#5 integrate
.. //depot/projects/smpng/sys/netgraph/netgraph.h#25 integrate
.. //depot/projects/smpng/sys/netgraph/ng_base.c#43 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ether.c#30 integrate
.. //depot/projects/smpng/sys/netgraph/ng_frame_relay.c#7 integrate
.. //depot/projects/smpng/sys/netgraph/ng_lmi.c#10 integrate
.. //depot/projects/smpng/sys/netgraph/ng_message.h#13 integrate
.. //depot/projects/smpng/sys/netgraph/ng_parse.c#17 integrate
.. //depot/projects/smpng/sys/netinet/if_ether.c#45 integrate
.. //depot/projects/smpng/sys/netinet/ip_fw2.c#66 integrate
.. //depot/projects/smpng/sys/netinet/ip_input.c#73 integrate
.. //depot/projects/smpng/sys/netinet/tcp_input.c#78 integrate
.. //depot/projects/smpng/sys/netinet/tcp_syncache.c#44 integrate
.. //depot/projects/smpng/sys/netinet/udp_usrreq.c#63 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_mroute.c#24 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_output.c#44 integrate
.. //depot/projects/smpng/sys/netinet6/ipcomp_input.c#7 integrate
.. //depot/projects/smpng/sys/netipx/ipx_input.c#16 integrate
.. //depot/projects/smpng/sys/netipx/spx_usrreq.c#24 integrate
.. //depot/projects/smpng/sys/netncp/ncp_conn.c#13 integrate
.. //depot/projects/smpng/sys/netsmb/smb_subr.c#16 integrate
.. //depot/projects/smpng/sys/nfs4client/nfs4_vfsops.c#14 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_lock.c#32 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#52 integrate
.. //depot/projects/smpng/sys/pc98/conf/GENERIC#60 integrate
.. //depot/projects/smpng/sys/pc98/include/_types.h#3 integrate
.. //depot/projects/smpng/sys/pc98/include/param.h#3 integrate
.. //depot/projects/smpng/sys/pccard/cardinfo.h#8 integrate
.. //depot/projects/smpng/sys/pccard/driver.h#2 delete
.. //depot/projects/smpng/sys/pccard/i82365.h#12 delete
.. //depot/projects/smpng/sys/pccard/meciareg.h#2 delete
.. //depot/projects/smpng/sys/pccard/pccard_nbk.h#4 delete
.. //depot/projects/smpng/sys/pccard/pcic_pci.h#13 delete
.. //depot/projects/smpng/sys/pccard/pcicvar.h#11 delete
.. //depot/projects/smpng/sys/pccard/slot.h#10 delete
.. //depot/projects/smpng/sys/pci/agp.c#25 integrate
.. //depot/projects/smpng/sys/pci/if_sk.c#54 integrate
.. //depot/projects/smpng/sys/pci/if_skreg.h#14 integrate
.. //depot/projects/smpng/sys/powerpc/conf/GENERIC#32 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/machdep.c#67 integrate
.. //depot/projects/smpng/sys/security/mac_bsdextended/mac_bsdextended.c#17 integrate
.. //depot/projects/smpng/sys/sparc64/conf/GENERIC#63 integrate
.. //depot/projects/smpng/sys/sparc64/include/in_cksum.h#3 integrate
.. //depot/projects/smpng/sys/sparc64/include/trap.h#10 integrate
.. //depot/projects/smpng/sys/sparc64/include/utrap.h#4 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/exception.S#15 integrate
.. //depot/projects/smpng/sys/sys/ioctl.h#7 integrate
.. //depot/projects/smpng/sys/sys/ioctl_compat.h#5 integrate
.. //depot/projects/smpng/sys/sys/lock.h#36 integrate
.. //depot/projects/smpng/sys/sys/md5.h#6 integrate
.. //depot/projects/smpng/sys/sys/mount.h#48 integrate
.. //depot/projects/smpng/sys/sys/mutex.h#61 integrate
.. //depot/projects/smpng/sys/sys/param.h#95 integrate
.. //depot/projects/smpng/sys/sys/proc.h#158 integrate
.. //depot/projects/smpng/sys/sys/select.h#9 integrate
.. //depot/projects/smpng/sys/sys/socketvar.h#48 integrate
.. //depot/projects/smpng/sys/sys/taskqueue.h#11 integrate
.. //depot/projects/smpng/sys/sys/tree.h#6 integrate
.. //depot/projects/smpng/sys/sys/ttychars.h#4 integrate
.. //depot/projects/smpng/sys/sys/ttydev.h#4 integrate
.. //depot/projects/smpng/sys/sys/turnstile.h#7 integrate
.. //depot/projects/smpng/sys/sys/vnode.h#69 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#54 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#51 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#80 integrate
.. //depot/projects/smpng/sys/ufs/ufs/ufs_quota.c#30 integrate
.. //depot/user/jhb/acpipci/Makefile#8 integrate
.. //depot/user/jhb/acpipci/alpha/conf/GENERIC#27 integrate
.. //depot/user/jhb/acpipci/alpha/include/_types.h#8 integrate
.. //depot/user/jhb/acpipci/alpha/include/param.h#13 integrate
.. //depot/user/jhb/acpipci/amd64/amd64/busdma_machdep.c#19 integrate
.. //depot/user/jhb/acpipci/amd64/conf/GENERIC#37 integrate
.. //depot/user/jhb/acpipci/amd64/include/_types.h#6 integrate
.. //depot/user/jhb/acpipci/amd64/include/param.h#16 integrate
.. //depot/user/jhb/acpipci/arm/include/_types.h#8 integrate
.. //depot/user/jhb/acpipci/arm/include/param.h#8 integrate
.. //depot/user/jhb/acpipci/boot/common/module.c#4 integrate
.. //depot/user/jhb/acpipci/cam/cam_periph.c#18 integrate
.. //depot/user/jhb/acpipci/cam/cam_xpt.c#25 integrate
.. //depot/user/jhb/acpipci/cam/scsi/scsi_da.c#30 integrate
.. //depot/user/jhb/acpipci/cam/scsi/scsi_sa.c#19 integrate
.. //depot/user/jhb/acpipci/coda/coda_vfsops.c#18 integrate
.. //depot/user/jhb/acpipci/conf/NOTES#75 integrate
.. //depot/user/jhb/acpipci/conf/files#98 integrate
.. //depot/user/jhb/acpipci/conf/kern.post.mk#38 integrate
.. //depot/user/jhb/acpipci/conf/options#65 integrate
.. //depot/user/jhb/acpipci/contrib/pf/net/pf_norm.c#11 integrate
.. //depot/user/jhb/acpipci/dev/acpi_support/acpi_ibm.c#6 integrate
.. //depot/user/jhb/acpipci/dev/acpica/Osd/OsdSchedule.c#11 integrate
.. //depot/user/jhb/acpipci/dev/acpica/acpi_smbat.c#4 integrate
.. //depot/user/jhb/acpipci/dev/amr/amr.c#27 integrate
.. //depot/user/jhb/acpipci/dev/amr/amrreg.h#5 integrate
.. //depot/user/jhb/acpipci/dev/an/if_an.c#26 integrate
.. //depot/user/jhb/acpipci/dev/asr/asr.c#21 integrate
.. //depot/user/jhb/acpipci/dev/ath/if_ath.c#36 integrate
.. //depot/user/jhb/acpipci/dev/ath/if_athioctl.h#10 integrate
.. //depot/user/jhb/acpipci/dev/ath/if_athvar.h#21 integrate
.. //depot/user/jhb/acpipci/dev/bge/if_bge.c#48 integrate
.. //depot/user/jhb/acpipci/dev/bge/if_bgereg.h#29 integrate
.. //depot/user/jhb/acpipci/dev/ed/if_ed_isa.c#13 integrate
.. //depot/user/jhb/acpipci/dev/em/if_em.c#52 integrate
.. //depot/user/jhb/acpipci/dev/em/if_em.h#23 integrate
.. //depot/user/jhb/acpipci/dev/hme/if_hme.c#38 integrate
.. //depot/user/jhb/acpipci/dev/hwpmc/hwpmc_mod.c#10 integrate
.. //depot/user/jhb/acpipci/dev/ieee488/pcii.c#3 integrate
.. //depot/user/jhb/acpipci/dev/si/si2_z280.c#6 integrate
.. //depot/user/jhb/acpipci/dev/sn/if_sn.c#25 integrate
.. //depot/user/jhb/acpipci/dev/sound/isa/ess.c#13 integrate
.. //depot/user/jhb/acpipci/dev/sound/pci/ds1.c#14 integrate
.. //depot/user/jhb/acpipci/dev/sound/pci/es137x.c#15 integrate
.. //depot/user/jhb/acpipci/dev/sound/pci/fm801.c#15 integrate
.. //depot/user/jhb/acpipci/dev/sound/pci/ich.c#21 integrate
.. //depot/user/jhb/acpipci/dev/sound/pci/maestro.c#12 integrate
.. //depot/user/jhb/acpipci/dev/sound/pcm/ac97.c#21 integrate
.. //depot/user/jhb/acpipci/dev/sound/pcm/dsp.c#26 integrate
.. //depot/user/jhb/acpipci/dev/sound/pcm/vchan.c#11 integrate
.. //depot/user/jhb/acpipci/dev/syscons/syscons.c#30 integrate
.. //depot/user/jhb/acpipci/dev/usb/ehci.c#16 integrate
.. //depot/user/jhb/acpipci/dev/usb/ehci_pci.c#17 integrate
.. //depot/user/jhb/acpipci/dev/usb/ehcivar.h#10 integrate
.. //depot/user/jhb/acpipci/dev/usb/ohci.c#23 integrate
.. //depot/user/jhb/acpipci/dev/usb/ohci_pci.c#14 integrate
.. //depot/user/jhb/acpipci/dev/usb/ufoma.c#1 branch
.. //depot/user/jhb/acpipci/dev/usb/uhci.c#21 integrate
.. //depot/user/jhb/acpipci/dev/usb/umass.c#33 integrate
.. //depot/user/jhb/acpipci/dev/usb/usb_mem.c#6 integrate
.. //depot/user/jhb/acpipci/dev/usb/usb_quirks.c#15 integrate
.. //depot/user/jhb/acpipci/dev/usb/usb_quirks.h#6 integrate
.. //depot/user/jhb/acpipci/dev/usb/usb_subr.c#21 integrate
.. //depot/user/jhb/acpipci/dev/usb/usbdevs#52 integrate
.. //depot/user/jhb/acpipci/dev/usb/uscanner.c#23 integrate
.. //depot/user/jhb/acpipci/geom/eli/g_eli.c#7 integrate
.. //depot/user/jhb/acpipci/geom/eli/g_eli_ctl.c#3 integrate
.. //depot/user/jhb/acpipci/geom/nop/g_nop.c#8 integrate
.. //depot/user/jhb/acpipci/geom/zero/g_zero.c#3 integrate
.. //depot/user/jhb/acpipci/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate
.. //depot/user/jhb/acpipci/i386/conf/GENERIC#44 integrate
.. //depot/user/jhb/acpipci/i386/i386/busdma_machdep.c#25 integrate
.. //depot/user/jhb/acpipci/i386/include/_types.h#11 integrate
.. //depot/user/jhb/acpipci/i386/include/param.h#12 integrate
.. //depot/user/jhb/acpipci/ia64/conf/GENERIC#23 integrate
.. //depot/user/jhb/acpipci/ia64/include/_types.h#10 integrate
.. //depot/user/jhb/acpipci/ia64/include/param.h#14 integrate
.. //depot/user/jhb/acpipci/isofs/cd9660/cd9660_vnops.c#21 integrate
.. //depot/user/jhb/acpipci/kern/kern_conf.c#34 integrate
.. //depot/user/jhb/acpipci/kern/kern_mutex.c#31 integrate
.. //depot/user/jhb/acpipci/kern/kern_sx.c#11 integrate
.. //depot/user/jhb/acpipci/kern/kern_thr.c#22 integrate
.. //depot/user/jhb/acpipci/kern/md5c.c#7 integrate
.. //depot/user/jhb/acpipci/kern/subr_bus.c#46 integrate
.. //depot/user/jhb/acpipci/kern/subr_disk.c#16 integrate
.. //depot/user/jhb/acpipci/kern/subr_lock.c#1 branch
.. //depot/user/jhb/acpipci/kern/subr_taskqueue.c#16 integrate
.. //depot/user/jhb/acpipci/kern/subr_turnstile.c#15 integrate
.. //depot/user/jhb/acpipci/kern/subr_witness.c#50 integrate
.. //depot/user/jhb/acpipci/kern/tty.c#34 integrate
.. //depot/user/jhb/acpipci/kern/tty_compat.c#8 integrate
.. //depot/user/jhb/acpipci/kern/tty_pty.c#30 integrate
.. //depot/user/jhb/acpipci/kern/uipc_socket.c#51 integrate
.. //depot/user/jhb/acpipci/kern/uipc_usrreq.c#31 integrate
.. //depot/user/jhb/acpipci/kern/vfs_aio.c#32 integrate
.. //depot/user/jhb/acpipci/kern/vfs_bio.c#51 integrate
.. //depot/user/jhb/acpipci/kern/vfs_default.c#32 integrate
.. //depot/user/jhb/acpipci/kern/vfs_mount.c#43 integrate
.. //depot/user/jhb/acpipci/kern/vfs_subr.c#68 integrate
.. //depot/user/jhb/acpipci/libkern/gets.c#2 integrate
.. //depot/user/jhb/acpipci/modules/Makefile#72 integrate
.. //depot/user/jhb/acpipci/modules/ufoma/Makefile#1 branch
.. //depot/user/jhb/acpipci/modules/xfs/Makefile#2 integrate
.. //depot/user/jhb/acpipci/net/if_bridge.c#24 integrate
.. //depot/user/jhb/acpipci/net/if_bridgevar.h#8 integrate
.. //depot/user/jhb/acpipci/net/if_ef.c#17 integrate
.. //depot/user/jhb/acpipci/net/if_fwsubr.c#14 integrate
.. //depot/user/jhb/acpipci/net80211/ieee80211_radiotap.h#6 integrate
.. //depot/user/jhb/acpipci/netgraph/netflow/netflow.c#11 integrate
.. //depot/user/jhb/acpipci/netgraph/netflow/ng_netflow.c#8 integrate
.. //depot/user/jhb/acpipci/netgraph/netflow/ng_netflow.h#5 integrate
.. //depot/user/jhb/acpipci/netgraph/netgraph.h#24 integrate
.. //depot/user/jhb/acpipci/netgraph/ng_base.c#32 integrate
.. //depot/user/jhb/acpipci/netgraph/ng_ether.c#24 integrate
.. //depot/user/jhb/acpipci/netgraph/ng_frame_relay.c#6 integrate
.. //depot/user/jhb/acpipci/netgraph/ng_lmi.c#9 integrate
.. //depot/user/jhb/acpipci/netgraph/ng_message.h#12 integrate
.. //depot/user/jhb/acpipci/netgraph/ng_parse.c#11 integrate
.. //depot/user/jhb/acpipci/netinet/if_ether.c#31 integrate
.. //depot/user/jhb/acpipci/netinet/ip_fw2.c#59 integrate
.. //depot/user/jhb/acpipci/netinet/ip_input.c#48 integrate
.. //depot/user/jhb/acpipci/netinet/tcp_input.c#50 integrate
.. //depot/user/jhb/acpipci/netinet/tcp_syncache.c#32 integrate
.. //depot/user/jhb/acpipci/netinet/udp_usrreq.c#36 integrate
.. //depot/user/jhb/acpipci/netinet6/ip6_mroute.c#18 integrate
.. //depot/user/jhb/acpipci/netinet6/ip6_output.c#31 integrate
.. //depot/user/jhb/acpipci/netinet6/ipcomp_input.c#4 integrate
.. //depot/user/jhb/acpipci/netipx/ipx_input.c#12 integrate
.. //depot/user/jhb/acpipci/netipx/spx_usrreq.c#19 integrate
.. //depot/user/jhb/acpipci/netncp/ncp_conn.c#9 integrate
.. //depot/user/jhb/acpipci/netsmb/smb_subr.c#10 integrate
.. //depot/user/jhb/acpipci/nfs4client/nfs4_vfsops.c#12 integrate
.. //depot/user/jhb/acpipci/nfsclient/nfs_lock.c#13 integrate
.. //depot/user/jhb/acpipci/nfsclient/nfs_vfsops.c#36 integrate
.. //depot/user/jhb/acpipci/pc98/conf/GENERIC#35 integrate
.. //depot/user/jhb/acpipci/pc98/include/_types.h#3 integrate
.. //depot/user/jhb/acpipci/pc98/include/param.h#3 integrate
.. //depot/user/jhb/acpipci/pccard/cardinfo.h#4 integrate
.. //depot/user/jhb/acpipci/pccard/driver.h#2 delete
.. //depot/user/jhb/acpipci/pccard/i82365.h#5 delete
.. //depot/user/jhb/acpipci/pccard/meciareg.h#2 delete
.. //depot/user/jhb/acpipci/pccard/pccard_nbk.h#3 delete
.. //depot/user/jhb/acpipci/pccard/pcic_pci.h#4 delete
.. //depot/user/jhb/acpipci/pccard/pcicvar.h#3 delete
.. //depot/user/jhb/acpipci/pccard/slot.h#5 delete
.. //depot/user/jhb/acpipci/pci/agp.c#23 integrate
.. //depot/user/jhb/acpipci/pci/if_sk.c#42 integrate
.. //depot/user/jhb/acpipci/pci/if_skreg.h#13 integrate
.. //depot/user/jhb/acpipci/powerpc/conf/GENERIC#21 integrate
.. //depot/user/jhb/acpipci/powerpc/powerpc/machdep.c#34 integrate
.. //depot/user/jhb/acpipci/security/mac_bsdextended/mac_bsdextended.c#16 integrate
.. //depot/user/jhb/acpipci/sparc64/conf/GENERIC#36 integrate
.. //depot/user/jhb/acpipci/sparc64/include/in_cksum.h#3 integrate
.. //depot/user/jhb/acpipci/sparc64/include/trap.h#4 integrate
.. //depot/user/jhb/acpipci/sparc64/include/utrap.h#4 integrate
.. //depot/user/jhb/acpipci/sparc64/sparc64/exception.S#12 integrate
.. //depot/user/jhb/acpipci/sys/ioctl.h#6 integrate
.. //depot/user/jhb/acpipci/sys/ioctl_compat.h#5 integrate
.. //depot/user/jhb/acpipci/sys/lock.h#13 integrate
.. //depot/user/jhb/acpipci/sys/md5.h#4 integrate
.. //depot/user/jhb/acpipci/sys/mount.h#32 integrate
.. //depot/user/jhb/acpipci/sys/mutex.h#20 integrate
.. //depot/user/jhb/acpipci/sys/param.h#54 integrate
.. //depot/user/jhb/acpipci/sys/proc.h#80 integrate
.. //depot/user/jhb/acpipci/sys/select.h#7 integrate
.. //depot/user/jhb/acpipci/sys/socketvar.h#29 integrate
.. //depot/user/jhb/acpipci/sys/taskqueue.h#10 integrate
.. //depot/user/jhb/acpipci/sys/tree.h#6 integrate
.. //depot/user/jhb/acpipci/sys/ttychars.h#4 integrate
.. //depot/user/jhb/acpipci/sys/ttydev.h#4 integrate
.. //depot/user/jhb/acpipci/sys/turnstile.h#7 integrate
.. //depot/user/jhb/acpipci/sys/vnode.h#43 integrate
.. //depot/user/jhb/acpipci/ufs/ffs/ffs_snapshot.c#35 integrate
.. //depot/user/jhb/acpipci/ufs/ffs/ffs_softdep.c#30 integrate
.. //depot/user/jhb/acpipci/ufs/ffs/ffs_vfsops.c#45 integrate
.. //depot/user/jhb/acpipci/ufs/ufs/ufs_quota.c#16 integrate

Differences ...

==== //depot/projects/smpng/sys/Makefile#9 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/Makefile,v 1.33 2005/03/08 00:09:41 grog Exp $
+# $FreeBSD: src/sys/Makefile,v 1.34 2006/01/10 20:58:27 rees Exp $
 
 # The boot loader
 .if !defined(NO_BOOT)
@@ -11,7 +11,8 @@
 CSCOPEDIRS=	coda compat conf contrib crypto ddb dev fs gnu i4b isa \
 		isofs kern libkern modules net netatalk netatm netgraph \
 		netinet netinet6 netipx netkey netnatm netncp netsmb nfs \
-		pccard pci posix4 sys ufs vm ${ARCHDIR}
+		nfsclient nfs4client rpc pccard pci posix4 sys ufs vm \
+		${ARCHDIR}
 
 ARCHDIR	?=	${MACHINE}
 

==== //depot/projects/smpng/sys/alpha/conf/GENERIC#54 (text+ko) ====

@@ -18,7 +18,7 @@
 #
 # For hardware specific information check HARDWARE.TXT
 #
-# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.191 2005/11/27 23:16:58 ru Exp $
+# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.192 2006/01/10 09:19:07 phk Exp $
 
 cpu		EV4
 cpu		EV5
@@ -61,6 +61,7 @@
 options 	PSEUDOFS		# Pseudo-filesystem framework
 options 	GEOM_GPT		# GUID Partition Tables.
 options 	COMPAT_43		# Compatible with BSD 4.3 [KEEP THIS!]
+options 	COMPAT_43TTY		# BSD 4.3 TTY compat [KEEP THIS!]
 options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
 options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
 options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI

==== //depot/projects/smpng/sys/alpha/include/_types.h#7 (text+ko) ====

@@ -33,7 +33,7 @@
  *
  *	From: @(#)ansi.h	8.2 (Berkeley) 1/4/94
  *	From: @(#)types.h	8.3 (Berkeley) 1/5/94
- * $FreeBSD: src/sys/alpha/include/_types.h,v 1.7 2006/01/01 20:59:27 imp Exp $
+ * $FreeBSD: src/sys/alpha/include/_types.h,v 1.8 2006/01/09 06:05:55 imp Exp $
  */
 
 #ifndef _MACHINE__TYPES_H_
@@ -43,8 +43,6 @@
 #error this file needs sys/cdefs.h as a prerequisite
 #endif
 
-#define __PCI_REROUTE_INTERRUPT
-
 /*
  * Basic types upon which most other types are built.
  */

==== //depot/projects/smpng/sys/alpha/include/param.h#16 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/alpha/include/param.h,v 1.40 2005/12/06 13:27:20 ru Exp $ */
+/* $FreeBSD: src/sys/alpha/include/param.h,v 1.41 2006/01/09 06:05:55 imp Exp $ */
 /* From: NetBSD: param.h,v 1.20 1997/09/19 13:52:53 leo Exp */
 
 /*-
@@ -66,6 +66,8 @@
 
 #ifndef _NO_NAMESPACE_POLLUTION
 
+#define __PCI_REROUTE_INTERRUPT
+
 #ifndef _MACHINE_PARAM_H_
 #define _MACHINE_PARAM_H_
 

==== //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#21 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.72 2005/12/16 05:57:18 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.73 2006/01/14 17:22:46 scottl Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -285,8 +285,10 @@
 
 		/* Must bounce */
 
-		if ((error = alloc_bounce_zone(newtag)) != 0)
+		if ((error = alloc_bounce_zone(newtag)) != 0) {
+			free(newtag, M_DEVBUF);
 			return (error);
+		}
 		bz = newtag->bounce_zone;
 
 		if (ptoa(bz->total_bpages) < maxsize) {

==== //depot/projects/smpng/sys/amd64/conf/GENERIC#41 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.447 2005/11/27 23:16:58 ru Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.449 2006/01/12 01:20:59 obrien Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -46,10 +46,10 @@
 options 	PSEUDOFS		# Pseudo-filesystem framework
 options 	GEOM_GPT		# GUID Partition Tables.
 options 	COMPAT_43		# Needed by COMPAT_LINUX32
+options 	COMPAT_43TTY		# BSD 4.3 TTY compat [KEEP THIS!]
 options 	COMPAT_IA32		# Compatible with i386 binaries
 options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
 options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
-options 	COMPAT_LINUX32		# Compatible with i386 linux binaries 
 options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
 options 	KTRACE			# ktrace(1) support
 options 	SYSVSHM			# SYSV-style shared memory
@@ -77,6 +77,7 @@
 options 	SMP			# Symmetric MultiProcessor Kernel
 
 # Linux 32-bit ABI support
+options 	COMPAT_LINUX32		# Compatible with i386 linux binaries 
 options 	LINPROCFS		# Cannot be a module yet.
 
 # Bus support.

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

@@ -33,7 +33,7 @@
  *
  *	From: @(#)ansi.h	8.2 (Berkeley) 1/4/94
  *	From: @(#)types.h	8.3 (Berkeley) 1/5/94
- * $FreeBSD: src/sys/amd64/include/_types.h,v 1.10 2006/01/01 20:59:27 imp Exp $
+ * $FreeBSD: src/sys/amd64/include/_types.h,v 1.11 2006/01/09 06:05:56 imp Exp $
  */
 
 #ifndef _MACHINE__TYPES_H_
@@ -44,8 +44,6 @@
 #endif
 
 #define __NO_STRICT_ALIGNMENT
-#define __HAVE_ACPI
-#define __PCI_REROUTE_INTERRUPT
 
 /*
  * Basic types upon which most other types are built.

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

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)param.h	8.1 (Berkeley) 6/10/93
- * $FreeBSD: src/sys/amd64/include/param.h,v 1.19 2005/12/06 13:27:20 ru Exp $
+ * $FreeBSD: src/sys/amd64/include/param.h,v 1.20 2006/01/09 06:05:56 imp Exp $
  */
 
 /*
@@ -66,6 +66,9 @@
 
 #ifndef _NO_NAMESPACE_POLLUTION
 
+#define __HAVE_ACPI
+#define __PCI_REROUTE_INTERRUPT
+
 #ifndef _MACHINE_PARAM_H_
 #define	_MACHINE_PARAM_H_
 

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

@@ -33,7 +33,7 @@
  *
  *	From: @(#)ansi.h	8.2 (Berkeley) 1/4/94
  *	From: @(#)types.h	8.3 (Berkeley) 1/5/94
- * $FreeBSD: src/sys/arm/include/_types.h,v 1.7 2006/01/01 20:59:27 imp Exp $
+ * $FreeBSD: src/sys/arm/include/_types.h,v 1.8 2006/01/09 06:05:56 imp Exp $
  */
 
 #ifndef _MACHINE__TYPES_H_
@@ -43,8 +43,6 @@
 #error this file needs sys/cdefs.h as a prerequisite
 #endif
 
-#define __PCI_REROUTE_INTERRUPT
-
 /*
  * Basic types upon which most other types are built.
  */

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

@@ -35,7 +35,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)param.h	5.8 (Berkeley) 6/28/91
- * $FreeBSD: src/sys/arm/include/param.h,v 1.10 2005/12/06 13:27:20 ru Exp $
+ * $FreeBSD: src/sys/arm/include/param.h,v 1.11 2006/01/09 06:05:56 imp Exp $
  */
 
 /*
@@ -59,6 +59,8 @@
 
 #ifndef _NO_NAMESPACE_POLLUTION
 
+#define __PCI_REROUTE_INTERRUPT
+
 #ifndef _MACHINE_PARAM_H_
 #define	_MACHINE_PARAM_H_
 

==== //depot/projects/smpng/sys/boot/common/module.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/common/module.c,v 1.25 2003/08/25 23:30:41 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/common/module.c,v 1.26 2006/01/12 13:18:49 marius Exp $");
 
 /*
  * file/module function dispatcher, support, etc.
@@ -864,7 +864,8 @@
     if (mdp->d_hints != NULL || (mdp->d_flags & MDIR_NOHINTS))
 	return;
     path = moduledir_fullpath(mdp, "linker.hints");
-    if (stat(path, &st) != 0 || st.st_size < (sizeof(version) + sizeof(int)) ||
+    if (stat(path, &st) != 0 ||
+	st.st_size < (ssize_t)(sizeof(version) + sizeof(int)) ||
 	st.st_size > 100 * 1024 || (fd = open(path, O_RDONLY)) < 0) {
 	free(path);
 	mdp->d_flags |= MDIR_NOHINTS;

==== //depot/projects/smpng/sys/cam/cam_periph.c#20 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.60 2005/07/01 15:21:29 avatar Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.61 2006/01/08 20:04:55 iedowse Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1656,6 +1656,8 @@
 	case CAM_NO_HBA:
 	case CAM_PROVIDE_FAIL:
 	case CAM_REQ_TOO_BIG:
+	case CAM_LUN_INVALID:
+	case CAM_TID_INVALID:
 		error = EINVAL;
 		break;
 	case CAM_SCSI_BUS_RESET:

==== //depot/projects/smpng/sys/cam/cam_xpt.c#33 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.156 2005/09/16 01:26:17 mjacob Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.157 2006/01/11 02:06:08 iedowse Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -682,6 +682,18 @@
 
 static struct intr_config_hook *xpt_config_hook;
 
+static void dead_sim_action(struct cam_sim *sim, union ccb *ccb);
+static void dead_sim_poll(struct cam_sim *sim);
+
+/* Dummy SIM that is used when the real one has gone. */
+static struct cam_sim cam_dead_sim = {
+	.sim_action =	dead_sim_action,
+	.sim_poll =	dead_sim_poll,
+	.sim_name =	"dead_sim",
+};
+
+#define SIM_DEAD(sim)	((sim) == &cam_dead_sim)
+
 /* Registered busses */
 static TAILQ_HEAD(,cam_eb) xpt_busses;
 static u_int bus_generation;
@@ -3055,12 +3067,22 @@
 	case XPT_ENG_EXEC:
 	{
 		struct cam_path *path;
+		struct cam_sim *sim;
 		int s;
 		int runq;
 
 		path = start_ccb->ccb_h.path;
 		s = splsoftcam();
 
+		sim = path->bus->sim;
+		if (SIM_DEAD(sim)) {
+			/* The SIM has gone; just execute the CCB directly. */
+			cam_ccbq_send_ccb(&path->device->ccbq, start_ccb);
+			(*(sim->sim_action))(sim, start_ccb);
+			splx(s);
+			break;
+		}
+
 		cam_ccbq_insert_ccb(&path->device->ccbq, start_ccb);
 		if (path->device->qfrozen_cnt == 0)
 			runq = xpt_schedule_dev_sendq(path->bus, path->device);
@@ -3641,8 +3663,8 @@
 	dev->ccbq.devq_openings--;
 	dev->ccbq.dev_openings--;	
 	
-	while((devq->send_openings <= 0 || dev->ccbq.dev_openings < 0)
-	   && (--timeout > 0)) {
+	while(((devq != NULL && devq->send_openings <= 0) ||
+	   dev->ccbq.dev_openings < 0) && (--timeout > 0)) {
 		DELAY(1000);
 		(*(sim->sim_poll))(sim);
 		camisr(&cam_bioq);
@@ -3684,6 +3706,7 @@
 xpt_schedule(struct cam_periph *perph, u_int32_t new_priority)
 {
 	struct cam_ed *device;
+	union ccb *work_ccb;
 	int s;
 	int runq;
 
@@ -3702,6 +3725,16 @@
 					     new_priority);
 		}
 		runq = 0;
+	} else if (SIM_DEAD(perph->path->bus->sim)) {
+		/* The SIM is gone so just call periph_start directly. */
+		work_ccb = xpt_get_ccb(perph->path->device);
+		splx(s);
+		if (work_ccb == NULL)
+			return; /* XXX */
+		xpt_setup_ccb(&work_ccb->ccb_h, perph->path, new_priority);
+		perph->pinfo.priority = new_priority;
+		perph->periph_start(perph, work_ccb);
+		return;
 	} else {
 		/* New entry on the queue */
 		CAM_DEBUG(perph->path, CAM_DEBUG_SUBTRACE,
@@ -4337,6 +4370,10 @@
 	} else {
 		SLIST_INSERT_HEAD(&ccb_freeq, &free_ccb->ccb_h, xpt_links.sle);
 	}
+	if (bus->sim->devq == NULL) {
+		splx(s);
+		return;
+	}
 	bus->sim->devq->alloc_openings++;
 	bus->sim->devq->alloc_active--;
 	/* XXX Turn this into an inline function - xpt_run_device?? */
@@ -4422,6 +4459,12 @@
 xpt_bus_deregister(path_id_t pathid)
 {
 	struct cam_path bus_path;
+	struct cam_ed *device;
+	struct cam_ed_qinfo *qinfo;
+	struct cam_devq *devq;
+	struct cam_periph *periph;
+	struct cam_sim *ccbsim;
+	union ccb *work_ccb;
 	cam_status status;
 
 	GIANT_REQUIRED;
@@ -4433,11 +4476,51 @@
 
 	xpt_async(AC_LOST_DEVICE, &bus_path, NULL);
 	xpt_async(AC_PATH_DEREGISTERED, &bus_path, NULL);
-	
+
+	/* The SIM may be gone, so use a dummy SIM for any stray operations. */
+	devq = bus_path.bus->sim->devq;
+	bus_path.bus->sim = &cam_dead_sim;
+
+	/* Execute any pending operations now. */
+	while ((qinfo = (struct cam_ed_qinfo *)camq_remove(&devq->send_queue,
+	    CAMQ_HEAD)) != NULL ||
+	    (qinfo = (struct cam_ed_qinfo *)camq_remove(&devq->alloc_queue,
+	    CAMQ_HEAD)) != NULL) {
+		do {
+			device = qinfo->device;
+			work_ccb = cam_ccbq_peek_ccb(&device->ccbq, CAMQ_HEAD);
+			if (work_ccb != NULL) {
+				devq->active_dev = device;
+				cam_ccbq_remove_ccb(&device->ccbq, work_ccb);
+				cam_ccbq_send_ccb(&device->ccbq, work_ccb);
+				ccbsim = work_ccb->ccb_h.path->bus->sim;
+				(*(ccbsim->sim_action))(ccbsim, work_ccb);
+			}
+
+			periph = (struct cam_periph *)camq_remove(&device->drvq,
+			    CAMQ_HEAD);
+			if (periph != NULL)
+				xpt_schedule(periph, periph->pinfo.priority);
+		} while (work_ccb != NULL || periph != NULL);
+	}
+
+	/* Make sure all completed CCBs are processed. */
+	while (!TAILQ_EMPTY(&cam_bioq)) {
+		camisr(&cam_bioq);
+
+		/* Repeat the async's for the benefit of any new devices. */
+		xpt_async(AC_LOST_DEVICE, &bus_path, NULL);
+		xpt_async(AC_PATH_DEREGISTERED, &bus_path, NULL);
+	}
+
 	/* Release the reference count held while registered. */
 	xpt_release_bus(bus_path.bus);
 	xpt_release_path(&bus_path);
 
+	/* Recheck for more completed CCBs. */
+	while (!TAILQ_EMPTY(&cam_bioq))
+		camisr(&cam_bioq);
+
 	return (CAM_REQ_CMP);
 }
 
@@ -5021,6 +5104,9 @@
 	struct	   cam_devq *devq;
 	cam_status status;
 
+	if (SIM_DEAD(bus->sim))
+		return (NULL);
+
 	/* Make space for us in the device queue on our bus */
 	devq = bus->sim->devq;
 	status = cam_devq_resize(devq, devq->alloc_queue.array_size + 1);
@@ -5131,9 +5217,11 @@
 		TAILQ_REMOVE(&target->ed_entries, device,links);
 		target->generation++;
 		xpt_max_ccbs -= device->ccbq.devq_openings;
-		/* Release our slot in the devq */
-		devq = bus->sim->devq;
-		cam_devq_resize(devq, devq->alloc_queue.array_size - 1);
+		if (!SIM_DEAD(bus->sim)) {
+			/* Release our slot in the devq */
+			devq = bus->sim->devq;
+			cam_devq_resize(devq, devq->alloc_queue.array_size - 1);
+		}
 		splx(s);
 		camq_fini(&device->drvq);
 		camq_fini(&device->ccbq.queue);
@@ -7096,8 +7184,10 @@
 			s = splcam();
 			cam_ccbq_ccb_done(&dev->ccbq, (union ccb *)ccb_h);
 
-			ccb_h->path->bus->sim->devq->send_active--;
-			ccb_h->path->bus->sim->devq->send_openings++;
+			if (!SIM_DEAD(ccb_h->path->bus->sim)) {
+				ccb_h->path->bus->sim->devq->send_active--;
+				ccb_h->path->bus->sim->devq->send_openings++;
+			}
 			splx(s);
 			
 			if (((dev->flags & CAM_DEV_REL_ON_COMPLETE) != 0
@@ -7145,3 +7235,16 @@
 	}
 	splx(s);
 }
+
+static void
+dead_sim_action(struct cam_sim *sim, union ccb *ccb)
+{
+
+	ccb->ccb_h.status = CAM_DEV_NOT_THERE;
+	xpt_done(ccb);
+}
+ 
+static void
+dead_sim_poll(struct cam_sim *sim)
+{
+}

==== //depot/projects/smpng/sys/cam/scsi/scsi_da.c#62 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.183 2005/12/19 03:43:48 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.184 2006/01/13 11:33:40 mnag Exp $");
 
 #include <sys/param.h>
 
@@ -363,6 +363,22 @@
 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Motorola" , "Motorola Phone",
 		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
 	},
+	{
+		/*
+		 * Qware BeatZkey! Pro
+		 * PR: usb/79164
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "GENERIC", "USB DISK DEVICE",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
+	},
+	{
+		/*
+		 * Time DPA20B 1GB MP3 Player
+		 * PR: usb/81846
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "USB2.0*", "(FS) FLASH DISK*",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
+	},
 };
 
 static	disk_strategy_t	dastrategy;

==== //depot/projects/smpng/sys/cam/scsi/scsi_sa.c#25 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.105 2005/07/01 15:21:30 avatar Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.106 2006/01/14 14:32:41 mjacob Exp $");
 
 #include <sys/param.h>
 #include <sys/queue.h>
@@ -44,6 +44,7 @@
 #ifdef _KERNEL
 #include <sys/conf.h>
 #endif
+#include <sys/fcntl.h>
 #include <sys/devicestat.h>
 
 #ifndef _KERNEL
@@ -255,8 +256,10 @@
 	 * Misc other flags/state
 	 */
 	u_int32_t
-				: 31,
-		ctrl_mode	: 1;	/* control device open */
+					: 29,
+		open_rdonly		: 1,	/* open read-only */
+		open_pending_mount	: 1,	/* open pending mount */
+		ctrl_mode		: 1;	/* control device open */
 };
 
 struct sa_quirk_entry {
@@ -468,23 +471,37 @@
 		cam_periph_unlock(periph);
 		return (ENXIO);
 	}
+
 	if (SA_IS_CTRL(dev)) {
 		softc->ctrl_mode = 1;
 		cam_periph_unlock(periph);
 		return (0);
 	}
 
-
 	if (softc->flags & SA_FLAG_OPEN) {
 		error = EBUSY;
 	} else if (softc->flags & SA_FLAG_INVALID) {
 		error = ENXIO;
 	} else {
 		/*
+		 * Preserve whether this is a read_only open.
+		 */
+		softc->open_rdonly = (flags & O_RDWR) == O_RDONLY;
+
+		/*
 		 * The function samount ensures media is loaded and ready.
 		 * It also does a device RESERVE if the tape isn't yet mounted.
+		 *
+		 * If the mount fails and this was a non-blocking open,
+		 * make this a 'open_pending_mount' action.
 		 */
 		error = samount(periph, flags, dev);
+		if (error && (flags & O_NONBLOCK)) {
+			softc->flags |= SA_FLAG_OPEN;
+			softc->open_pending_mount = 1;
+			cam_periph_unlock(periph);
+			return (0);
+		}
 	}
 
 	if (error) {
@@ -521,6 +538,7 @@
 		return (error);
 	}
 
+	softc->open_rdonly = 0; 
 	if (SA_IS_CTRL(dev)) {
 		softc->ctrl_mode = 0;
 		cam_periph_release(periph);
@@ -528,6 +546,14 @@
 		return (0);
 	}
 
+	if (softc->open_pending_mount) {
+		softc->flags &= ~SA_FLAG_OPEN;
+		softc->open_pending_mount = 0; 
+		cam_periph_release(periph);
+		cam_periph_unlock(periph);
+		return (0);
+	}
+
 	/*
 	 * Were we writing the tape?
 	 */
@@ -681,10 +707,32 @@
 		return;
 	}
 
+	/*
+	 * This should actually never occur as the write(2)
+	 * system call traps attempts to write to a read-only
+	 * file descriptor.
+	 */
+	if (bp->bio_cmd == BIO_WRITE && softc->open_rdonly) {
+		splx(s);
+		biofinish(bp, NULL, EBADF);
+		return;
+	}
+
 	splx(s);
 
+	if (softc->open_pending_mount) {
+		int error = samount(periph, 0, bp->bio_dev);
+		if (error) {
+			biofinish(bp, NULL, ENXIO);
+			return;
+		}
+		saprevent(periph, PR_PREVENT);
+		softc->open_pending_mount = 0;
+	}
+

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601171716.k0HHGTvq025998>