Date: Tue, 15 Mar 2005 14:07:55 GMT From: John-Mark Gurney <jmg@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 73216 for review Message-ID: <200503151407.j2FE7tXZ068489@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=73216 Change 73216 by jmg@jmg_carbon on 2005/03/15 14:07:12 pull in the latest changes... Affected files ... .. //depot/projects/arm/src/sys/alpha/alpha/busdma_machdep.c#3 integrate .. //depot/projects/arm/src/sys/alpha/include/bus.h#2 integrate .. //depot/projects/arm/src/sys/alpha/include/bus_dma.h#1 branch .. //depot/projects/arm/src/sys/amd64/amd64/busdma_machdep.c#3 integrate .. //depot/projects/arm/src/sys/amd64/amd64/fpu.c#3 integrate .. //depot/projects/arm/src/sys/amd64/amd64/local_apic.c#3 integrate .. //depot/projects/arm/src/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/arm/src/sys/amd64/include/_types.h#3 integrate .. //depot/projects/arm/src/sys/amd64/include/bus_amd64.h#3 integrate .. //depot/projects/arm/src/sys/amd64/include/bus_dma.h#2 integrate .. //depot/projects/arm/src/sys/amd64/include/cpufunc.h#3 integrate .. //depot/projects/arm/src/sys/amd64/include/critical.h#3 integrate .. //depot/projects/arm/src/sys/amd64/include/endian.h#3 integrate .. //depot/projects/arm/src/sys/amd64/include/in_cksum.h#3 integrate .. //depot/projects/arm/src/sys/amd64/include/pcpu.h#3 integrate .. //depot/projects/arm/src/sys/amd64/include/profile.h#3 integrate .. //depot/projects/arm/src/sys/amd64/include/stdarg.h#3 integrate .. //depot/projects/arm/src/sys/amd64/include/varargs.h#3 integrate .. //depot/projects/arm/src/sys/amd64/isa/clock.c#3 integrate .. //depot/projects/arm/src/sys/arm/arm/busdma_machdep.c#4 integrate .. //depot/projects/arm/src/sys/arm/include/bus.h#2 integrate .. //depot/projects/arm/src/sys/arm/include/bus_dma.h#1 branch .. //depot/projects/arm/src/sys/boot/i386/libi386/pxe.c#2 integrate .. //depot/projects/arm/src/sys/coda/cnode.h#2 integrate .. //depot/projects/arm/src/sys/coda/coda_psdev.c#2 integrate .. //depot/projects/arm/src/sys/coda/coda_subr.c#2 integrate .. //depot/projects/arm/src/sys/coda/coda_venus.c#2 integrate .. //depot/projects/arm/src/sys/coda/coda_vnops.c#2 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_socket.c#3 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_stats.c#3 integrate .. //depot/projects/arm/src/sys/conf/NOTES#5 integrate .. //depot/projects/arm/src/sys/conf/files#3 integrate .. //depot/projects/arm/src/sys/conf/files.amd64#3 integrate .. //depot/projects/arm/src/sys/conf/files.i386#4 integrate .. //depot/projects/arm/src/sys/conf/options#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/nve/adapter.h#1 branch .. //depot/projects/arm/src/sys/contrib/dev/nve/amd64/nvenetlib.o.bz2.uu#1 branch .. //depot/projects/arm/src/sys/contrib/dev/nve/basetype.h#1 branch .. //depot/projects/arm/src/sys/contrib/dev/nve/drvinfo.h#1 branch .. //depot/projects/arm/src/sys/contrib/dev/nve/i386/nvenetlib.o.bz2.uu#1 branch .. //depot/projects/arm/src/sys/contrib/dev/nve/os.h#1 branch .. //depot/projects/arm/src/sys/contrib/dev/nve/phy.h#1 branch .. //depot/projects/arm/src/sys/crypto/cast128/cast128.c#2 delete .. //depot/projects/arm/src/sys/crypto/cast128/cast128.h#2 delete .. //depot/projects/arm/src/sys/crypto/cast128/cast128sb.h#2 delete .. //depot/projects/arm/src/sys/crypto/md5.c#2 delete .. //depot/projects/arm/src/sys/crypto/md5.h#2 delete .. //depot/projects/arm/src/sys/crypto/rijndael/rijndael-alg-fst.c#2 integrate .. //depot/projects/arm/src/sys/crypto/rijndael/rijndael-alg-fst.h#2 delete .. //depot/projects/arm/src/sys/crypto/rijndael/rijndael-api-fst.c#2 integrate .. //depot/projects/arm/src/sys/crypto/rijndael/rijndael-api-fst.h#2 integrate .. //depot/projects/arm/src/sys/crypto/rijndael/rijndael.h#2 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi_pcib.c#2 integrate .. //depot/projects/arm/src/sys/dev/amr/amr.c#3 integrate .. //depot/projects/arm/src/sys/dev/ath/ath_rate/sample/sample.c#1 branch .. //depot/projects/arm/src/sys/dev/ath/ath_rate/sample/sample.h#1 branch .. //depot/projects/arm/src/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/arm/src/sys/dev/awi/awi.c#2 integrate .. //depot/projects/arm/src/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/arm/src/sys/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/arm/src/sys/dev/cardbus/cardbus.c#3 integrate .. //depot/projects/arm/src/sys/dev/fdc/fdc_isa.c#2 integrate .. //depot/projects/arm/src/sys/dev/nve/if_nve.c#1 branch .. //depot/projects/arm/src/sys/dev/nve/if_nvereg.h#1 branch .. //depot/projects/arm/src/sys/dev/ppbus/pps.c#4 integrate .. //depot/projects/arm/src/sys/dev/random/hash.c#2 integrate .. //depot/projects/arm/src/sys/dev/random/yarrow.c#2 integrate .. //depot/projects/arm/src/sys/dev/re/if_re.c#3 integrate .. //depot/projects/arm/src/sys/dev/snp/snp.c#2 integrate .. //depot/projects/arm/src/sys/dev/uart/uart_cpu_sparc64.c#2 integrate .. //depot/projects/arm/src/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/arm/src/sys/dev/usb/if_axe.c#2 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/arm/src/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/arm/src/sys/fs/deadfs/dead_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs.h#3 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_devs.c#2 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_rule.c#2 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_vnops.c#3 integrate .. //depot/projects/arm/src/sys/fs/fdescfs/fdesc_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/hpfs/hpfs.h#2 integrate .. //depot/projects/arm/src/sys/fs/hpfs/hpfs_hash.c#2 integrate .. //depot/projects/arm/src/sys/fs/hpfs/hpfs_vfsops.c#2 integrate .. //depot/projects/arm/src/sys/fs/hpfs/hpfs_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_conv.c#2 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfsmount.h#2 integrate .. //depot/projects/arm/src/sys/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/nullfs/null.h#2 integrate .. //depot/projects/arm/src/sys/fs/nullfs/null_subr.c#2 integrate .. //depot/projects/arm/src/sys/fs/nullfs/null_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/nwfs/nwfs_io.c#2 integrate .. //depot/projects/arm/src/sys/fs/nwfs/nwfs_node.c#2 integrate .. //depot/projects/arm/src/sys/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/arm/src/sys/fs/pseudofs/pseudofs.c#2 integrate .. //depot/projects/arm/src/sys/fs/pseudofs/pseudofs_fileno.c#2 integrate .. //depot/projects/arm/src/sys/fs/pseudofs/pseudofs_vncache.c#3 integrate .. //depot/projects/arm/src/sys/fs/pseudofs/pseudofs_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/arm/src/sys/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/arm/src/sys/fs/smbfs/smbfs_vnops.c#3 integrate .. //depot/projects/arm/src/sys/fs/udf/udf.h#2 integrate .. //depot/projects/arm/src/sys/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/arm/src/sys/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/umapfs/umap_vnops.c#2 integrate .. //depot/projects/arm/src/sys/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/arm/src/sys/geom/bde/g_bde.c#2 integrate .. //depot/projects/arm/src/sys/geom/bde/g_bde_crypt.c#2 integrate .. //depot/projects/arm/src/sys/geom/bde/g_bde_lock.c#2 integrate .. //depot/projects/arm/src/sys/geom/bde/g_bde_work.c#2 integrate .. //depot/projects/arm/src/sys/geom/geom_aes.c#2 integrate .. //depot/projects/arm/src/sys/geom/geom_disk.h#2 integrate .. //depot/projects/arm/src/sys/geom/geom_mbr.c#2 integrate .. //depot/projects/arm/src/sys/gnu/ext2fs/ext2_extern.h#2 integrate .. //depot/projects/arm/src/sys/gnu/ext2fs/ext2_ihash.c#2 delete .. //depot/projects/arm/src/sys/gnu/ext2fs/ext2_inode.c#2 integrate .. //depot/projects/arm/src/sys/gnu/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/arm/src/sys/gnu/ext2fs/ext2_vnops.c#3 integrate .. //depot/projects/arm/src/sys/i386/conf/GENERIC#2 integrate .. //depot/projects/arm/src/sys/i386/conf/NOTES#3 integrate .. //depot/projects/arm/src/sys/i386/conf/PAE#2 integrate .. //depot/projects/arm/src/sys/i386/i386/busdma_machdep.c#3 integrate .. //depot/projects/arm/src/sys/i386/include/bus_dma.h#2 integrate .. //depot/projects/arm/src/sys/i386/include/clock.h#2 integrate .. //depot/projects/arm/src/sys/i386/include/critical.h#3 integrate .. //depot/projects/arm/src/sys/i386/isa/clock.c#2 integrate .. //depot/projects/arm/src/sys/ia64/include/bus.h#2 integrate .. //depot/projects/arm/src/sys/ia64/include/bus_dma.h#1 branch .. //depot/projects/arm/src/sys/isofs/cd9660/cd9660_node.c#2 integrate .. //depot/projects/arm/src/sys/isofs/cd9660/cd9660_node.h#2 integrate .. //depot/projects/arm/src/sys/isofs/cd9660/cd9660_vfsops.c#2 integrate .. //depot/projects/arm/src/sys/isofs/cd9660/cd9660_vnops.c#2 integrate .. //depot/projects/arm/src/sys/isofs/cd9660/iso.h#2 integrate .. //depot/projects/arm/src/sys/kern/kern_conf.c#3 integrate .. //depot/projects/arm/src/sys/kern/kern_descrip.c#3 integrate .. //depot/projects/arm/src/sys/kern/kern_environment.c#3 integrate .. //depot/projects/arm/src/sys/kern/kern_exit.c#2 integrate .. //depot/projects/arm/src/sys/kern/kern_lock.c#2 integrate .. //depot/projects/arm/src/sys/kern/kern_proc.c#2 integrate .. //depot/projects/arm/src/sys/kern/subr_hints.c#2 integrate .. //depot/projects/arm/src/sys/kern/subr_unit.c#3 integrate .. //depot/projects/arm/src/sys/kern/subr_witness.c#3 integrate .. //depot/projects/arm/src/sys/kern/sys_socket.c#2 integrate .. //depot/projects/arm/src/sys/kern/syscalls.master#3 integrate .. //depot/projects/arm/src/sys/kern/tty.c#3 integrate .. //depot/projects/arm/src/sys/kern/uipc_accf.c#2 integrate .. //depot/projects/arm/src/sys/kern/uipc_mbuf.c#5 integrate .. //depot/projects/arm/src/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/arm/src/sys/kern/uipc_socket2.c#4 integrate .. //depot/projects/arm/src/sys/kern/uipc_syscalls.c#4 integrate .. //depot/projects/arm/src/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/arm/src/sys/kern/vfs_default.c#3 integrate .. //depot/projects/arm/src/sys/kern/vfs_hash.c#1 branch .. //depot/projects/arm/src/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/arm/src/sys/kern/vfs_syscalls.c#2 integrate .. //depot/projects/arm/src/sys/kern/vfs_vnops.c#3 integrate .. //depot/projects/arm/src/sys/kern/vnode_if.src#2 integrate .. //depot/projects/arm/src/sys/modules/Makefile#2 integrate .. //depot/projects/arm/src/sys/modules/ath_rate_sample/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/crypto/Makefile#2 integrate .. //depot/projects/arm/src/sys/modules/ext2fs/Makefile#2 integrate .. //depot/projects/arm/src/sys/modules/nve/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/pseudofs/Makefile#2 integrate .. //depot/projects/arm/src/sys/modules/ufs/Makefile#2 integrate .. //depot/projects/arm/src/sys/net/if.c#3 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_device.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_eiface.c#3 integrate .. //depot/projects/arm/src/sys/netgraph/ng_etf.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_iface.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_one2many.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_source.c#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_source.h#2 integrate .. //depot/projects/arm/src/sys/netinet/if_ether.c#3 integrate .. //depot/projects/arm/src/sys/netinet/in.c#2 integrate .. //depot/projects/arm/src/sys/netinet/tcp_sack.c#3 integrate .. //depot/projects/arm/src/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/arm/src/sys/netinet/tcp_var.h#2 integrate .. //depot/projects/arm/src/sys/netinet6/esp_core.c#2 integrate .. //depot/projects/arm/src/sys/netinet6/ipsec.c#3 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec.c#2 integrate .. //depot/projects/arm/src/sys/netipx/README#2 integrate .. //depot/projects/arm/src/sys/nfs4client/nfs4_vnops.c#3 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_node.c#2 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_subs.c#2 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_vnops.c#3 integrate .. //depot/projects/arm/src/sys/opencrypto/cryptosoft.c#2 integrate .. //depot/projects/arm/src/sys/opencrypto/rijndael.c#2 delete .. //depot/projects/arm/src/sys/opencrypto/rijndael.h#2 delete .. //depot/projects/arm/src/sys/opencrypto/xform.c#2 integrate .. //depot/projects/arm/src/sys/pc98/conf/GENERIC.hints#2 integrate .. //depot/projects/arm/src/sys/pc98/pc98/clock.c#2 integrate .. //depot/projects/arm/src/sys/pci/if_dc.c#3 integrate .. //depot/projects/arm/src/sys/powerpc/include/bus.h#2 integrate .. //depot/projects/arm/src/sys/powerpc/include/bus_dma.h#1 branch .. //depot/projects/arm/src/sys/powerpc/powerpc/busdma_machdep.c#3 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/trap.c#2 integrate .. //depot/projects/arm/src/sys/powerpc/psim/ata_iobus.c#2 integrate .. //depot/projects/arm/src/sys/sparc64/include/bus.h#2 integrate .. //depot/projects/arm/src/sys/sparc64/include/bus_dma.h#1 branch .. //depot/projects/arm/src/sys/sys/bus_dma.h#1 branch .. //depot/projects/arm/src/sys/sys/conf.h#3 integrate .. //depot/projects/arm/src/sys/sys/filio.h#2 integrate .. //depot/projects/arm/src/sys/sys/param.h#3 integrate .. //depot/projects/arm/src/sys/sys/socket.h#2 integrate .. //depot/projects/arm/src/sys/sys/socketvar.h#3 integrate .. //depot/projects/arm/src/sys/sys/systm.h#4 integrate .. //depot/projects/arm/src/sys/sys/vnode.h#3 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_inode.c#3 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_snapshot.c#3 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_vfsops.c#3 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/arm/src/sys/ufs/ufs/inode.h#2 integrate .. //depot/projects/arm/src/sys/ufs/ufs/ufs_extern.h#2 integrate .. //depot/projects/arm/src/sys/ufs/ufs/ufs_ihash.c#2 delete .. //depot/projects/arm/src/sys/ufs/ufs/ufs_inode.c#3 integrate .. //depot/projects/arm/src/sys/ufs/ufs/ufs_vfsops.c#2 integrate .. //depot/projects/arm/src/sys/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/arm/src/sys/vm/vnode_pager.c#3 integrate Differences ... ==== //depot/projects/arm/src/sys/alpha/alpha/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.49 2005/03/07 02:18:08 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.50 2005/03/12 02:43:50 mux Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -578,7 +578,7 @@ } if (sg->ds_len == 0) { - sg->ds_addr = paddr + alpha_XXX_dmamap_or; + sg->ds_addr = paddr | alpha_XXX_dmamap_or; sg->ds_len = size; } else if (paddr == nextpaddr) { sg->ds_len += size; @@ -588,7 +588,7 @@ seg++; if (seg > dmat->nsegments) break; - sg->ds_addr = paddr + alpha_XXX_dmamap_or; + sg->ds_addr = paddr | alpha_XXX_dmamap_or; sg->ds_len = size; } vaddr += size; @@ -668,7 +668,7 @@ * previous segment if possible. */ if (first) { - segs[seg].ds_addr = curaddr + alpha_XXX_dmamap_or; + segs[seg].ds_addr = curaddr | alpha_XXX_dmamap_or; segs[seg].ds_len = sgsize; first = 0; } else { @@ -680,7 +680,7 @@ else { if (++seg >= dmat->nsegments) break; - segs[seg].ds_addr = curaddr + alpha_XXX_dmamap_or; + segs[seg].ds_addr = curaddr | alpha_XXX_dmamap_or; segs[seg].ds_len = sgsize; } } ==== //depot/projects/arm/src/sys/alpha/include/bus.h#2 (text+ko) ==== @@ -67,7 +67,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.28 2005/01/29 21:43:33 ru Exp $ */ +/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.29 2005/03/14 16:46:27 scottl Exp $ */ #ifndef _ALPHA_BUS_H_ #define _ALPHA_BUS_H_ @@ -481,195 +481,6 @@ #define bus_space_copy_region_stream_4(t, h1, o1, h2, o2, c) \ bus_space_copy_region_4((t), (h1), (o1), (h2), (o2), (c)) -/* - * Flags used in various bus DMA methods. - */ -#define BUS_DMA_WAITOK 0x00 /* safe to sleep (pseudo-flag) */ -#define BUS_DMA_NOWAIT 0x01 /* not safe to sleep */ -#define BUS_DMA_ALLOCNOW 0x02 /* perform resource allocation now */ -#define BUS_DMA_COHERENT 0x04 /* hint: map memory in a coherent way */ -#define BUS_DMA_ZERO 0x08 /* allocate zero'ed memory */ -#define BUS_DMA_ISA 0x10 /* map memory for ISA dma */ -#define BUS_DMA_BUS2 0x20 /* placeholders for bus functions... */ -#define BUS_DMA_BUS3 0x40 -#define BUS_DMA_BUS4 0x80 - -/* Forwards needed by prototypes below. */ -struct mbuf; -struct uio; - -/* - * Operations performed by bus_dmamap_sync(). - */ -typedef int bus_dmasync_op_t; -#define BUS_DMASYNC_PREREAD 1 -#define BUS_DMASYNC_POSTREAD 2 -#define BUS_DMASYNC_PREWRITE 4 -#define BUS_DMASYNC_POSTWRITE 8 - -/* - * bus_dma_tag_t - * - * A machine-dependent opaque type describing the characteristics - * of how to perform DMA mappings. This structure encapsultes - * information concerning address and alignment restrictions, number - * of S/G segments, amount of data per S/G segment, etc. - */ -typedef struct bus_dma_tag *bus_dma_tag_t; - -/* - * bus_dmamap_t - * - * DMA mapping instance information. - */ -typedef struct bus_dmamap *bus_dmamap_t; - -/* - * bus_dma_segment_t - * - * Describes a single contiguous DMA transaction. Values - * are suitable for programming into DMA registers. - */ -typedef struct bus_dma_segment { - bus_addr_t ds_addr; /* DMA address */ - bus_size_t ds_len; /* length of transfer */ -} bus_dma_segment_t; - -/* - * A function that returns 1 if the address cannot be accessed by - * a device and 0 if it can be. - */ -typedef int bus_dma_filter_t(void *, bus_addr_t); - -/* - * A function that performs driver-specific syncronization on behalf of - * busdma. - */ -typedef enum { - BUS_DMA_LOCK = 0x01, - BUS_DMA_UNLOCK = 0x02, -} bus_dma_lock_op_t; - -typedef void bus_dma_lock_t(void *, bus_dma_lock_op_t); - -/* - * Allocate a device specific dma_tag encapsulating the constraints of - * the parent tag in addition to other restrictions specified: - * - * alignment: alignment for segments. - * boundary: Boundary that segments cannot cross. - * lowaddr: Low restricted address that cannot appear in a mapping. - * highaddr: High restricted address that cannot appear in a mapping. - * filtfunc: An optional function to further test if an address - * within the range of lowaddr and highaddr cannot appear - * in a mapping. - * filtfuncarg: An argument that will be passed to filtfunc in addition - * to the address to test. - * maxsize: Maximum mapping size supported by this tag. - * nsegments: Number of discontinuities allowed in maps. - * maxsegsz: Maximum size of a segment in the map. - * flags: Bus DMA flags. - * lockfunc: An optional function to handle driver-defined lock - * operations. - * lockfuncarg: An argument that will be passed to lockfunc in addition - * to the lock operation. - * dmat: A pointer to set to a valid dma tag should the return - * value of this function indicate success. - */ -/* XXX Should probably allow specification of alignment */ -int bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignemnt, - bus_size_t boundary, bus_addr_t lowaddr, - bus_addr_t highaddr, bus_dma_filter_t *filtfunc, - void *filtfuncarg, bus_size_t maxsize, int nsegments, - bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, - void *lockfuncarg, bus_dma_tag_t *dmat); - -int bus_dma_tag_destroy(bus_dma_tag_t dmat); - -/* - * Allocate a handle for mapping from kva/uva/physical - * address space into bus device space. - */ -int bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp); - -/* - * Destroy a handle for mapping from kva/uva/physical - * address space into bus device space. - */ -int bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map); - -/* - * Allocate a piece of memory that can be efficiently mapped into - * bus device space based on the constraints lited in the dma tag. - * A dmamap to for use with dmamap_load is also allocated. - */ -int bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, - bus_dmamap_t *mapp); - -/* - * Free a piece of memory and it's allociated dmamap, that was allocated - * via bus_dmamem_alloc. - */ -void bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map); - -/* - * A function that processes a successfully loaded dma map or an error - * from a delayed load map. - */ -typedef void bus_dmamap_callback_t(void *, bus_dma_segment_t *, int, int); - -/* - * Map the buffer buf into bus space using the dmamap map. - */ -int bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, - bus_size_t buflen, bus_dmamap_callback_t *callback, - void *callback_arg, int flags); - -/* - * Like bus_dmamap_callback but includes map size in bytes. This is - * defined as a separate interface to maintain compatiiblity for users - * of bus_dmamap_callback_t--at some point these interfaces should be merged. - */ -typedef void bus_dmamap_callback2_t(void *, bus_dma_segment_t *, int, bus_size_t, int); -/* - * Like bus_dmamap_load but for mbufs. Note the use of the - * bus_dmamap_callback2_t interface. - */ -int bus_dmamap_load_mbuf(bus_dma_tag_t dmat, bus_dmamap_t map, - struct mbuf *mbuf, - bus_dmamap_callback2_t *callback, void *callback_arg, - int flags); -int bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map, - struct mbuf *mbuf, bus_dma_segment_t *segs, - int *nsegs, int flags); -/* - * Like bus_dmamap_load but for uios. Note the use of the - * bus_dmamap_callback2_t interface. - */ -int bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, - struct uio *ui, - bus_dmamap_callback2_t *callback, void *callback_arg, - int flags); - -/* - * Perform a syncronization operation on the given map. - */ -void _bus_dmamap_sync(bus_dma_tag_t, bus_dmamap_t, bus_dmasync_op_t); -#define bus_dmamap_sync(dmat, dmamap, op) \ - if ((dmamap) != NULL) \ - _bus_dmamap_sync(dmat, dmamap, op) - -/* - * Release the mapping held by map. - */ -void _bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map); -#define bus_dmamap_unload(dmat, dmamap) \ - if ((dmamap) != NULL) \ - _bus_dmamap_unload(dmat, dmamap) - -/* - * Generic helper function for manipulating mutexes. - */ -void busdma_lock_mutex(void *arg, bus_dma_lock_op_t op); +#include <machine/bus_dma.h> #endif /* _ALPHA_BUS_H_ */ ==== //depot/projects/arm/src/sys/amd64/amd64/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.67 2005/03/07 02:16:03 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.70 2005/03/12 07:05:59 scottl Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -225,8 +225,8 @@ newtag = (bus_dma_tag_t)malloc(sizeof(*newtag), M_DEVBUF, M_ZERO | M_NOWAIT); if (newtag == NULL) { - CTR3(KTR_BUSDMA, "bus_dma_tag_create returned tag %p tag " - "flags 0x%x error %d", newtag, 0, error); + CTR4(KTR_BUSDMA, "%s returned tag %p tag flags 0x%x error %d", + __func__, newtag, 0, error); return (ENOMEM); } @@ -307,8 +307,8 @@ } else { *dmat = newtag; } - CTR3(KTR_BUSDMA, "bus_dma_tag_create returned tag %p tag flags 0x%x " - "error %d", newtag, (newtag != NULL ? newtag->flags : 0), error); + CTR4(KTR_BUSDMA, "%s returned tag %p tag flags 0x%x error %d", + __func__, newtag, (newtag != NULL ? newtag->flags : 0), error); return (error); } @@ -348,8 +348,7 @@ } } out: - CTR2(KTR_BUSDMA, "bus_dma_tag_destroy tag %p error %d", dmat_copy, - error); + CTR3(KTR_BUSDMA, "%s tag %p error %d", __func__, dmat_copy, error); return (error); } @@ -369,8 +368,8 @@ sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF, M_NOWAIT); if (dmat->segments == NULL) { - CTR2(KTR_BUSDMA, "bus_dmamap_create: tag %p error %d", - dmat, ENOMEM); + CTR3(KTR_BUSDMA, "%s: tag %p error %d", + __func__, dmat, ENOMEM); return (ENOMEM); } } @@ -383,18 +382,20 @@ if (dmat->flags & BUS_DMA_COULD_BOUNCE) { /* Must bounce */ + struct bounce_zone *bz; int maxpages; if (dmat->bounce_zone == NULL) { if ((error = alloc_bounce_zone(dmat)) != 0) return (error); } + bz = dmat->bounce_zone; *mapp = (bus_dmamap_t)malloc(sizeof(**mapp), M_DEVBUF, M_NOWAIT | M_ZERO); if (*mapp == NULL) { - CTR2(KTR_BUSDMA, "bus_dmamap_create: tag %p error %d", - dmat, ENOMEM); + CTR3(KTR_BUSDMA, "%s: tag %p error %d", + __func__, dmat, ENOMEM); return (ENOMEM); } @@ -405,13 +406,17 @@ * Attempt to add pages to our pool on a per-instance * basis up to a sane limit. */ - maxpages = MIN(MAX_BPAGES, Maxmem - atop(dmat->lowaddr)); + if (dmat->alignment > 1) + maxpages = MAX_BPAGES; + else + maxpages = MIN(MAX_BPAGES, Maxmem -atop(dmat->lowaddr)); if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 - || (dmat->map_count > 0 && total_bpages < maxpages)) { + || (dmat->map_count > 0 && bz->total_bpages < maxpages)) { int pages; pages = MAX(atop(dmat->maxsize), 1); - pages = MIN(maxpages - total_bpages, pages); + pages = MIN(maxpages - bz->total_bpages, pages); + pages = MAX(pages, 1); if (alloc_bounce_pages(dmat, pages) < pages) error = ENOMEM; @@ -427,8 +432,8 @@ } if (error == 0) dmat->map_count++; - CTR3(KTR_BUSDMA, "bus_dmamap_create: tag %p tag flags 0x%x error %d", - dmat, dmat->flags, error); + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", + __func__, dmat, dmat->flags, error); return (error); } @@ -441,14 +446,14 @@ { if (map != NULL && map != &nobounce_dmamap) { if (STAILQ_FIRST(&map->bpages) != NULL) { - CTR2(KTR_BUSDMA, "bus_dmamap_destroy: tag %p error %d", - dmat, EBUSY); + CTR3(KTR_BUSDMA, "%s: tag %p error %d", + __func__, dmat, EBUSY); return (EBUSY); } free(map, M_DEVBUF); } dmat->map_count--; - CTR1(KTR_BUSDMA, "bus_dmamap_destroy: tag %p error 0", dmat); + CTR2(KTR_BUSDMA, "%s: tag %p error 0", __func__, dmat); return (0); } @@ -479,8 +484,8 @@ sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF, M_NOWAIT); if (dmat->segments == NULL) { - CTR3(KTR_BUSDMA, "bus_dmamem_alloc: tag %p tag " - "flags 0x%x error %d", dmat, dmat->flags, ENOMEM); + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", + __func__, dmat, dmat->flags, ENOMEM); return (ENOMEM); } } @@ -500,12 +505,12 @@ dmat->boundary); } if (*vaddr == NULL) { - CTR3(KTR_BUSDMA, "bus_dmamem_alloc: tag %p tag flags 0x%x " - "error %d", dmat, dmat->flags, ENOMEM); + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", + __func__, dmat, dmat->flags, ENOMEM); return (ENOMEM); } - CTR3(KTR_BUSDMA, "bus_dmamem_alloc: tag %p tag flags 0x%x error %d", - dmat, dmat->flags, ENOMEM); + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", + __func__, dmat, dmat->flags, ENOMEM); return (0); } @@ -528,8 +533,7 @@ else { contigfree(vaddr, dmat->maxsize, M_DEVBUF); } - CTR2(KTR_BUSDMA, "bus_dmamem_free: tag %p flags 0x%x", dmat, - dmat->flags); + CTR3(KTR_BUSDMA, "%s: tag %p flags 0x%x", __func__, dmat, dmat->flags); } /* @@ -698,8 +702,8 @@ &lastaddr, dmat->segments, &nsegs, 1); if (error == EINPROGRESS) { - CTR3(KTR_BUSDMA, "bus_dmamap_load: tag %p tag flags 0x%x " - "error %d", dmat, dmat->flags, error); + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", + __func__, dmat, dmat->flags, error); return (error); } @@ -708,8 +712,8 @@ else (*callback)(callback_arg, dmat->segments, nsegs + 1, 0); - CTR3(KTR_BUSDMA, "bus_dmamap_load: tag %p tag flags 0x%x error 0 " - "nsegs %d", dmat, dmat->flags, nsegs + 1); + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error 0 nsegs %d", + __func__, dmat, dmat->flags, nsegs + 1); return (0); } @@ -755,8 +759,8 @@ (*callback)(callback_arg, dmat->segments, nsegs+1, m0->m_pkthdr.len, error); } - CTR4(KTR_BUSDMA, "bus_dmamap_load_mbuf: tag %p tag flags 0x%x " - "error %d nsegs %d", dmat, dmat->flags, error, nsegs + 1); + CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", + __func__, dmat, dmat->flags, error, nsegs + 1); return (error); } @@ -792,8 +796,8 @@ /* XXX FIXME: Having to increment nsegs is really annoying */ ++*nsegs; - CTR4(KTR_BUSDMA, "bus_dmamap_load_mbuf: tag %p tag flags 0x%x " - "error %d nsegs %d", dmat, dmat->flags, error, *nsegs); + CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", + __func__, dmat, dmat->flags, error, *nsegs); return (error); } @@ -852,8 +856,8 @@ (*callback)(callback_arg, dmat->segments, nsegs+1, uio->uio_resid, error); } - CTR4(KTR_BUSDMA, "bus_dmamap_load_uio: tag %p tag flags 0x%x " - "error %d nsegs %d", dmat, dmat->flags, error, nsegs + 1); + CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", + __func__, dmat, dmat->flags, error, nsegs + 1); return (error); } @@ -883,8 +887,8 @@ * the caches on broken hardware */ dmat->bounce_zone->total_bounced++; - CTR3(KTR_BUSDMA, "_bus_dmamap_sync: tag %p tag flags 0x%x " - "op 0x%x performing bounce", op, dmat, dmat->flags); + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x op 0x%x " + "performing bounce", __func__, op, dmat, dmat->flags); if (op & BUS_DMASYNC_PREWRITE) { while (bpage != NULL) { ==== //depot/projects/arm/src/sys/amd64/amd64/fpu.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.156 2005/03/02 21:33:21 joerg Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.157 2005/03/11 22:16:09 peter Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -77,7 +77,7 @@ : : "n" (CR0_TS) : "ax") #define stop_emulating() __asm("clts") -#else /* !__GNUCLIKE_ASM */ +#else /* !(__GNUCLIKE_ASM && !lint) */ void fldcw(caddr_t addr); void fnclex(void); @@ -89,7 +89,7 @@ void start_emulating(void); void stop_emulating(void); -#endif /* __GNUCLIKE_ASM */ +#endif /* __GNUCLIKE_ASM && !lint */ #define GET_FPU_CW(thread) ((thread)->td_pcb->pcb_save.sv_env.en_cw) #define GET_FPU_SW(thread) ((thread)->td_pcb->pcb_save.sv_env.en_sw) ==== //depot/projects/arm/src/sys/amd64/amd64/local_apic.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.12 2005/02/28 23:37:35 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.13 2005/03/11 22:12:38 peter Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -67,9 +67,9 @@ CTASSERT(APIC_LOCAL_INTS == 240); CTASSERT(IPI_STOP < APIC_SPURIOUS_INT); -#define LAPIC_TIMER_HZ_DIVIDER 3 -#define LAPIC_TIMER_STATHZ_DIVIDER 23 -#define LAPIC_TIMER_PROFHZ_DIVIDER 2 +#define LAPIC_TIMER_HZ_DIVIDER 2 +#define LAPIC_TIMER_STATHZ_DIVIDER 15 +#define LAPIC_TIMER_PROFHZ_DIVIDER 3 /* * Support for local APICs. Local APICs manage interrupts on each @@ -131,8 +131,6 @@ volatile lapic_t *lapic; static u_long lapic_timer_divisor, lapic_timer_period, lapic_timer_hz; -static u_long *lapic_virtual_hardclock, *lapic_virtual_statclock, - *lapic_virtual_profclock; static void lapic_enable(void); static void lapic_timer_enable_intr(void); @@ -370,9 +368,6 @@ stathz = lapic_timer_hz / LAPIC_TIMER_STATHZ_DIVIDER; profhz = lapic_timer_hz / LAPIC_TIMER_PROFHZ_DIVIDER; lapic_timer_period = value / lapic_timer_hz; - intrcnt_add("lapic: hardclock", &lapic_virtual_hardclock); - intrcnt_add("lapic: statclock", &lapic_virtual_statclock); - intrcnt_add("lapic: profclock", &lapic_virtual_profclock); /* * Start up the timer on the BSP. The APs will kick off their @@ -627,10 +622,9 @@ la->la_hard_ticks += hz; if (la->la_hard_ticks >= lapic_timer_hz) { la->la_hard_ticks -= lapic_timer_hz; - if (PCPU_GET(cpuid) == 0) { - (*lapic_virtual_hardclock)++; + if (PCPU_GET(cpuid) == 0) hardclock(&frame); - } else + else hardclock_process(&frame); } @@ -638,8 +632,6 @@ la->la_stat_ticks += stathz; if (la->la_stat_ticks >= lapic_timer_hz) { la->la_stat_ticks -= lapic_timer_hz; - if (PCPU_GET(cpuid) == 0) - (*lapic_virtual_statclock)++; statclock(&frame); } @@ -647,8 +639,6 @@ la->la_prof_ticks += profhz; if (la->la_prof_ticks >= lapic_timer_hz) { la->la_prof_ticks -= lapic_timer_hz; - if (PCPU_GET(cpuid) == 0) - (*lapic_virtual_profclock)++; if (profprocs != 0) profclock(&frame); } ==== //depot/projects/arm/src/sys/amd64/conf/GENERIC#3 (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.429 2005/02/28 23:39:58 peter Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.430 2005/03/12 00:29:29 obrien Exp $ machine amd64 cpu HAMMER @@ -176,6 +176,7 @@ device de # DEC/Intel DC21x4x (``Tulip'') device em # Intel PRO/1000 adapter Gigabit Ethernet Card device ixgb # Intel PRO/10GbE Ethernet Card +device nve # nVidia nForce MCP on-board Ethernet Networking device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') ==== //depot/projects/arm/src/sys/amd64/include/_types.h#3 (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.7 2005/03/02 21:33:21 joerg Exp $ + * $FreeBSD: src/sys/amd64/include/_types.h,v 1.8 2005/03/11 22:16:09 peter Exp $ */ #ifndef _MACHINE__TYPES_H_ @@ -108,8 +108,8 @@ #endif #if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \ && !defined(__NO_GNUC_VA_LIST) -#define __GNUC_VA_LIST -typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ +#define __GNUC_VA_LIST +typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ #endif #endif /* !_MACHINE__TYPES_H_ */ ==== //depot/projects/arm/src/sys/amd64/include/bus_amd64.h#3 (text+ko) ==== @@ -67,11 +67,15 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/amd64/include/bus_amd64.h,v 1.28 2005/03/02 21:33:21 joerg Exp $ */ +/* $FreeBSD: src/sys/amd64/include/bus_amd64.h,v 1.29 2005/03/11 22:16:09 peter Exp $ */ #ifndef _AMD64_BUS_AMD64_H_ #define _AMD64_BUS_AMD64_H_ +#ifndef _SYS_CDEFS_H_ +#error this file needs sys/cdefs.h as a prerequisite +#endif + #include <machine/cpufunc.h> #ifndef _SYS_CDEFS_H_ @@ -437,7 +441,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ 1: inw %w2,%%ax \n\ @@ -456,7 +460,7 @@ #endif { bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ repne \n\ @@ -479,7 +483,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ 1: inl %w2,%%eax \n\ @@ -498,7 +502,7 @@ #endif { bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ repne \n\ @@ -627,7 +631,7 @@ else #endif { -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ 1: lodsb \n\ @@ -656,7 +660,7 @@ else #endif { -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ 1: lodsw \n\ @@ -685,7 +689,7 @@ else #endif { -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ 1: lodsl \n\ @@ -735,7 +739,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ 1: lodsb \n\ @@ -754,7 +758,7 @@ #endif { bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ repne \n\ @@ -777,7 +781,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ 1: lodsw \n\ @@ -796,7 +800,7 @@ #endif { bus_space_handle_t _port_ = bsh + offset; -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ repne \n\ @@ -819,7 +823,7 @@ #endif { int _port_ = bsh + offset; -#ifdef __GNUCLIKE_ASM +#ifdef __GNUCLIKE_ASM __asm __volatile(" \n\ cld \n\ 1: lodsl \n\ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503151407.j2FE7tXZ068489>