From owner-svn-src-projects@FreeBSD.ORG Mon Dec 26 00:10:43 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 439FA106566B; Mon, 26 Dec 2011 00:10:43 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2E0818FC19; Mon, 26 Dec 2011 00:10:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pBQ0AhpI081502; Mon, 26 Dec 2011 00:10:43 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id pBQ0AgVA081482; Mon, 26 Dec 2011 00:10:42 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201112260010.pBQ0AgVA081482@svn.freebsd.org> From: Rick Macklem Date: Mon, 26 Dec 2011 00:10:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r228884 - in projects/nfsv4.1-client/sys: amd64/conf amd64/include arm/arm arm/econa arm/include boot/arm/at91/libat91 boot/forth boot/i386/boot0 boot/i386/libi386 cam/ata cam/scsi cddl... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Dec 2011 00:10:43 -0000 Author: rmacklem Date: Mon Dec 26 00:10:42 2011 New Revision: 228884 URL: http://svn.freebsd.org/changeset/base/228884 Log: Merge in an up to date kernel from head. Added: projects/nfsv4.1-client/sys/dev/cxgbe/firmware/ - copied from r228883, head/sys/dev/cxgbe/firmware/ projects/nfsv4.1-client/sys/dev/fb/splash_txt.c - copied unchanged from r228883, head/sys/dev/fb/splash_txt.c projects/nfsv4.1-client/sys/dev/viawd/ - copied from r228883, head/sys/dev/viawd/ projects/nfsv4.1-client/sys/modules/carp/ - copied from r228883, head/sys/modules/carp/ projects/nfsv4.1-client/sys/modules/cxgbe/firmware/ - copied from r228883, head/sys/modules/cxgbe/firmware/ projects/nfsv4.1-client/sys/modules/splash/txt/ - copied from r228883, head/sys/modules/splash/txt/ projects/nfsv4.1-client/sys/modules/usb/avr32dci/ - copied from r228883, head/sys/modules/usb/avr32dci/ projects/nfsv4.1-client/sys/modules/viawd/ - copied from r228883, head/sys/modules/viawd/ projects/nfsv4.1-client/sys/sys/_kstack_cache.h - copied unchanged from r228883, head/sys/sys/_kstack_cache.h Deleted: projects/nfsv4.1-client/sys/dev/cxgbe/common/t4fw_interface.h projects/nfsv4.1-client/sys/fs/ext2fs/ext2_readwrite.c projects/nfsv4.1-client/sys/libkern/gets.c projects/nfsv4.1-client/sys/modules/if_carp/ Modified: projects/nfsv4.1-client/sys/amd64/conf/NOTES projects/nfsv4.1-client/sys/amd64/include/_types.h projects/nfsv4.1-client/sys/arm/arm/irq_dispatch.S projects/nfsv4.1-client/sys/arm/arm/pmap.c projects/nfsv4.1-client/sys/arm/arm/vm_machdep.c projects/nfsv4.1-client/sys/arm/econa/ehci_ebus.c projects/nfsv4.1-client/sys/arm/econa/ohci_ec.c projects/nfsv4.1-client/sys/arm/include/_types.h projects/nfsv4.1-client/sys/arm/include/pmap.h projects/nfsv4.1-client/sys/boot/arm/at91/libat91/sd-card.c projects/nfsv4.1-client/sys/boot/forth/loader.conf projects/nfsv4.1-client/sys/boot/i386/boot0/boot0.S projects/nfsv4.1-client/sys/boot/i386/libi386/time.c projects/nfsv4.1-client/sys/cam/ata/ata_da.c projects/nfsv4.1-client/sys/cam/scsi/scsi_all.h projects/nfsv4.1-client/sys/cam/scsi/scsi_cd.c projects/nfsv4.1-client/sys/cam/scsi/scsi_da.c projects/nfsv4.1-client/sys/cam/scsi/scsi_target.c projects/nfsv4.1-client/sys/cam/scsi/scsi_xpt.c projects/nfsv4.1-client/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/nfsv4.1-client/sys/conf/NOTES projects/nfsv4.1-client/sys/conf/files projects/nfsv4.1-client/sys/conf/files.amd64 projects/nfsv4.1-client/sys/conf/files.i386 projects/nfsv4.1-client/sys/conf/kern.mk projects/nfsv4.1-client/sys/conf/kern.pre.mk projects/nfsv4.1-client/sys/contrib/ngatm/netnatm/msg/uni_ie.c projects/nfsv4.1-client/sys/contrib/pf/net/if_pfsync.c projects/nfsv4.1-client/sys/ddb/db_command.c projects/nfsv4.1-client/sys/ddb/db_ps.c projects/nfsv4.1-client/sys/ddb/db_thread.c projects/nfsv4.1-client/sys/ddb/ddb.h projects/nfsv4.1-client/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l projects/nfsv4.1-client/sys/dev/aic7xxx/aicasm/aicasm_scan.l projects/nfsv4.1-client/sys/dev/an/if_an.c projects/nfsv4.1-client/sys/dev/ata/ata-pci.h projects/nfsv4.1-client/sys/dev/ata/chipsets/ata-intel.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar2133.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_gpio.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9280.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9285.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9287.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9287.h projects/nfsv4.1-client/sys/dev/ath/if_ath.c projects/nfsv4.1-client/sys/dev/bce/if_bce.c projects/nfsv4.1-client/sys/dev/bce/if_bcereg.h projects/nfsv4.1-client/sys/dev/bge/if_bge.c projects/nfsv4.1-client/sys/dev/bge/if_bgereg.h projects/nfsv4.1-client/sys/dev/bwi/if_bwi.c projects/nfsv4.1-client/sys/dev/bwn/if_bwn.c projects/nfsv4.1-client/sys/dev/bwn/if_bwnvar.h projects/nfsv4.1-client/sys/dev/bxe/bxe_reg.h projects/nfsv4.1-client/sys/dev/cfe/cfe_console.c projects/nfsv4.1-client/sys/dev/cm/smc90cx6.c projects/nfsv4.1-client/sys/dev/cpuctl/cpuctl.c projects/nfsv4.1-client/sys/dev/cxgb/common/cxgb_aq100x.c projects/nfsv4.1-client/sys/dev/cxgbe/adapter.h projects/nfsv4.1-client/sys/dev/cxgbe/common/common.h projects/nfsv4.1-client/sys/dev/cxgbe/common/t4_hw.c projects/nfsv4.1-client/sys/dev/cxgbe/common/t4_hw.h projects/nfsv4.1-client/sys/dev/cxgbe/offload.h projects/nfsv4.1-client/sys/dev/cxgbe/osdep.h projects/nfsv4.1-client/sys/dev/cxgbe/t4_ioctl.h projects/nfsv4.1-client/sys/dev/cxgbe/t4_l2t.c projects/nfsv4.1-client/sys/dev/cxgbe/t4_l2t.h projects/nfsv4.1-client/sys/dev/cxgbe/t4_main.c projects/nfsv4.1-client/sys/dev/cxgbe/t4_sge.c projects/nfsv4.1-client/sys/dev/dcons/dcons_os.c projects/nfsv4.1-client/sys/dev/de/if_de.c projects/nfsv4.1-client/sys/dev/drm/i915_drv.h projects/nfsv4.1-client/sys/dev/drm/mga_drv.h projects/nfsv4.1-client/sys/dev/e1000/e1000_80003es2lan.c projects/nfsv4.1-client/sys/dev/e1000/e1000_80003es2lan.h projects/nfsv4.1-client/sys/dev/e1000/e1000_82540.c projects/nfsv4.1-client/sys/dev/e1000/e1000_82541.c projects/nfsv4.1-client/sys/dev/e1000/e1000_82543.c projects/nfsv4.1-client/sys/dev/e1000/e1000_82571.c projects/nfsv4.1-client/sys/dev/e1000/e1000_82575.c projects/nfsv4.1-client/sys/dev/e1000/e1000_82575.h projects/nfsv4.1-client/sys/dev/e1000/e1000_api.c projects/nfsv4.1-client/sys/dev/e1000/e1000_api.h projects/nfsv4.1-client/sys/dev/e1000/e1000_defines.h projects/nfsv4.1-client/sys/dev/e1000/e1000_hw.h projects/nfsv4.1-client/sys/dev/e1000/e1000_ich8lan.c projects/nfsv4.1-client/sys/dev/e1000/e1000_ich8lan.h projects/nfsv4.1-client/sys/dev/e1000/e1000_mac.c projects/nfsv4.1-client/sys/dev/e1000/e1000_nvm.c projects/nfsv4.1-client/sys/dev/e1000/e1000_nvm.h projects/nfsv4.1-client/sys/dev/e1000/e1000_osdep.h projects/nfsv4.1-client/sys/dev/e1000/e1000_phy.c projects/nfsv4.1-client/sys/dev/e1000/e1000_phy.h projects/nfsv4.1-client/sys/dev/e1000/e1000_regs.h projects/nfsv4.1-client/sys/dev/e1000/e1000_vf.c projects/nfsv4.1-client/sys/dev/e1000/if_em.c projects/nfsv4.1-client/sys/dev/e1000/if_em.h projects/nfsv4.1-client/sys/dev/e1000/if_igb.c projects/nfsv4.1-client/sys/dev/e1000/if_igb.h projects/nfsv4.1-client/sys/dev/e1000/if_lem.c projects/nfsv4.1-client/sys/dev/e1000/if_lem.h projects/nfsv4.1-client/sys/dev/esp/ncr53c9x.c projects/nfsv4.1-client/sys/dev/fdc/fdc.c projects/nfsv4.1-client/sys/dev/fxp/if_fxp.c projects/nfsv4.1-client/sys/dev/gpio/gpioiic.c projects/nfsv4.1-client/sys/dev/hwpmc/hwpmc_core.c projects/nfsv4.1-client/sys/dev/hwpmc/hwpmc_powerpc.c projects/nfsv4.1-client/sys/dev/hwpmc/pmc_events.h projects/nfsv4.1-client/sys/dev/if_ndis/if_ndis.c projects/nfsv4.1-client/sys/dev/iicbus/iicbb.c projects/nfsv4.1-client/sys/dev/ipw/if_ipw.c projects/nfsv4.1-client/sys/dev/isp/isp_freebsd.c projects/nfsv4.1-client/sys/dev/iwi/if_iwi.c projects/nfsv4.1-client/sys/dev/iwn/if_iwn.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_osdep.h projects/nfsv4.1-client/sys/dev/ixgbe/ixv.c projects/nfsv4.1-client/sys/dev/malo/if_malo.c projects/nfsv4.1-client/sys/dev/md/md.c projects/nfsv4.1-client/sys/dev/msk/if_msk.c projects/nfsv4.1-client/sys/dev/mwl/if_mwl.c projects/nfsv4.1-client/sys/dev/netmap/if_em_netmap.h projects/nfsv4.1-client/sys/dev/netmap/if_igb_netmap.h projects/nfsv4.1-client/sys/dev/netmap/ixgbe_netmap.h projects/nfsv4.1-client/sys/dev/netmap/netmap.c projects/nfsv4.1-client/sys/dev/netmap/netmap_kern.h projects/nfsv4.1-client/sys/dev/ofw/ofw_console.c projects/nfsv4.1-client/sys/dev/pccard/pccardvar.h projects/nfsv4.1-client/sys/dev/pci/isa_pci.c projects/nfsv4.1-client/sys/dev/ral/rt2560.c projects/nfsv4.1-client/sys/dev/ral/rt2661.c projects/nfsv4.1-client/sys/dev/sio/sio.c projects/nfsv4.1-client/sys/dev/sound/pci/hda/hdac.c projects/nfsv4.1-client/sys/dev/sound/usb/uaudio.c projects/nfsv4.1-client/sys/dev/sound/usb/uaudio.h projects/nfsv4.1-client/sys/dev/speaker/spkr.c projects/nfsv4.1-client/sys/dev/spibus/spibusvar.h projects/nfsv4.1-client/sys/dev/syscons/syscons.c projects/nfsv4.1-client/sys/dev/syscons/syscons.h projects/nfsv4.1-client/sys/dev/ti/if_ti.c projects/nfsv4.1-client/sys/dev/twa/tw_osl.h projects/nfsv4.1-client/sys/dev/tws/tws.h projects/nfsv4.1-client/sys/dev/uart/uart_subr.c projects/nfsv4.1-client/sys/dev/uart/uart_tty.c projects/nfsv4.1-client/sys/dev/usb/controller/at91dci.c projects/nfsv4.1-client/sys/dev/usb/controller/at91dci.h projects/nfsv4.1-client/sys/dev/usb/controller/at91dci_atmelarm.c projects/nfsv4.1-client/sys/dev/usb/controller/atmegadci.c projects/nfsv4.1-client/sys/dev/usb/controller/atmegadci.h projects/nfsv4.1-client/sys/dev/usb/controller/atmegadci_atmelarm.c projects/nfsv4.1-client/sys/dev/usb/controller/avr32dci.c projects/nfsv4.1-client/sys/dev/usb/controller/avr32dci.h projects/nfsv4.1-client/sys/dev/usb/controller/ehci.c projects/nfsv4.1-client/sys/dev/usb/controller/ehci.h projects/nfsv4.1-client/sys/dev/usb/controller/ehci_ixp4xx.c projects/nfsv4.1-client/sys/dev/usb/controller/ehci_mv.c projects/nfsv4.1-client/sys/dev/usb/controller/ehci_pci.c projects/nfsv4.1-client/sys/dev/usb/controller/musb_otg.c projects/nfsv4.1-client/sys/dev/usb/controller/musb_otg.h projects/nfsv4.1-client/sys/dev/usb/controller/musb_otg_atmelarm.c projects/nfsv4.1-client/sys/dev/usb/controller/ohci.c projects/nfsv4.1-client/sys/dev/usb/controller/ohci.h projects/nfsv4.1-client/sys/dev/usb/controller/ohci_atmelarm.c projects/nfsv4.1-client/sys/dev/usb/controller/ohci_pci.c projects/nfsv4.1-client/sys/dev/usb/controller/ohci_s3c24x0.c projects/nfsv4.1-client/sys/dev/usb/controller/uhci.c projects/nfsv4.1-client/sys/dev/usb/controller/uhci.h projects/nfsv4.1-client/sys/dev/usb/controller/uhci_pci.c projects/nfsv4.1-client/sys/dev/usb/controller/usb_controller.c projects/nfsv4.1-client/sys/dev/usb/controller/uss820dci.c projects/nfsv4.1-client/sys/dev/usb/controller/uss820dci.h projects/nfsv4.1-client/sys/dev/usb/controller/uss820dci_atmelarm.c projects/nfsv4.1-client/sys/dev/usb/controller/xhci_pci.c projects/nfsv4.1-client/sys/dev/usb/controller/xhcireg.h projects/nfsv4.1-client/sys/dev/usb/input/ukbd.c projects/nfsv4.1-client/sys/dev/usb/net/if_axe.c projects/nfsv4.1-client/sys/dev/usb/serial/usb_serial.c projects/nfsv4.1-client/sys/dev/usb/usb_bus.h projects/nfsv4.1-client/sys/dev/usb/usb_controller.h projects/nfsv4.1-client/sys/dev/usb/usb_hub.c projects/nfsv4.1-client/sys/dev/usb/usb_if.m projects/nfsv4.1-client/sys/dev/usb/usb_transfer.c projects/nfsv4.1-client/sys/dev/usb/usbdevs projects/nfsv4.1-client/sys/dev/usb/wlan/if_rum.c projects/nfsv4.1-client/sys/dev/usb/wlan/if_run.c projects/nfsv4.1-client/sys/dev/usb/wlan/if_uath.c projects/nfsv4.1-client/sys/dev/usb/wlan/if_upgt.c projects/nfsv4.1-client/sys/dev/usb/wlan/if_ural.c projects/nfsv4.1-client/sys/dev/usb/wlan/if_urtw.c projects/nfsv4.1-client/sys/dev/usb/wlan/if_zyd.c projects/nfsv4.1-client/sys/dev/vxge/vxge-osdep.h projects/nfsv4.1-client/sys/dev/wi/if_wi.c projects/nfsv4.1-client/sys/dev/wpi/if_wpi.c projects/nfsv4.1-client/sys/dev/xen/console/console.c projects/nfsv4.1-client/sys/dev/xen/netback/netback.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_alloc.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_balloc.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_bmap.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_extern.h projects/nfsv4.1-client/sys/fs/ext2fs/ext2_inode.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_lookup.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_subr.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_vfsops.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_vnops.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2fs.h projects/nfsv4.1-client/sys/fs/ext2fs/fs.h projects/nfsv4.1-client/sys/fs/msdosfs/msdosfs_conv.c projects/nfsv4.1-client/sys/fs/nfs/nfs_commonkrpc.c projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c projects/nfsv4.1-client/sys/fs/nfsserver/nfs_nfsdport.c projects/nfsv4.1-client/sys/fs/ntfs/ntfs_subr.c projects/nfsv4.1-client/sys/fs/ntfs/ntfs_subr.h projects/nfsv4.1-client/sys/fs/ntfs/ntfs_vnops.c projects/nfsv4.1-client/sys/gdb/gdb_cons.c projects/nfsv4.1-client/sys/geom/eli/g_eli.c projects/nfsv4.1-client/sys/i386/conf/NOTES projects/nfsv4.1-client/sys/i386/i386/locore.s projects/nfsv4.1-client/sys/i386/i386/mp_machdep.c projects/nfsv4.1-client/sys/i386/i386/pmap.c projects/nfsv4.1-client/sys/i386/include/_types.h projects/nfsv4.1-client/sys/i386/include/vmparam.h projects/nfsv4.1-client/sys/i386/xen/mp_machdep.c projects/nfsv4.1-client/sys/i386/xen/pmap.c projects/nfsv4.1-client/sys/ia64/ia64/ssc.c projects/nfsv4.1-client/sys/ia64/ia64/uma_machdep.c projects/nfsv4.1-client/sys/ia64/include/_types.h projects/nfsv4.1-client/sys/kern/kern_conf.c projects/nfsv4.1-client/sys/kern/kern_cons.c projects/nfsv4.1-client/sys/kern/kern_lock.c projects/nfsv4.1-client/sys/kern/kern_mutex.c projects/nfsv4.1-client/sys/kern/kern_ntptime.c projects/nfsv4.1-client/sys/kern/kern_proc.c projects/nfsv4.1-client/sys/kern/kern_racct.c projects/nfsv4.1-client/sys/kern/kern_resource.c projects/nfsv4.1-client/sys/kern/kern_rmlock.c projects/nfsv4.1-client/sys/kern/kern_rwlock.c projects/nfsv4.1-client/sys/kern/kern_shutdown.c projects/nfsv4.1-client/sys/kern/kern_sx.c projects/nfsv4.1-client/sys/kern/kern_synch.c projects/nfsv4.1-client/sys/kern/kern_tc.c projects/nfsv4.1-client/sys/kern/kern_thr.c projects/nfsv4.1-client/sys/kern/sched_ule.c projects/nfsv4.1-client/sys/kern/subr_kdb.c projects/nfsv4.1-client/sys/kern/subr_lock.c projects/nfsv4.1-client/sys/kern/subr_witness.c projects/nfsv4.1-client/sys/kern/sys_pipe.c projects/nfsv4.1-client/sys/kern/uipc_shm.c projects/nfsv4.1-client/sys/kern/uipc_sockbuf.c projects/nfsv4.1-client/sys/kern/vfs_cache.c projects/nfsv4.1-client/sys/kern/vfs_mountroot.c projects/nfsv4.1-client/sys/kern/vfs_subr.c projects/nfsv4.1-client/sys/kern/vfs_syscalls.c projects/nfsv4.1-client/sys/kern/vnode_if.src projects/nfsv4.1-client/sys/mips/adm5120/console.c projects/nfsv4.1-client/sys/mips/atheros/ar71xx_chip.c projects/nfsv4.1-client/sys/mips/atheros/ar71xx_ehci.c projects/nfsv4.1-client/sys/mips/atheros/ar71xx_gpio.c projects/nfsv4.1-client/sys/mips/atheros/ar71xx_ohci.c projects/nfsv4.1-client/sys/mips/atheros/ar724x_chip.c projects/nfsv4.1-client/sys/mips/atheros/ar91xx_chip.c projects/nfsv4.1-client/sys/mips/cavium/octeon_machdep.c projects/nfsv4.1-client/sys/mips/cavium/usb/octusb.c projects/nfsv4.1-client/sys/mips/cavium/usb/octusb.h projects/nfsv4.1-client/sys/mips/cavium/usb/octusb_octeon.c projects/nfsv4.1-client/sys/mips/conf/AR91XX_BASE projects/nfsv4.1-client/sys/mips/conf/AR91XX_BASE.hints projects/nfsv4.1-client/sys/mips/conf/TP-WN1043ND.hints projects/nfsv4.1-client/sys/mips/include/_types.h projects/nfsv4.1-client/sys/mips/rmi/xls_ehci.c projects/nfsv4.1-client/sys/mips/rt305x/rt305x_dotg.c projects/nfsv4.1-client/sys/modules/Makefile projects/nfsv4.1-client/sys/modules/aic7xxx/ahc/ahc_pci/Makefile projects/nfsv4.1-client/sys/modules/aic7xxx/ahd/Makefile projects/nfsv4.1-client/sys/modules/asr/Makefile projects/nfsv4.1-client/sys/modules/ath/Makefile projects/nfsv4.1-client/sys/modules/cxgbe/Makefile projects/nfsv4.1-client/sys/modules/nve/Makefile projects/nfsv4.1-client/sys/modules/pfsync/Makefile projects/nfsv4.1-client/sys/modules/splash/Makefile projects/nfsv4.1-client/sys/modules/usb/Makefile projects/nfsv4.1-client/sys/net/if.c projects/nfsv4.1-client/sys/net/if.h projects/nfsv4.1-client/sys/net/if_ethersubr.c projects/nfsv4.1-client/sys/net/if_types.h projects/nfsv4.1-client/sys/net/if_var.h projects/nfsv4.1-client/sys/net/route.c projects/nfsv4.1-client/sys/net/rtsock.c projects/nfsv4.1-client/sys/net80211/ieee80211.c projects/nfsv4.1-client/sys/net80211/ieee80211_acl.c projects/nfsv4.1-client/sys/net80211/ieee80211_hostap.c projects/nfsv4.1-client/sys/net80211/ieee80211_ht.c projects/nfsv4.1-client/sys/net80211/ieee80211_ioctl.c projects/nfsv4.1-client/sys/net80211/ieee80211_mesh.c projects/nfsv4.1-client/sys/net80211/ieee80211_proto.h projects/nfsv4.1-client/sys/net80211/ieee80211_var.h projects/nfsv4.1-client/sys/netinet/if_ether.c projects/nfsv4.1-client/sys/netinet/if_ether.h projects/nfsv4.1-client/sys/netinet/in.c projects/nfsv4.1-client/sys/netinet/in_var.h projects/nfsv4.1-client/sys/netinet/ip_carp.c projects/nfsv4.1-client/sys/netinet/ip_carp.h projects/nfsv4.1-client/sys/netinet/sctp.h projects/nfsv4.1-client/sys/netinet/sctp_asconf.c projects/nfsv4.1-client/sys/netinet/sctp_asconf.h projects/nfsv4.1-client/sys/netinet/sctp_auth.c projects/nfsv4.1-client/sys/netinet/sctp_auth.h projects/nfsv4.1-client/sys/netinet/sctp_bsd_addr.c projects/nfsv4.1-client/sys/netinet/sctp_bsd_addr.h projects/nfsv4.1-client/sys/netinet/sctp_cc_functions.c projects/nfsv4.1-client/sys/netinet/sctp_constants.h projects/nfsv4.1-client/sys/netinet/sctp_crc32.h projects/nfsv4.1-client/sys/netinet/sctp_dtrace_declare.h projects/nfsv4.1-client/sys/netinet/sctp_dtrace_define.h projects/nfsv4.1-client/sys/netinet/sctp_header.h projects/nfsv4.1-client/sys/netinet/sctp_indata.c projects/nfsv4.1-client/sys/netinet/sctp_indata.h projects/nfsv4.1-client/sys/netinet/sctp_input.c projects/nfsv4.1-client/sys/netinet/sctp_input.h projects/nfsv4.1-client/sys/netinet/sctp_os.h projects/nfsv4.1-client/sys/netinet/sctp_output.c projects/nfsv4.1-client/sys/netinet/sctp_output.h projects/nfsv4.1-client/sys/netinet/sctp_pcb.c projects/nfsv4.1-client/sys/netinet/sctp_pcb.h projects/nfsv4.1-client/sys/netinet/sctp_peeloff.c projects/nfsv4.1-client/sys/netinet/sctp_peeloff.h projects/nfsv4.1-client/sys/netinet/sctp_ss_functions.c projects/nfsv4.1-client/sys/netinet/sctp_structs.h projects/nfsv4.1-client/sys/netinet/sctp_sysctl.c projects/nfsv4.1-client/sys/netinet/sctp_sysctl.h projects/nfsv4.1-client/sys/netinet/sctp_timer.c projects/nfsv4.1-client/sys/netinet/sctp_timer.h projects/nfsv4.1-client/sys/netinet/sctp_uio.h projects/nfsv4.1-client/sys/netinet/sctp_usrreq.c projects/nfsv4.1-client/sys/netinet/sctp_var.h projects/nfsv4.1-client/sys/netinet/sctputil.c projects/nfsv4.1-client/sys/netinet/sctputil.h projects/nfsv4.1-client/sys/netinet6/icmp6.c projects/nfsv4.1-client/sys/netinet6/in6.c projects/nfsv4.1-client/sys/netinet6/in6_ifattach.c projects/nfsv4.1-client/sys/netinet6/in6_proto.c projects/nfsv4.1-client/sys/netinet6/in6_var.h projects/nfsv4.1-client/sys/netinet6/ip6_mroute.c projects/nfsv4.1-client/sys/netinet6/nd6.c projects/nfsv4.1-client/sys/netinet6/nd6_nbr.c projects/nfsv4.1-client/sys/netinet6/sctp6_usrreq.c projects/nfsv4.1-client/sys/netinet6/sctp6_var.h projects/nfsv4.1-client/sys/nfs/bootp_subr.c projects/nfsv4.1-client/sys/nfsclient/nfs_krpc.c projects/nfsv4.1-client/sys/nfsserver/nfs_serv.c projects/nfsv4.1-client/sys/ofed/include/asm/types.h projects/nfsv4.1-client/sys/ofed/include/linux/types.h projects/nfsv4.1-client/sys/pc98/cbus/scterm-sck.c projects/nfsv4.1-client/sys/pc98/cbus/scvtb.c projects/nfsv4.1-client/sys/pc98/cbus/sio.c projects/nfsv4.1-client/sys/powerpc/aim/locore32.S projects/nfsv4.1-client/sys/powerpc/aim/machdep.c projects/nfsv4.1-client/sys/powerpc/aim/mmu_oea.c projects/nfsv4.1-client/sys/powerpc/aim/mmu_oea64.c projects/nfsv4.1-client/sys/powerpc/aim/trap.c projects/nfsv4.1-client/sys/powerpc/aim/uma_machdep.c projects/nfsv4.1-client/sys/powerpc/include/_types.h projects/nfsv4.1-client/sys/powerpc/include/pmap.h projects/nfsv4.1-client/sys/powerpc/include/pmc_mdep.h projects/nfsv4.1-client/sys/powerpc/include/spr.h projects/nfsv4.1-client/sys/powerpc/include/vmparam.h projects/nfsv4.1-client/sys/powerpc/mambo/mambo_console.c projects/nfsv4.1-client/sys/powerpc/ps3/ehci_ps3.c projects/nfsv4.1-client/sys/powerpc/ps3/ohci_ps3.c projects/nfsv4.1-client/sys/powerpc/ps3/ps3-hv-asm.awk projects/nfsv4.1-client/sys/powerpc/ps3/ps3-hvcall.S projects/nfsv4.1-client/sys/powerpc/ps3/ps3-hvcall.h projects/nfsv4.1-client/sys/powerpc/ps3/ps3-hvcall.master projects/nfsv4.1-client/sys/powerpc/ps3/ps3_syscons.c projects/nfsv4.1-client/sys/security/mac/mac_framework.c projects/nfsv4.1-client/sys/sparc64/include/_types.h projects/nfsv4.1-client/sys/sparc64/sparc64/vm_machdep.c projects/nfsv4.1-client/sys/sys/cdefs.h projects/nfsv4.1-client/sys/sys/cons.h projects/nfsv4.1-client/sys/sys/elf_common.h projects/nfsv4.1-client/sys/sys/libkern.h projects/nfsv4.1-client/sys/sys/mman.h projects/nfsv4.1-client/sys/sys/mutex.h projects/nfsv4.1-client/sys/sys/param.h projects/nfsv4.1-client/sys/sys/pmc.h projects/nfsv4.1-client/sys/sys/proc.h projects/nfsv4.1-client/sys/sys/sockio.h projects/nfsv4.1-client/sys/sys/stdint.h projects/nfsv4.1-client/sys/sys/systm.h projects/nfsv4.1-client/sys/sys/taskqueue.h projects/nfsv4.1-client/sys/sys/timeffc.h projects/nfsv4.1-client/sys/sys/types.h projects/nfsv4.1-client/sys/sys/vnode.h projects/nfsv4.1-client/sys/vm/swap_pager.c projects/nfsv4.1-client/sys/vm/vm_glue.c projects/nfsv4.1-client/sys/vm/vm_meter.c projects/nfsv4.1-client/sys/vm/vm_object.c projects/nfsv4.1-client/sys/xen/xenstore/xenstore.c Directory Properties: projects/nfsv4.1-client/sys/ (props changed) projects/nfsv4.1-client/sys/conf/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/ (props changed) Modified: projects/nfsv4.1-client/sys/amd64/conf/NOTES ============================================================================== --- projects/nfsv4.1-client/sys/amd64/conf/NOTES Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/amd64/conf/NOTES Mon Dec 26 00:10:42 2011 (r228884) @@ -455,9 +455,11 @@ device tpm # # ichwd: Intel ICH watchdog timer # amdsbwd: AMD SB7xx watchdog timer +# viawd: VIA south bridge watchdog timer # device ichwd device amdsbwd +device viawd # # Temperature sensors: Modified: projects/nfsv4.1-client/sys/amd64/include/_types.h ============================================================================== --- projects/nfsv4.1-client/sys/amd64/include/_types.h Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/amd64/include/_types.h Mon Dec 26 00:10:42 2011 (r228884) @@ -48,7 +48,7 @@ /* * Basic types upon which most other types are built. */ -typedef __signed char __int8_t; +typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef short __int16_t; typedef unsigned short __uint16_t; Modified: projects/nfsv4.1-client/sys/arm/arm/irq_dispatch.S ============================================================================== --- projects/nfsv4.1-client/sys/arm/arm/irq_dispatch.S Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/arm/arm/irq_dispatch.S Mon Dec 26 00:10:42 2011 (r228884) @@ -98,10 +98,9 @@ ASENTRY_NP(irq_entry) PULLFRAMEFROMSVCANDEXIT movs pc, lr /* Exit */ - .bss + .data .align 0 - .global _C_LABEL(intrnames), _C_LABEL(sintrnames) .global _C_LABEL(intrcnt), _C_LABEL(sintrcnt) _C_LABEL(intrnames): Modified: projects/nfsv4.1-client/sys/arm/arm/pmap.c ============================================================================== --- projects/nfsv4.1-client/sys/arm/arm/pmap.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/arm/arm/pmap.c Mon Dec 26 00:10:42 2011 (r228884) @@ -4039,6 +4039,7 @@ pmap_zero_page_generic(vm_paddr_t phys, * order to work without corruption when write-allocate is enabled. */ *cdst_pte = L2_S_PROTO | phys | L2_S_PROT(PTE_KERNEL, VM_PROT_WRITE); + PTE_SYNC(cdst_pte); cpu_tlb_flushD_SE(cdstp); cpu_cpwait(); if (off || size != PAGE_SIZE) Modified: projects/nfsv4.1-client/sys/arm/arm/vm_machdep.c ============================================================================== --- projects/nfsv4.1-client/sys/arm/arm/vm_machdep.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/arm/arm/vm_machdep.c Mon Dec 26 00:10:42 2011 (r228884) @@ -617,7 +617,6 @@ uma_small_alloc(uma_zone_t zone, int byt void *ret; struct arm_small_page *sp; TAILQ_HEAD(,arm_small_page) *head; - static vm_pindex_t color; vm_page_t m; *flags = UMA_SLAB_PRIV; @@ -650,8 +649,7 @@ uma_small_alloc(uma_zone_t zone, int byt if (wait & M_ZERO) pflags |= VM_ALLOC_ZERO; for (;;) { - m = vm_page_alloc(NULL, color++, - pflags | VM_ALLOC_NOOBJ); + m = vm_page_alloc(NULL, 0, pflags | VM_ALLOC_NOOBJ); if (m == NULL) { if (wait & M_NOWAIT) return (NULL); Modified: projects/nfsv4.1-client/sys/arm/econa/ehci_ebus.c ============================================================================== --- projects/nfsv4.1-client/sys/arm/econa/ehci_ebus.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/arm/econa/ehci_ebus.c Mon Dec 26 00:10:42 2011 (r228884) @@ -75,10 +75,6 @@ __FBSDID("$FreeBSD$"); static device_attach_t ehci_ebus_attach; static device_detach_t ehci_ebus_detach; -static device_shutdown_t ehci_ebus_shutdown; -static device_suspend_t ehci_ebus_suspend; -static device_resume_t ehci_ebus_resume; - static void *ih_err; @@ -86,45 +82,6 @@ static void *ih_err; #define USB_BRIDGE_INTR_MASK 0x214 static int -ehci_ebus_suspend(device_t self) -{ - ehci_softc_t *sc = device_get_softc(self); - int err; - - err = bus_generic_suspend(self); - if (err) - return (err); - ehci_suspend(sc); - return (0); -} - -static int -ehci_ebus_resume(device_t self) -{ - ehci_softc_t *sc = device_get_softc(self); - - ehci_resume(sc); - - bus_generic_resume(self); - - return (0); -} - -static int -ehci_ebus_shutdown(device_t self) -{ - ehci_softc_t *sc = device_get_softc(self); - int err; - - err = bus_generic_shutdown(self); - if (err) - return (err); - ehci_shutdown(sc); - - return (0); -} - -static int ehci_ebus_probe(device_t self) { @@ -277,17 +234,17 @@ static device_method_t ehci_methods[] = DEVMETHOD(device_probe, ehci_ebus_probe), DEVMETHOD(device_attach, ehci_ebus_attach), DEVMETHOD(device_detach, ehci_ebus_detach), - DEVMETHOD(device_suspend, ehci_ebus_suspend), - DEVMETHOD(device_resume, ehci_ebus_resume), - DEVMETHOD(device_shutdown, ehci_ebus_shutdown), + DEVMETHOD(device_suspend, bus_generic_suspend), + DEVMETHOD(device_resume, bus_generic_resume), + DEVMETHOD(device_shutdown, bus_generic_shutdown), DEVMETHOD_END }; static driver_t ehci_driver = { - "ehci", - ehci_methods, - sizeof(ehci_softc_t), + .name = "ehci", + .methods = ehci_methods, + .size = sizeof(ehci_softc_t), }; static devclass_t ehci_devclass; Modified: projects/nfsv4.1-client/sys/arm/econa/ohci_ec.c ============================================================================== --- projects/nfsv4.1-client/sys/arm/econa/ohci_ec.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/arm/econa/ohci_ec.c Mon Dec 26 00:10:42 2011 (r228884) @@ -220,15 +220,17 @@ static device_method_t ohci_methods[] = DEVMETHOD(device_probe, ohci_ec_probe), DEVMETHOD(device_attach, ohci_ec_attach), DEVMETHOD(device_detach, ohci_ec_detach), + DEVMETHOD(device_resume, bus_generic_resume), + DEVMETHOD(device_suspend, bus_generic_suspend), DEVMETHOD(device_shutdown, bus_generic_shutdown), DEVMETHOD_END }; static driver_t ohci_driver = { - "ohci", - ohci_methods, - sizeof(struct ec_ohci_softc), + .name = "ohci", + .methods = ohci_methods, + .size = sizeof(struct ec_ohci_softc), }; static devclass_t ohci_devclass; Modified: projects/nfsv4.1-client/sys/arm/include/_types.h ============================================================================== --- projects/nfsv4.1-client/sys/arm/include/_types.h Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/arm/include/_types.h Mon Dec 26 00:10:42 2011 (r228884) @@ -46,7 +46,7 @@ /* * Basic types upon which most other types are built. */ -typedef __signed char __int8_t; +typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef short __int16_t; typedef unsigned short __uint16_t; Modified: projects/nfsv4.1-client/sys/arm/include/pmap.h ============================================================================== --- projects/nfsv4.1-client/sys/arm/include/pmap.h Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/arm/include/pmap.h Mon Dec 26 00:10:42 2011 (r228884) @@ -382,7 +382,8 @@ do { \ if (PMAP_NEEDS_PTE_SYNC) { \ cpu_dcache_wb_range((vm_offset_t)(pte), sizeof(pt_entry_t));\ cpu_l2cache_wb_range((vm_offset_t)(pte), sizeof(pt_entry_t));\ - }\ + } else \ + cpu_drain_writebuf(); \ } while (/*CONSTCOND*/0) #define PTE_SYNC_RANGE(pte, cnt) \ @@ -392,7 +393,8 @@ do { \ (cnt) << 2); /* * sizeof(pt_entry_t) */ \ cpu_l2cache_wb_range((vm_offset_t)(pte), \ (cnt) << 2); /* * sizeof(pt_entry_t) */ \ - } \ + } else \ + cpu_drain_writebuf(); \ } while (/*CONSTCOND*/0) extern pt_entry_t pte_l1_s_cache_mode; Modified: projects/nfsv4.1-client/sys/boot/arm/at91/libat91/sd-card.c ============================================================================== --- projects/nfsv4.1-client/sys/boot/arm/at91/libat91/sd-card.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/boot/arm/at91/libat91/sd-card.c Mon Dec 26 00:10:42 2011 (r228884) @@ -94,14 +94,14 @@ MCIDeviceWaitReady(unsigned int timeout) } // End of if AT91C_MCI_RXBUFF } -inline static unsigned int +static inline unsigned int swap(unsigned int a) { return (((a & 0xff) << 24) | ((a & 0xff00) << 8) | ((a & 0xff0000) >> 8) | ((a & 0xff000000) >> 24)); } -inline static void +static inline void wait_ready() { int status; Modified: projects/nfsv4.1-client/sys/boot/forth/loader.conf ============================================================================== --- projects/nfsv4.1-client/sys/boot/forth/loader.conf Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/boot/forth/loader.conf Mon Dec 26 00:10:42 2011 (r228884) @@ -260,6 +260,7 @@ pf_load="NO" # packet filter bridgestp_load="NO" # if_bridge(4) support miibus_load="NO" # miibus support, needed for some drivers +carp_load="NO" # carp(4) protocol if_ae_load="NO" # Attansic/Atheros L2 FastEthernet if_age_load="NO" # Attansic/Atheros L1 Gigabit Ethernet if_alc_load="NO" # Atheros AR8131/AR8132 Ethernet @@ -275,7 +276,6 @@ if_bridge_load="NO" # if_bridge(4) devi if_bwi_load="NO" # Broadcom BCM53xx IEEE 802.11b/g wireness NICs if_bwn_load="NO" # Broadcom BCM43xx IEEE 802.11 wireless NICs if_bxe_load="NO" # Broadcom NetXtreme II 10Gb Ethernet -if_carp_load="NO" # carp(4) devices if_cas_load="NO" # Sun Cassini/Cassini+ and NS DP83065 Saturn if_cm_load="NO" # SMC (90c26, 90c56, 90c66) if_cs_load="NO" # Crystal Semiconductor CS8920 Modified: projects/nfsv4.1-client/sys/boot/i386/boot0/boot0.S ============================================================================== --- projects/nfsv4.1-client/sys/boot/i386/boot0/boot0.S Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/boot/i386/boot0/boot0.S Mon Dec 26 00:10:42 2011 (r228884) @@ -413,6 +413,7 @@ got_key: 3: #endif /* ONLY_F_KEYS */ #endif /* SIO */ +check_selection: cmpb $0x5,%al # F1..F6 or 1..6 ? #ifdef PXE /* enable PXE/INT18 using F6 */ jne 1f; @@ -421,7 +422,6 @@ got_key: #endif /* PXE */ jae beep # Not in F1..F5, beep -check_selection: /* * We have a selection. If it's a bad selection go back to complain. * The bits in MNUOPT were set when the options were printed. Modified: projects/nfsv4.1-client/sys/boot/i386/libi386/time.c ============================================================================== --- projects/nfsv4.1-client/sys/boot/i386/libi386/time.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/boot/i386/libi386/time.c Mon Dec 26 00:10:42 2011 (r228884) @@ -62,7 +62,7 @@ bios_seconds(void) * Some BIOSes (notably qemu) don't correctly read the RTC * registers in an atomic way, sometimes returning bogus values. * Therefore we "debounce" the reading by accepting it only when - * we got two identical values in succession. + * we got 8 identical values in succession. * * If we pass midnight, don't wrap back to 0. */ @@ -71,14 +71,16 @@ time(time_t *t) { static time_t lasttime; time_t now, check; - int try; + int same, try; - try = 0; + same = try = 0; check = bios_seconds(); do { now = check; check = bios_seconds(); - } while (now != check && ++try < 1000); + if (check != now) + same = 0; + } while (++same < 8 && ++try < 1000); if (now < lasttime) now += 24 * 3600; Modified: projects/nfsv4.1-client/sys/cam/ata/ata_da.c ============================================================================== --- projects/nfsv4.1-client/sys/cam/ata/ata_da.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/cam/ata/ata_da.c Mon Dec 26 00:10:42 2011 (r228884) @@ -165,6 +165,11 @@ static struct ada_quirk_entry ada_quirk_ }, { /* Samsung Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "SAMSUNG HD155UI*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Samsung Advanced Format (4k) drives */ { T_DIRECT, SIP_MEDIA_FIXED, "*", "SAMSUNG HD204UI*", "*" }, /*quirks*/ADA_Q_4K }, @@ -174,6 +179,16 @@ static struct ada_quirk_entry ada_quirk_ /*quirks*/ADA_Q_4K }, { + /* Seagate Barracuda Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST???DM*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Seagate Barracuda Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST????DM*", "*" }, + /*quirks*/ADA_Q_4K + }, + { /* Seagate Momentus Advanced Format (4k) drives */ { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9500423AS*", "*" }, /*quirks*/ADA_Q_4K @@ -185,6 +200,16 @@ static struct ada_quirk_entry ada_quirk_ }, { /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9640423AS*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9640424AS*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9750420AS*", "*" }, /*quirks*/ADA_Q_4K }, @@ -194,6 +219,11 @@ static struct ada_quirk_entry ada_quirk_ /*quirks*/ADA_Q_4K }, { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9750423AS*", "*" }, + /*quirks*/ADA_Q_4K + }, + { /* Seagate Momentus Thin Advanced Format (4k) drives */ { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST???LT*", "*" }, /*quirks*/ADA_Q_4K Modified: projects/nfsv4.1-client/sys/cam/scsi/scsi_all.h ============================================================================== --- projects/nfsv4.1-client/sys/cam/scsi/scsi_all.h Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/cam/scsi/scsi_all.h Mon Dec 26 00:10:42 2011 (r228884) @@ -932,6 +932,7 @@ struct ata_pass_16 { #define WRITE_12 0xAA #define WRITE_VERIFY_12 0xAE #define READ_ELEMENT_STATUS 0xB8 +#define READ_CD 0xBE /* Maintenance In Service Action Codes */ #define REPORT_IDENTIFYING_INFRMATION 0x05 @@ -1348,6 +1349,17 @@ struct scsi_read_capacity_data_long { uint8_t addr[8]; uint8_t length[4]; +#define SRC16_PROT_EN 0x01 +#define SRC16_P_TYPE 0x0e + uint8_t prot; +#define SRC16_LBPPBE 0x0f +#define SRC16_PI_EXPONENT 0xf0 +#define SRC16_PI_EXPONENT_SHIFT 4 + uint8_t prot_lbppbe; +#define SRC16_LALBA 0x3fff +#define SRC16_LBPRZ 0x4000 +#define SRC16_LBPME 0x8000 + uint8_t lalba_lbp[2]; }; struct scsi_report_luns Modified: projects/nfsv4.1-client/sys/cam/scsi/scsi_cd.c ============================================================================== --- projects/nfsv4.1-client/sys/cam/scsi/scsi_cd.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/cam/scsi/scsi_cd.c Mon Dec 26 00:10:42 2011 (r228884) @@ -1483,6 +1483,14 @@ cdstart(struct cam_periph *periph, union /* dxfer_len */ bp->bio_bcount, /* sense_len */ SSD_FULL_SIZE, /* timeout */ 30000); + /* Use READ CD command for audio tracks. */ + if (softc->params.blksize == 2352) { + start_ccb->csio.cdb_io.cdb_bytes[0] = READ_CD; + start_ccb->csio.cdb_io.cdb_bytes[9] = 0xf8; + start_ccb->csio.cdb_io.cdb_bytes[10] = 0; + start_ccb->csio.cdb_io.cdb_bytes[11] = 0; + start_ccb->csio.cdb_len = 12; + } start_ccb->ccb_h.ccb_state = CD_CCB_BUFFER_IO; @@ -2880,6 +2888,13 @@ cdcheckmedia(struct cam_periph *periph) softc->flags |= CD_FLAG_VALID_TOC; + /* If the first track is audio, correct sector size. */ + if ((softc->toc.entries[0].control & 4) == 0) { + softc->disk->d_sectorsize = softc->params.blksize = 2352; + softc->disk->d_mediasize = + (off_t)softc->params.blksize * softc->params.disksize; + } + bailout: /* Modified: projects/nfsv4.1-client/sys/cam/scsi/scsi_da.c ============================================================================== --- projects/nfsv4.1-client/sys/cam/scsi/scsi_da.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/cam/scsi/scsi_da.c Mon Dec 26 00:10:42 2011 (r228884) @@ -82,14 +82,17 @@ typedef enum { DA_FLAG_WENT_IDLE = 0x040, DA_FLAG_RETRY_UA = 0x080, DA_FLAG_OPEN = 0x100, - DA_FLAG_SCTX_INIT = 0x200 + DA_FLAG_SCTX_INIT = 0x200, + DA_FLAG_CAN_RC16 = 0x400, + DA_FLAG_CAN_LBPME = 0x800 } da_flags; typedef enum { DA_Q_NONE = 0x00, DA_Q_NO_SYNC_CACHE = 0x01, DA_Q_NO_6_BYTE = 0x02, - DA_Q_NO_PREVENT = 0x04 + DA_Q_NO_PREVENT = 0x04, + DA_Q_4K = 0x08 } da_quirks; typedef enum { @@ -112,6 +115,8 @@ struct disk_params { u_int8_t secs_per_track; u_int32_t secsize; /* Number of bytes/sector */ u_int64_t sectors; /* total number sectors */ + u_int stripesize; + u_int stripeoffset; }; struct da_softc { @@ -564,7 +569,223 @@ static struct da_quirk_entry da_quirk_ta */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Sony DSC", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE | DA_Q_NO_PREVENT - } + }, + /* ATA/SATA devices over SAS/USB/... */ + { + /* Hitachi Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "Hitachi", "H??????????E3*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Samsung Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "SAMSUNG HD155UI*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Samsung Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "SAMSUNG", "HD155UI*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Samsung Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "SAMSUNG HD204UI*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Samsung Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "SAMSUNG", "HD204UI*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Barracuda Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST????DL*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Barracuda Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST????DL", "*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Barracuda Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST???DM*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Barracuda Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST???DM*", "*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Barracuda Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST????DM*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Barracuda Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST????DM", "*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST9500423AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST950042", "3AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST9500424AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST950042", "4AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST9640423AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST964042", "3AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST9640424AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST964042", "4AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST9750420AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST975042", "0AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST9750422AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST975042", "2AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST9750423AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST975042", "3AS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Thin Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "ST???LT*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* Seagate Momentus Thin Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ST???LT*", "*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "WDC WD????RS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "WDC WD??", "??RS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "WDC WD????RX*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "WDC WD??", "??RX*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "WDC WD??????RS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "WDC WD??", "????RS*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "WDC WD??????RX*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "WDC WD??", "????RX*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Scorpio Black Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "WDC WD???PKT*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Scorpio Black Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "WDC WD??", "?PKT*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Scorpio Black Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "WDC WD?????PKT*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Scorpio Black Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "WDC WD??", "???PKT*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Scorpio Blue Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "WDC WD???PVT*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Scorpio Blue Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "WDC WD??", "?PVT*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Scorpio Blue Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "WDC WD?????PVT*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* WDC Scorpio Blue Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "WDC WD??", "???PVT*", "*" }, + /*quirks*/DA_Q_4K + }, }; static disk_strategy_t dastrategy; @@ -585,7 +806,7 @@ static int daerror(union ccb *ccb, u_i static void daprevent(struct cam_periph *periph, int action); static int dagetcapacity(struct cam_periph *periph); static void dasetgeom(struct cam_periph *periph, uint32_t block_len, - uint64_t maxsector); + uint64_t maxsector, u_int lbppbe, u_int lalba); static timeout_t dasendorderedtag; static void dashutdown(void *arg, int howto); @@ -687,6 +908,8 @@ daopen(struct disk *dp) softc->disk->d_sectorsize = softc->params.secsize; softc->disk->d_mediasize = softc->params.secsize * (off_t)softc->params.sectors; + softc->disk->d_stripesize = softc->params.stripesize; + softc->disk->d_stripeoffset = softc->params.stripeoffset; /* XXX: these are not actually "firmware" values, so they may be wrong */ softc->disk->d_fwsectors = softc->params.secs_per_track; softc->disk->d_fwheads = softc->params.heads; @@ -1312,6 +1535,14 @@ daregister(struct cam_periph *periph, vo else if (softc->minimum_cmd_size > 12) softc->minimum_cmd_size = 16; + /* Predict whether device may support READ CAPACITY(16). */ + if (SID_ANSI_REV(&cgd->inq_data) >= SCSI_REV_SPC3 || + (SID_ANSI_REV(&cgd->inq_data) >= SCSI_REV_SPC && + (cgd->inq_data.spc3_flags & SPC3_SID_PROTECT))) { + softc->flags |= DA_FLAG_CAN_RC16; + softc->state = DA_STATE_PROBE2; + } + /* * Register this media as a disk. */ @@ -1701,10 +1932,14 @@ dadone(struct cam_periph *periph, union struct disk_params *dp; uint32_t block_size; uint64_t maxsector; + u_int lbppbe; /* LB per physical block exponent. */ + u_int lalba; /* Lowest aligned LBA. */ if (softc->state == DA_STATE_PROBE) { block_size = scsi_4btoul(rdcap->length); maxsector = scsi_4btoul(rdcap->addr); + lbppbe = 0; + lalba = 0; /* * According to SBC-2, if the standard 10 @@ -1724,6 +1959,8 @@ dadone(struct cam_periph *periph, union } else { block_size = scsi_4btoul(rcaplong->length); maxsector = scsi_8btou64(rcaplong->addr); + lbppbe = rcaplong->prot_lbppbe & SRC16_LBPPBE; + lalba = scsi_2btoul(rcaplong->lalba_lbp); } /* @@ -1741,7 +1978,12 @@ dadone(struct cam_periph *periph, union announce_buf[0] = '\0'; cam_periph_invalidate(periph); } else { - dasetgeom(periph, block_size, maxsector); + dasetgeom(periph, block_size, maxsector, + lbppbe, lalba & SRC16_LALBA); + if (lalba & SRC16_LBPME) + softc->flags |= DA_FLAG_CAN_LBPME; + else + softc->flags &= ~DA_FLAG_CAN_LBPME; dp = &softc->params; snprintf(announce_buf, sizeof(announce_buf), "%juMB (%ju %u byte sectors: %dH %dS/T " @@ -1808,6 +2050,24 @@ dadone(struct cam_periph *periph, union &ascq, /*show_errors*/ 1); } /* + * If we tried READ CAPACITY(16) and failed, + * fallback to READ CAPACITY(10). + */ + if ((softc->state == DA_STATE_PROBE2) && + (softc->flags & DA_FLAG_CAN_RC16) && + (((csio->ccb_h.status & CAM_STATUS_MASK) == + CAM_REQ_INVALID) || + ((have_sense) && + (error_code == SSD_CURRENT_ERROR) && + (sense_key == SSD_KEY_ILLEGAL_REQUEST)))) { + softc->flags &= ~DA_FLAG_CAN_RC16; + softc->state = DA_STATE_PROBE; + free(rdcap, M_SCSIDA); + xpt_release_ccb(done_ccb); + xpt_schedule(periph, priority); + return; + } else + /* * Attach to anything that claims to be a * direct access or optical disk device, * as long as it doesn't return a "Logical @@ -1977,13 +2237,18 @@ dagetcapacity(struct cam_periph *periph) struct scsi_read_capacity_data_long *rcaplong; uint32_t block_len; uint64_t maxsector; - int error; + int error, rc16failed; u_int32_t sense_flags; + u_int lbppbe; /* Logical blocks per physical block exponent. */ + u_int lalba; /* Lowest aligned LBA. */ softc = (struct da_softc *)periph->softc; block_len = 0; maxsector = 0; + lbppbe = 0; + lalba = 0; error = 0; + rc16failed = 0; sense_flags = SF_RETRY_UA; if (softc->flags & DA_FLAG_PACK_REMOVABLE) sense_flags |= SF_NO_PRINT; @@ -1991,11 +2256,63 @@ dagetcapacity(struct cam_periph *periph) /* Do a read capacity */ rcap = (struct scsi_read_capacity_data *)malloc(sizeof(*rcaplong), M_SCSIDA, - M_NOWAIT); + M_NOWAIT | M_ZERO); if (rcap == NULL) return (ENOMEM); - + rcaplong = (struct scsi_read_capacity_data_long *)rcap; + ccb = cam_periph_getccb(periph, CAM_PRIORITY_NORMAL); + + /* Try READ CAPACITY(16) first if we think it should work. */ + if (softc->flags & DA_FLAG_CAN_RC16) { + scsi_read_capacity_16(&ccb->csio, + /*retries*/ 4, + /*cbfcnp*/ dadone, + /*tag_action*/ MSG_SIMPLE_Q_TAG, + /*lba*/ 0, + /*reladr*/ 0, + /*pmi*/ 0, + rcaplong, + /*sense_len*/ SSD_FULL_SIZE, + /*timeout*/ 60000); + ccb->ccb_h.ccb_bp = NULL; + + error = cam_periph_runccb(ccb, daerror, + /*cam_flags*/CAM_RETRY_SELTO, + sense_flags, + softc->disk->d_devstat); + + if ((ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) + cam_release_devq(ccb->ccb_h.path, + /*relsim_flags*/0, + /*reduction*/0, + /*timeout*/0, + /*getcount_only*/0); + + if (error == 0) + goto rc16ok; + + /* If we got ILLEGAL REQUEST, do not prefer RC16 any more. */ + if ((ccb->ccb_h.status & CAM_STATUS_MASK) == + CAM_REQ_INVALID) { + softc->flags &= ~DA_FLAG_CAN_RC16; + } else if (((ccb->ccb_h.status & CAM_STATUS_MASK) == + CAM_SCSI_STATUS_ERROR) && + (ccb->csio.scsi_status == SCSI_STATUS_CHECK_COND) && + (ccb->ccb_h.status & CAM_AUTOSNS_VALID) && + ((ccb->ccb_h.flags & CAM_SENSE_PHYS) == 0) && + ((ccb->ccb_h.flags & CAM_SENSE_PTR) == 0)) { + int sense_key, error_code, asc, ascq; + + scsi_extract_sense(&ccb->csio.sense_data, + &error_code, &sense_key, &asc, &ascq); + if (sense_key == SSD_KEY_ILLEGAL_REQUEST) + softc->flags &= ~DA_FLAG_CAN_RC16; + } + rc16failed = 1; + } + + /* Do READ CAPACITY(10). */ scsi_read_capacity(&ccb->csio, /*retries*/4, /*cbfncp*/dadone, @@ -2021,13 +2338,12 @@ dagetcapacity(struct cam_periph *periph) block_len = scsi_4btoul(rcap->length); maxsector = scsi_4btoul(rcap->addr); - if (maxsector != 0xffffffff) + if (maxsector != 0xffffffff || rc16failed) goto done; } else goto done; - rcaplong = (struct scsi_read_capacity_data_long *)rcap; - + /* If READ CAPACITY(10) returned overflow, use READ CAPACITY(16) */ scsi_read_capacity_16(&ccb->csio, /*retries*/ 4, /*cbfcnp*/ dadone, @@ -2053,8 +2369,11 @@ dagetcapacity(struct cam_periph *periph) /*getcount_only*/0); if (error == 0) { +rc16ok: block_len = scsi_4btoul(rcaplong->length); maxsector = scsi_8btou64(rcaplong->addr); + lbppbe = rcaplong->prot_lbppbe & SRC16_LBPPBE; + lalba = scsi_2btoul(rcaplong->lalba_lbp); } done: @@ -2065,8 +2384,14 @@ done: "unsupportable block size %ju\n", (uintmax_t) block_len); error = EINVAL; - } else - dasetgeom(periph, block_len, maxsector); + } else { + dasetgeom(periph, block_len, maxsector, + lbppbe, lalba & SRC16_LALBA); + if (lalba & SRC16_LBPME) + softc->flags |= DA_FLAG_CAN_LBPME; + else + softc->flags &= ~DA_FLAG_CAN_LBPME; + } } xpt_release_ccb(ccb); @@ -2077,7 +2402,8 @@ done: } static void -dasetgeom(struct cam_periph *periph, uint32_t block_len, uint64_t maxsector) +dasetgeom(struct cam_periph *periph, uint32_t block_len, uint64_t maxsector, + u_int lbppbe, u_int lalba) { struct ccb_calc_geometry ccg; struct da_softc *softc; @@ -2088,6 +2414,17 @@ dasetgeom(struct cam_periph *periph, uin dp = &softc->params; dp->secsize = block_len; dp->sectors = maxsector + 1; + if (lbppbe > 0) { + dp->stripesize = block_len << lbppbe; + dp->stripeoffset = (dp->stripesize - block_len * lalba) % + dp->stripesize; + } else if (softc->quirks & DA_Q_4K) { + dp->stripesize = 4096; + dp->stripeoffset = 0; + } else { + dp->stripesize = 0; + dp->stripeoffset = 0; + } /* * Have the controller provide us with a geometry * for this disk. The only time the geometry Modified: projects/nfsv4.1-client/sys/cam/scsi/scsi_target.c ============================================================================== --- projects/nfsv4.1-client/sys/cam/scsi/scsi_target.c Sun Dec 25 22:05:33 2011 (r228883) +++ projects/nfsv4.1-client/sys/cam/scsi/scsi_target.c Mon Dec 26 00:10:42 2011 (r228884) @@ -96,12 +96,9 @@ struct targ_softc { targ_state state; struct selinfo read_select; struct devstat device_stats; - struct callout destroy_dev_callout; - struct mtx destroy_mtx; }; static d_open_t targopen; -static d_close_t targclose; static d_read_t targread; static d_write_t targwrite; static d_ioctl_t targioctl; @@ -119,7 +116,6 @@ static struct cdevsw targ_cdevsw = { .d_version = D_VERSION, .d_flags = D_NEEDGIANT, .d_open = targopen, - .d_close = targclose, .d_read = targread, .d_write = targwrite, .d_ioctl = targioctl, @@ -152,15 +148,12 @@ static void targfreeccb(struct targ_sof static struct targ_cmd_descr * targgetdescr(struct targ_softc *softc); static periph_init_t targinit; -static void targclone(void *arg, struct ucred *cred, char *name, - int namelen, struct cdev **dev); static void targasync(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg); static void abort_all_pending(struct targ_softc *softc); static void notify_user(struct targ_softc *softc); static int targcamstatus(cam_status status); static size_t targccblen(xpt_opcode func_code); -static void targdestroy(void *); static struct periph_driver targdriver = { @@ -171,66 +164,18 @@ PERIPHDRIVER_DECLARE(targ, targdriver); static MALLOC_DEFINE(M_TARG, "TARG", "TARG data"); -/* - * Create softc and initialize it. Only one proc can open each targ device. - * There is no locking here because a periph doesn't get created until an - * ioctl is issued to do so, and that can't happen until this method returns. - */ -static int -targopen(struct cdev *dev, int flags, int fmt, struct thread *td) -{ - struct targ_softc *softc; - - if (dev->si_drv1 != 0) { - return (EBUSY); - } - - /* Mark device busy before any potentially blocking operations */ - dev->si_drv1 = (void *)~0; - - /* Create the targ device, allocate its softc, initialize it */ - if ((dev->si_flags & SI_NAMED) == 0) { - make_dev(&targ_cdevsw, dev2unit(dev), UID_ROOT, GID_WHEEL, 0600, - "targ%d", dev2unit(dev)); - } - softc = malloc(sizeof(*softc), M_TARG, - M_WAITOK | M_ZERO); - dev->si_drv1 = softc; - softc->state = TARG_STATE_OPENED; - softc->periph = NULL; - softc->path = NULL; - - TAILQ_INIT(&softc->pending_ccb_queue); - TAILQ_INIT(&softc->work_queue); - TAILQ_INIT(&softc->abort_queue); - TAILQ_INIT(&softc->user_ccb_queue); *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***