Date: Sun, 15 Jan 2006 20:34:41 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 89745 for review Message-ID: <200601152034.k0FKYfWx014233@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=89745 Change 89745 by rwatson@rwatson_zoo on 2006/01/15 20:34:06 Integrate netsmp branch: loop back ipq with UMA change. Affected files ... .. //depot/projects/netsmp/src/sys/Makefile#2 integrate .. //depot/projects/netsmp/src/sys/alpha/conf/GENERIC#5 integrate .. //depot/projects/netsmp/src/sys/alpha/include/_types.h#2 integrate .. //depot/projects/netsmp/src/sys/alpha/include/param.h#4 integrate .. //depot/projects/netsmp/src/sys/amd64/amd64/bpf_jit_machdep.c#2 integrate .. //depot/projects/netsmp/src/sys/amd64/amd64/busdma_machdep.c#4 integrate .. //depot/projects/netsmp/src/sys/amd64/amd64/mptable_pci.c#3 integrate .. //depot/projects/netsmp/src/sys/amd64/amd64/trap.c#6 integrate .. //depot/projects/netsmp/src/sys/amd64/conf/GENERIC#7 integrate .. //depot/projects/netsmp/src/sys/amd64/include/_types.h#2 integrate .. //depot/projects/netsmp/src/sys/amd64/include/param.h#3 integrate .. //depot/projects/netsmp/src/sys/amd64/pci/pci_bus.c#4 integrate .. //depot/projects/netsmp/src/sys/arm/arm/trap.c#3 integrate .. //depot/projects/netsmp/src/sys/arm/include/_types.h#2 integrate .. //depot/projects/netsmp/src/sys/arm/include/param.h#3 integrate .. //depot/projects/netsmp/src/sys/boot/common/module.c#2 integrate .. //depot/projects/netsmp/src/sys/cam/cam_periph.c#2 integrate .. //depot/projects/netsmp/src/sys/cam/cam_xpt.c#3 integrate .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_da.c#4 integrate .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_sa.c#2 integrate .. //depot/projects/netsmp/src/sys/coda/coda_vfsops.c#3 integrate .. //depot/projects/netsmp/src/sys/conf/NOTES#7 integrate .. //depot/projects/netsmp/src/sys/conf/files#16 integrate .. //depot/projects/netsmp/src/sys/conf/options#7 integrate .. //depot/projects/netsmp/src/sys/contrib/pf/net/pf_norm.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/acpi_support/acpi_ibm.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdSchedule.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_pci_link.c#7 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_pcib_acpi.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_pcib_pci.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_smbat.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/amr/amr.c#7 integrate .. //depot/projects/netsmp/src/sys/dev/amr/amrreg.h#3 integrate .. //depot/projects/netsmp/src/sys/dev/an/if_an.c#7 integrate .. //depot/projects/netsmp/src/sys/dev/asr/asr.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-all.c#9 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-all.h#7 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-card.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-cbus.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-chipset.c#9 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-disk.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-disk.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-dma.c#5 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-isa.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-lowlevel.c#6 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-pci.c#5 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-pci.h#8 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-queue.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-raid.c#7 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-raid.h#4 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata_if.m#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/atapi-cd.c#6 integrate .. //depot/projects/netsmp/src/sys/dev/ata/atapi-cd.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/atapi-fd.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ata/atapi-fd.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/atapi-tape.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ata/atapi-tape.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#13 integrate .. //depot/projects/netsmp/src/sys/dev/ath/if_athioctl.h#3 integrate .. //depot/projects/netsmp/src/sys/dev/ath/if_athvar.h#5 integrate .. //depot/projects/netsmp/src/sys/dev/atkbdc/psm.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/bge/if_bge.c#12 integrate .. //depot/projects/netsmp/src/sys/dev/bge/if_bgereg.h#5 integrate .. //depot/projects/netsmp/src/sys/dev/cardbus/cardbus_cis.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/dcons/dcons_os.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/ed/if_ed_isa.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/em/if_em.c#12 integrate .. //depot/projects/netsmp/src/sys/dev/em/if_em.h#4 integrate .. //depot/projects/netsmp/src/sys/dev/fxp/if_fxp.c#12 integrate .. //depot/projects/netsmp/src/sys/dev/ichsmb/ichsmb.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ieee488/pcii.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ips/ips_ioctl.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/ips/ipsreg.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/nmdm/nmdm.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/pci/pci.c#9 integrate .. //depot/projects/netsmp/src/sys/dev/pci/pci_pci.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/pci/pcib_private.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/pci/pcivar.h#4 integrate .. //depot/projects/netsmp/src/sys/dev/si/si.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/si/si2_z280.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/si/si3_t225.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sn/if_sn.c#9 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/es137x.c#5 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/ich.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/solo.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/ac97.c#8 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/channel.c#7 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/vchan.c#5 integrate .. //depot/projects/netsmp/src/sys/dev/syscons/syscons.c#5 integrate .. //depot/projects/netsmp/src/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ti/if_tireg.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/usb/ufoma.c#1 branch .. //depot/projects/netsmp/src/sys/dev/usb/umass.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/usb/usb_mem.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/usb/usb_quirks.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/usb/usb_quirks.h#3 integrate .. //depot/projects/netsmp/src/sys/dev/usb/usb_subr.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/netsmp/src/sys/dev/usb/uscanner.c#3 integrate .. //depot/projects/netsmp/src/sys/fs/devfs/devfs_rule.c#5 integrate .. //depot/projects/netsmp/src/sys/fs/ntfs/ntfs_subr.c#4 integrate .. //depot/projects/netsmp/src/sys/geom/vinum/geom_vinum_drive.c#7 integrate .. //depot/projects/netsmp/src/sys/geom/vinum/geom_vinum_plex.c#3 integrate .. //depot/projects/netsmp/src/sys/geom/vinum/geom_vinum_subr.c#2 integrate .. //depot/projects/netsmp/src/sys/geom/vinum/geom_vinum_var.h#3 integrate .. //depot/projects/netsmp/src/sys/geom/vinum/geom_vinum_volume.c#3 integrate .. //depot/projects/netsmp/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/netsmp/src/sys/gnu/fs/reiserfs/reiserfs_inode.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/conf/GENERIC#7 integrate .. //depot/projects/netsmp/src/sys/i386/i386/bpf_jit_machdep.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/i386/busdma_machdep.c#3 integrate .. //depot/projects/netsmp/src/sys/i386/i386/identcpu.c#6 integrate .. //depot/projects/netsmp/src/sys/i386/i386/mptable_pci.c#3 integrate .. //depot/projects/netsmp/src/sys/i386/i386/trap.c#4 integrate .. //depot/projects/netsmp/src/sys/i386/ibcs2/ibcs2_sysvec.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/include/_types.h#2 integrate .. //depot/projects/netsmp/src/sys/i386/include/param.h#3 integrate .. //depot/projects/netsmp/src/sys/i386/isa/pcvt/pcvt_drv.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/pci/pci_bus.c#5 integrate .. //depot/projects/netsmp/src/sys/i386/xbox/xboxfb.c#2 integrate .. //depot/projects/netsmp/src/sys/ia64/conf/GENERIC#5 integrate .. //depot/projects/netsmp/src/sys/ia64/ia64/ssc.c#3 integrate .. //depot/projects/netsmp/src/sys/ia64/include/_types.h#2 integrate .. //depot/projects/netsmp/src/sys/ia64/include/param.h#5 integrate .. //depot/projects/netsmp/src/sys/isofs/cd9660/cd9660_vnops.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/kern_conf.c#5 integrate .. //depot/projects/netsmp/src/sys/kern/kern_descrip.c#7 integrate .. //depot/projects/netsmp/src/sys/kern/kern_mutex.c#6 integrate .. //depot/projects/netsmp/src/sys/kern/kern_sx.c#3 integrate .. //depot/projects/netsmp/src/sys/kern/kern_thr.c#4 integrate .. //depot/projects/netsmp/src/sys/kern/subr_bus.c#4 integrate .. //depot/projects/netsmp/src/sys/kern/subr_disk.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/subr_taskqueue.c#4 integrate .. //depot/projects/netsmp/src/sys/kern/subr_witness.c#12 integrate .. //depot/projects/netsmp/src/sys/kern/sys_generic.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/tty.c#4 integrate .. //depot/projects/netsmp/src/sys/kern/tty_compat.c#3 integrate .. //depot/projects/netsmp/src/sys/kern/tty_pty.c#3 integrate .. //depot/projects/netsmp/src/sys/kern/uipc_socket.c#24 integrate .. //depot/projects/netsmp/src/sys/kern/uipc_usrreq.c#8 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_aio.c#6 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_default.c#5 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_mount.c#5 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_subr.c#15 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_syscalls.c#6 integrate .. //depot/projects/netsmp/src/sys/libkern/gets.c#2 integrate .. //depot/projects/netsmp/src/sys/modules/Makefile#10 integrate .. //depot/projects/netsmp/src/sys/modules/ufoma/Makefile#1 branch .. //depot/projects/netsmp/src/sys/net/bpf_filter.c#3 integrate .. //depot/projects/netsmp/src/sys/net/if_bridge.c#13 integrate .. //depot/projects/netsmp/src/sys/net/if_bridgevar.h#5 integrate .. //depot/projects/netsmp/src/sys/net/if_ef.c#5 integrate .. //depot/projects/netsmp/src/sys/net/if_fwsubr.c#7 integrate .. //depot/projects/netsmp/src/sys/net/if_mib.c#4 integrate .. //depot/projects/netsmp/src/sys/net/if_mib.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_node.c#10 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_output.c#8 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_proto.c#5 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_proto.h#5 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_radiotap.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_var.h#7 integrate .. //depot/projects/netsmp/src/sys/netgraph/netflow/netflow.c#4 integrate .. //depot/projects/netsmp/src/sys/netgraph/netflow/ng_netflow.c#3 integrate .. //depot/projects/netsmp/src/sys/netgraph/netflow/ng_netflow.h#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/netgraph.h#8 integrate .. //depot/projects/netsmp/src/sys/netgraph/ng_base.c#8 integrate .. //depot/projects/netsmp/src/sys/netgraph/ng_ether.c#6 integrate .. //depot/projects/netsmp/src/sys/netgraph/ng_frame_relay.c#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/ng_lmi.c#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/ng_message.h#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/ng_parse.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet/if_ether.c#9 integrate .. //depot/projects/netsmp/src/sys/netinet/ip_fw2.c#10 integrate .. //depot/projects/netsmp/src/sys/netinet/ip_input.c#10 integrate .. //depot/projects/netsmp/src/sys/netinet/tcp_input.c#5 integrate .. //depot/projects/netsmp/src/sys/netinet/tcp_syncache.c#5 integrate .. //depot/projects/netsmp/src/sys/netinet/udp_usrreq.c#7 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_mroute.c#7 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_output.c#8 integrate .. //depot/projects/netsmp/src/sys/netinet6/ipcomp_input.c#2 integrate .. //depot/projects/netsmp/src/sys/netipx/ipx_input.c#2 integrate .. //depot/projects/netsmp/src/sys/netipx/spx_usrreq.c#5 integrate .. //depot/projects/netsmp/src/sys/netncp/ncp_conn.c#3 integrate .. //depot/projects/netsmp/src/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_lock.c#4 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/netsmp/src/sys/pc98/conf/GENERIC#5 integrate .. //depot/projects/netsmp/src/sys/pc98/include/_types.h#2 integrate .. //depot/projects/netsmp/src/sys/pc98/include/param.h#3 integrate .. //depot/projects/netsmp/src/sys/pccard/cardinfo.h#2 integrate .. //depot/projects/netsmp/src/sys/pccard/driver.h#2 delete .. //depot/projects/netsmp/src/sys/pccard/i82365.h#2 delete .. //depot/projects/netsmp/src/sys/pccard/meciareg.h#2 delete .. //depot/projects/netsmp/src/sys/pccard/pccard_nbk.h#2 delete .. //depot/projects/netsmp/src/sys/pccard/pcic_pci.h#2 delete .. //depot/projects/netsmp/src/sys/pccard/pcicvar.h#2 delete .. //depot/projects/netsmp/src/sys/pccard/slot.h#2 delete .. //depot/projects/netsmp/src/sys/pci/if_sk.c#10 integrate .. //depot/projects/netsmp/src/sys/powerpc/conf/GENERIC#4 integrate .. //depot/projects/netsmp/src/sys/powerpc/ofw/ofw_pcib_pci.c#2 integrate .. //depot/projects/netsmp/src/sys/powerpc/powerpc/machdep.c#6 integrate .. //depot/projects/netsmp/src/sys/security/mac_bsdextended/mac_bsdextended.c#3 integrate .. //depot/projects/netsmp/src/sys/sparc64/conf/GENERIC#5 integrate .. //depot/projects/netsmp/src/sys/sparc64/conf/NOTES#4 integrate .. //depot/projects/netsmp/src/sys/sparc64/include/in_cksum.h#2 integrate .. //depot/projects/netsmp/src/sys/sparc64/pci/apb.c#3 integrate .. //depot/projects/netsmp/src/sys/sparc64/pci/ofw_pcib.c#3 integrate .. //depot/projects/netsmp/src/sys/sparc64/sparc64/pmap.c#4 integrate .. //depot/projects/netsmp/src/sys/sys/_lock.h#3 integrate .. //depot/projects/netsmp/src/sys/sys/ioctl.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/ioctl_compat.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/lock.h#3 integrate .. //depot/projects/netsmp/src/sys/sys/mount.h#6 integrate .. //depot/projects/netsmp/src/sys/sys/param.h#10 integrate .. //depot/projects/netsmp/src/sys/sys/select.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/socketvar.h#8 integrate .. //depot/projects/netsmp/src/sys/sys/taskqueue.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/tree.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/tty.h#3 integrate .. //depot/projects/netsmp/src/sys/sys/ttychars.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/ttydev.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/vnode.h#7 integrate .. //depot/projects/netsmp/src/sys/ufs/ffs/ffs_snapshot.c#3 integrate .. //depot/projects/netsmp/src/sys/ufs/ffs/ffs_softdep.c#7 integrate .. //depot/projects/netsmp/src/sys/ufs/ffs/ffs_vfsops.c#8 integrate .. //depot/projects/netsmp/src/sys/ufs/ufs/ufs_quota.c#4 integrate .. //depot/projects/netsmp/src/sys/vm/uma_core.c#6 integrate .. //depot/projects/netsmp/src/sys/vm/vm_pageq.c#3 integrate Differences ... ==== //depot/projects/netsmp/src/sys/Makefile#2 (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/netsmp/src/sys/alpha/conf/GENERIC#5 (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/netsmp/src/sys/alpha/include/_types.h#2 (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.6 2005/03/02 21:33:20 joerg Exp $ + * $FreeBSD: src/sys/alpha/include/_types.h,v 1.8 2006/01/09 06:05:55 imp Exp $ */ #ifndef _MACHINE__TYPES_H_ ==== //depot/projects/netsmp/src/sys/alpha/include/param.h#4 (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/netsmp/src/sys/amd64/amd64/bpf_jit_machdep.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.3 2005/12/06 07:22:00 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.4 2006/01/03 20:26:02 jkim Exp $"); #include "opt_bpf.h" @@ -103,6 +103,10 @@ */ emit_func emitm; + /* Do not compile an empty filter. */ + if (nins == 0) + return NULL; + /* Allocate the reference table for the jumps */ stream.refs = (u_int *)malloc((nins + 1) * sizeof(u_int), M_BPFJIT, M_NOWAIT); ==== //depot/projects/netsmp/src/sys/amd64/amd64/busdma_machdep.c#4 (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/netsmp/src/sys/amd64/amd64/mptable_pci.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.3 2005/09/18 01:42:43 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.4 2006/01/06 19:22:18 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -100,13 +100,10 @@ { 0, 0 } }; -static driver_t mptable_hostb_driver = { - "pcib", - mptable_hostb_methods, - 1, -}; +static devclass_t hostb_devclass; -DRIVER_MODULE(mptable_pcib, legacy, mptable_hostb_driver, pcib_devclass, 0, 0); +DEFINE_CLASS_0(pcib, mptable_hostb_driver, mptable_hostb_methods, 1); +DRIVER_MODULE(mptable_pcib, legacy, mptable_hostb_driver, hostb_devclass, 0, 0); /* PCI to PCI bridge driver. */ @@ -155,11 +152,9 @@ {0, 0} }; -static driver_t mptable_pcib_driver = { - "pcib", - mptable_pcib_pci_methods, - sizeof(struct pcib_softc), -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, mptable_pcib_driver, mptable_pcib_pci_methods, + sizeof(struct pcib_softc)); DRIVER_MODULE(mptable_pcib, pci, mptable_pcib_driver, pcib_devclass, 0, 0); ==== //depot/projects/netsmp/src/sys/amd64/amd64/trap.c#6 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.298 2005/12/09 13:30:34 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.299 2006/01/06 18:02:11 jhb Exp $"); /* * AMD64 Trap and System call handling @@ -220,10 +220,10 @@ printf("kernel trap %d with interrupts disabled\n", type); /* - * We shouldn't enable interrupts while in a critical - * section or servicing an NMI. + * We shouldn't enable interrupts while holding a + * spin lock or servicing an NMI. */ - if (type != T_NMI && td->td_critnest == 0) + if (type != T_NMI && td->td_md.md_spinlock_count == 0) enable_intr(); } } ==== //depot/projects/netsmp/src/sys/amd64/conf/GENERIC#7 (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/netsmp/src/sys/amd64/include/_types.h#2 (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.9 2005/07/02 23:13:30 thompsa Exp $ + * $FreeBSD: src/sys/amd64/include/_types.h,v 1.11 2006/01/09 06:05:56 imp Exp $ */ #ifndef _MACHINE__TYPES_H_ ==== //depot/projects/netsmp/src/sys/amd64/include/param.h#3 (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/netsmp/src/sys/amd64/pci/pci_bus.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.115 2005/12/20 21:09:44 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.116 2006/01/06 19:22:18 jhb Exp $"); #include "opt_cpu.h" @@ -326,12 +326,9 @@ { 0, 0 } }; -static driver_t legacy_pcib_driver = { - "pcib", - legacy_pcib_methods, - 1, -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, legacy_pcib_driver, legacy_pcib_methods, 1); DRIVER_MODULE(pcib, legacy, legacy_pcib_driver, pcib_devclass, 0, 0); @@ -377,12 +374,7 @@ { 0, 0 } }; -static driver_t pcibus_pnp_driver = { - "pcibus_pnp", - pcibus_pnp_methods, - 1, /* no softc */ -}; - static devclass_t pcibus_pnp_devclass; +DEFINE_CLASS_0(pcibus_pnp, pcibus_pnp_driver, pcibus_pnp_methods, 1); DRIVER_MODULE(pcibus_pnp, isa, pcibus_pnp_driver, pcibus_pnp_devclass, 0, 0); ==== //depot/projects/netsmp/src/sys/arm/arm/trap.c#3 (text+ko) ==== @@ -82,7 +82,7 @@ #include "opt_ktrace.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.18 2005/10/14 12:43:44 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.19 2006/01/06 18:02:12 jhb Exp $"); #include <sys/types.h> @@ -269,7 +269,8 @@ /* Grab the current pcb */ pcb = td->td_pcb; /* Re-enable interrupts if they were enabled previously */ - if (td->td_critnest == 0 && __predict_true(tf->tf_spsr & I32_bit) == 0) + if (td->td_md.md_spinlock_count == 0 && + __predict_true(tf->tf_spsr & I32_bit) == 0) enable_interrupts(I32_bit); /* Invoke the appropriate handler, if necessary */ @@ -729,7 +730,7 @@ thread_user_enter(td); } fault_pc = tf->tf_pc; - if (td->td_critnest == 0 && + if (td->td_md.md_spinlock_count == 0 && __predict_true((tf->tf_spsr & I32_bit) == 0)) enable_interrupts(I32_bit); @@ -1007,7 +1008,7 @@ * Since all syscalls *should* come from user mode it will always * be safe to enable them, but check anyway. */ - if (td->td_critnest == 0 && !(frame->tf_spsr & I32_bit)) + if (td->td_md.md_spinlock_count == 0 && !(frame->tf_spsr & I32_bit)) enable_interrupts(I32_bit); syscall(td, frame, insn); ==== //depot/projects/netsmp/src/sys/arm/include/_types.h#2 (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.6 2005/03/02 21:33:22 joerg Exp $ + * $FreeBSD: src/sys/arm/include/_types.h,v 1.8 2006/01/09 06:05:56 imp Exp $ */ #ifndef _MACHINE__TYPES_H_ ==== //depot/projects/netsmp/src/sys/arm/include/param.h#3 (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/netsmp/src/sys/boot/common/module.c#2 (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/netsmp/src/sys/cam/cam_periph.c#2 (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/netsmp/src/sys/cam/cam_xpt.c#3 (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/netsmp/src/sys/cam/scsi/scsi_da.c#4 (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/netsmp/src/sys/cam/scsi/scsi_sa.c#2 (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? */ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601152034.k0FKYfWx014233>