PERFORCE change 89851 for review
John Baldwin
jhb at FreeBSD.org
Tue Jan 17 09:16:34 PST 2006
http://perforce.freebsd.org/chv.cgi?CH=89851
Change 89851 by jhb at 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) <<<
More information about the p4-projects
mailing list