Date: Sat, 1 Mar 2008 17:02:14 GMT From: Maxim Zhuravlev <thioretic@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 136582 for review Message-ID: <200803011702.m21H2EOb054870@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=136582 Change 136582 by thioretic@thioretic on 2008/03/01 17:01:45 Integrate from parents. Affected files ... .. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/busdma_machdep.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/alpha/include/md_var.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/cia.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/acpica/madt.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/intr_machdep.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/machdep.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/GENERIC#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/NOTES#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/include/proc.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/clock.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/arm/arm/support.S#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/arm/include/asmacros.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/arm/include/atomic.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/boot/i386/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/boot/i386/gptboot/Makefile#1 branch .. //depot/projects/soc2007/thioretic_gidl2/boot/i386/gptboot/gptboot.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/boot/i386/gptboot/gptldr.S#1 branch .. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/biosdisk.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/devicename.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/boot/i386/pmbr/Makefile#1 branch .. //depot/projects/soc2007/thioretic_gidl2/boot/i386/pmbr/pmbr.s#1 branch .. //depot/projects/soc2007/thioretic_gidl2/boot/pc98/libpc98/biosdisk.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/cam/cam_xpt.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/freebsd32/freebsd32_ipc.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/compat/freebsd32/freebsd32_misc.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_ipc.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_stats.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/files#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/files.amd64#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/files.i386#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/newvers.sh#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/crypto/camellia/camellia-api.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/crypto/camellia/camellia.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/crypto/camellia/camellia.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/aac/aac_debug.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/aac/aac_pci.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/acpica/acpi_cpu.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/acpica/acpi_hpet.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/acpica/acpi_hpet.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/arcmsr/arcmsr.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ata/ata-all.h#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ata/ata-chipset.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ata/ata-disk.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ata/ata-dma.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ata/ata-lowlevel.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/bge/if_bge.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/drm/drm_drv.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/em/if_em.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/em/if_em.h#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/amd64-elf.hptrr_lib.o.uu#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/array.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/him.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/himfuncs.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/hptintf.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/hptrr_config.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/hptrr_config.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/hptrr_os_bsd.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/hptrr_osm_bsd.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/i386-elf.hptrr_lib.o.uu#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/ldm.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/list.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/os_bsd.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/hptrr/osm.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/ichwd/ichwd.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ichwd/ichwd.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/isp/isp_sbus.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/le/am7990.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/le/am79900.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mfi/mfi.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mfi/mfireg.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mii/e1000phy.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mii/gentbi.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mii/miidevs#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mii/nsphy.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mii/nsphyter.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/mii/nsphyterreg.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/msk/if_msk.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/if_mxge_var.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/mxge_mcp.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/mxge_rss_eth_z8e.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/mxge_rss_ethp_z8e.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/rss_eth_z8e.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/rss_ethp_z8e.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/ofw/openpromio.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/pci/pci.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/pci/pci_user.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/re/if_re.c#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/twe/twe.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/devfs/devfs_vnops.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/ntfs/ntfs_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/nullfs/null_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/nwfs/nwfs_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/smbfs/smbfs_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/geom/geom_bsd.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/geom/geom_gpt.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/acpica/madt.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/bios/apm.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/conf/GENERIC#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/conf/NOTES#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/conf/PAE#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/i386/machdep.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/include/proc.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/isa/clock.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux.h#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_proto.h#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_syscall.h#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_sysent.c#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/syscalls.master#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/pci/pci_pir.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/imgact_elf.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/init_main.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_conf.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_descrip.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_module.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/sysv_msg.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/uipc_sem.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/uipc_syscalls.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/vfs_default.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/vfs_vnops.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/vnode_if.src#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/Makefile#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/crypto/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/hptrr/Makefile#1 branch .. //depot/projects/soc2007/thioretic_gidl2/modules/mii/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/mxge/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/mxge/mxge_rss_eth_z8e/Makefile#1 branch .. //depot/projects/soc2007/thioretic_gidl2/modules/mxge/mxge_rss_ethp_z8e/Makefile#1 branch .. //depot/projects/soc2007/thioretic_gidl2/net/bpf.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/bpf.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_bridge.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_enc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_lagg.c#6 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/netisr.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/pfkeyv2.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/route.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/route.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net80211/ieee80211_input.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/netflow/netflow.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/netflow/ng_netflow.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/netgraph.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_base.c#5 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_bpf.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_iface.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_l2tp.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_ppp.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_pppoe.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_tee.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/in.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/in_pcb.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/ip_carp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/ip_input.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/tcp.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/tcp_subr.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/tcp_timer.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet6/esp_camellia.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/netinet6/esp_camellia.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/netinet6/esp_core.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet6/in6_pcb.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet6/ip6_output.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netipsec/xform_esp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/nfsclient/nfs_socket.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/nfsserver/nfs_srvcache.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/nfsserver/nfsrvcache.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/opencrypto/cryptodev.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/opencrypto/cryptodev.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/opencrypto/cryptosoft.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/opencrypto/xform.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/opencrypto/xform.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/pci/if_rlreg.h#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/pci/if_ti.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/security/audit/audit_bsm.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/security/mac/mac_posix_sem.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/copyright.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/gpt.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/mount.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/param.h#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/syscallsubr.h#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/vnode.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_alloc.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_balloc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_inode.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_rawread.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_softdep.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_vnops.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/fs.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/dinode.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/dir.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/quota.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/ufs_bmap.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/ufs_dirhash.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/ufs_inode.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/ufs_quota.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/ufs_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ufs/ufs_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/vm/vm_map.c#4 integrate Differences ... ==== //depot/projects/soc2007/thioretic_gidl2/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.51.2.2 2007/11/27 17:43:49 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.51.2.3 2007/12/10 20:14:16 jhb Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -77,7 +77,8 @@ STAILQ_ENTRY(bounce_page) links; }; -int busdma_swi_pending; +int busdma_pyxis_bug, busdma_swi_pending; +TUNABLE_INT("machdep.busdma_pyxis_bug", &busdma_pyxis_bug); static struct mtx bounce_lock; static STAILQ_HEAD(bp_list, bounce_page) bounce_page_list; @@ -514,8 +515,24 @@ vm_offset_t vaddr; bus_addr_t paddr; int seg; + bus_size_t boundary; + bus_size_t maxsegsz; /* + * Enforce a boundary of 8k for buffers that aren't allocated + * via bus_dmamem_alloc() on systems with the Pyxis pass 1 DMA + * bug. This is somewhat gross. + */ + boundary = dmat->boundary; + maxsegsz = dmat->maxsegsz; + if (busdma_pyxis_bug && map != &nobounce_dmamap) { + if (boundary == 0 || boundary > 8192) + boundary = 8192; + if (boundary < maxsegsz) + maxsegsz = boundary; + } + + /* * If we are being called during a callback, pagesneeded will * be non-zero, so we can avoid doing the work twice. */ @@ -566,7 +583,7 @@ vaddr = (vm_offset_t)buf; lastaddr = *lastaddrp; - bmask = ~(dmat->boundary - 1); + bmask = ~(boundary - 1); for (seg = *segp; buflen > 0 ; ) { /* @@ -587,8 +604,8 @@ /* * Make sure we don't cross any boundaries. */ - if (dmat->boundary > 0) { - baddr = (curaddr + dmat->boundary) & bmask; + if (boundary > 0) { + baddr = (curaddr + boundary) & bmask; if (sgsize > (baddr - curaddr)) sgsize = (baddr - curaddr); } @@ -611,8 +628,8 @@ first = 0; } else { if (curaddr == lastaddr && - (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && - (dmat->boundary == 0 || + (segs[seg].ds_len + sgsize) <= maxsegsz && + (boundary == 0 || (segs[seg].ds_addr & bmask) == (curaddr & bmask))) segs[seg].ds_len += sgsize; else { ==== //depot/projects/soc2007/thioretic_gidl2/alpha/include/md_var.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/include/md_var.h,v 1.23 2003/08/17 06:42:07 marcel Exp $ + * $FreeBSD: src/sys/alpha/include/md_var.h,v 1.23.10.1 2007/12/10 20:14:16 jhb Exp $ */ #ifndef _MACHINE_MD_VAR_H_ @@ -50,6 +50,7 @@ #endif extern long Maxmem; extern int busdma_swi_pending; +extern int busdma_pyxis_bug; extern struct rpb *hwrpb; extern volatile int mc_expected; extern volatile int mc_received; ==== //depot/projects/soc2007/thioretic_gidl2/alpha/pci/cia.c#2 (text+ko) ==== @@ -87,7 +87,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/pci/cia.c,v 1.44 2005/01/05 20:05:52 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/cia.c,v 1.44.2.1 2007/12/10 20:14:16 jhb Exp $"); #include "opt_cpu.h" @@ -490,6 +490,7 @@ ctrl &= ~(CTRL_RD_TYPE|CTRL_RL_TYPE|CTRL_RM_TYPE); REGVAL(CIA_CSR_CTRL) = ctrl; alpha_mb(); + busdma_pyxis_bug = 1; } #endif ==== //depot/projects/soc2007/thioretic_gidl2/amd64/acpica/madt.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.16.2.4 2007/10/05 15:22:35 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.16.2.5 2008/02/12 19:20:10 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -106,9 +106,11 @@ /* * Code to abuse the crashdump map to map in the tables for the early * probe. We cheat and make the following assumptions about how we - * use this KVA: page 0 is used to map in the first page of each table - * found via the RSDT or XSDT and pages 1 to n are used to map in the - * RSDT or XSDT. The offset is in pages; the length is in bytes. + * use this KVA: pages 0 and 1 are used to map in the header of each + * table found via the RSDT or XSDT and pages 2 to n are used to map + * in the RSDT or XSDT. We have to use 2 pages for the table headers + * in case a header spans a page boundary. The offset is in pages; + * the length is in bytes. */ static void * madt_map(vm_paddr_t pa, int offset, vm_offset_t length) @@ -232,7 +234,7 @@ printf("MADT: RSDP failed extended checksum\n"); return (ENXIO); } - xsdt = madt_map_table(rsdp->XsdtPhysicalAddress, 1, XSDT_SIG); + xsdt = madt_map_table(rsdp->XsdtPhysicalAddress, 2, XSDT_SIG); if (xsdt == NULL) { if (bootverbose) printf("MADT: Failed to map XSDT\n"); @@ -245,7 +247,7 @@ break; madt_unmap_table(xsdt); } else { - rsdt = madt_map_table(rsdp->RsdtPhysicalAddress, 1, RSDT_SIG); + rsdt = madt_map_table(rsdp->RsdtPhysicalAddress, 2, RSDT_SIG); if (rsdt == NULL) { if (bootverbose) printf("MADT: Failed to map RSDT\n"); ==== //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/intr_machdep.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.15.2.5 2007/11/26 15:08:35 scottl Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.15.2.6 2008/01/19 15:38:13 jhb Exp $ */ /* @@ -43,13 +43,14 @@ #include <sys/param.h> #include <sys/bus.h> #include <sys/interrupt.h> -#include <sys/lock.h> #include <sys/ktr.h> #include <sys/kernel.h> +#include <sys/lock.h> #include <sys/mutex.h> #include <sys/proc.h> #include <sys/syslog.h> #include <sys/systm.h> +#include <sys/sx.h> #include <machine/clock.h> #include <machine/intr_machdep.h> #ifdef DDB @@ -70,7 +71,8 @@ static int intrcnt_index; static struct intsrc *interrupt_sources[NUM_IO_INTS]; -static struct mtx intr_table_lock; +static struct sx intr_table_lock; +static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; #ifdef SMP @@ -108,14 +110,14 @@ { int error; - mtx_lock_spin(&intr_table_lock); + sx_xlock(&intr_table_lock); if (intr_pic_registered(pic)) error = EBUSY; else { STAILQ_INSERT_TAIL(&pics, pic, pics); error = 0; } - mtx_unlock_spin(&intr_table_lock); + sx_xunlock(&intr_table_lock); return (error); } @@ -137,16 +139,16 @@ (mask_fn)isrc->is_pic->pic_enable_source, "irq%d:", vector); if (error) return (error); - mtx_lock_spin(&intr_table_lock); + sx_xlock(&intr_table_lock); if (interrupt_sources[vector] != NULL) { - mtx_unlock_spin(&intr_table_lock); + sx_xunlock(&intr_table_lock); intr_event_destroy(isrc->is_event); return (EEXIST); } intrcnt_register(isrc); interrupt_sources[vector] = isrc; isrc->is_enabled = 0; - mtx_unlock_spin(&intr_table_lock); + sx_xunlock(&intr_table_lock); return (0); } @@ -170,19 +172,18 @@ error = intr_event_add_handler(isrc->is_event, name, handler, arg, intr_priority(flags), flags, cookiep); if (error == 0) { + sx_xlock(&intr_table_lock); intrcnt_updatename(isrc); - mtx_lock_spin(&intr_table_lock); if (!isrc->is_enabled) { isrc->is_enabled = 1; #ifdef SMP if (assign_cpu) intr_assign_next_cpu(isrc); #endif - mtx_unlock_spin(&intr_table_lock); isrc->is_pic->pic_enable_intr(isrc); - } else - mtx_unlock_spin(&intr_table_lock); + } isrc->is_pic->pic_enable_source(isrc); + sx_xunlock(&intr_table_lock); } return (error); } @@ -306,12 +307,12 @@ #ifndef DEV_ATPIC atpic_reset(); #endif - mtx_lock_spin(&intr_table_lock); + sx_xlock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_resume != NULL) pic->pic_resume(pic); } - mtx_unlock_spin(&intr_table_lock); + sx_xunlock(&intr_table_lock); } void @@ -319,12 +320,12 @@ { struct pic *pic; - mtx_lock_spin(&intr_table_lock); + sx_xlock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_suspend != NULL) pic->pic_suspend(pic); } - mtx_unlock_spin(&intr_table_lock); + sx_xunlock(&intr_table_lock); } static void @@ -347,8 +348,8 @@ { char straystr[MAXCOMLEN + 1]; - /* mtx_assert(&intr_table_lock, MA_OWNED); */ KASSERT(is->is_event != NULL, ("%s: isrc with no event", __func__)); + mtx_lock_spin(&intrcnt_lock); is->is_index = intrcnt_index; intrcnt_index += 2; snprintf(straystr, MAXCOMLEN + 1, "stray irq%d", @@ -357,17 +358,18 @@ is->is_count = &intrcnt[is->is_index]; intrcnt_setname(straystr, is->is_index + 1); is->is_straycount = &intrcnt[is->is_index + 1]; + mtx_unlock_spin(&intrcnt_lock); } void intrcnt_add(const char *name, u_long **countp) { - mtx_lock_spin(&intr_table_lock); + mtx_lock_spin(&intrcnt_lock); *countp = &intrcnt[intrcnt_index]; intrcnt_setname(name, intrcnt_index); intrcnt_index++; - mtx_unlock_spin(&intr_table_lock); + mtx_unlock_spin(&intrcnt_lock); } static void @@ -377,7 +379,8 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - mtx_init(&intr_table_lock, "intr table", NULL, MTX_SPIN); + sx_init(&intr_table_lock, "intr sources"); + mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL) @@ -482,14 +485,14 @@ return; /* Round-robin assign a CPU to each enabled source. */ - mtx_lock_spin(&intr_table_lock); + sx_xlock(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { isrc = interrupt_sources[i]; if (isrc != NULL && isrc->is_enabled) intr_assign_next_cpu(isrc); } - mtx_unlock_spin(&intr_table_lock); + sx_xunlock(&intr_table_lock); } SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, NULL) #endif ==== //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/machdep.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.638.2.13 2007/11/21 16:41:51 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.638.2.14 2007/12/19 21:01:35 rpaulo Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -154,6 +154,10 @@ extern vm_offset_t ksym_start, ksym_end; #endif +/* Intel ICH registers */ +#define ICH_PMBASE 0x400 +#define ICH_SMI_EN ICH_PMBASE + 0x30 + int _udatasel, _ucodesel, _ucode32sel; int cold = 1; @@ -185,6 +189,27 @@ cpu_startup(dummy) void *dummy; { + char *sysenv; + + /* + * On MacBooks, we need to disallow the legacy USB circuit to + * generate an SMI# because this can cause several problems, + * namely: incorrect CPU frequency detection and failure to + * start the APs. + * We do this by disabling a bit in the SMI_EN (SMI Control and + * Enable register) of the Intel ICH LPC Interface Bridge. + */ + sysenv = getenv("smbios.system.product"); + if (sysenv != NULL) { + if (strncmp(sysenv, "MacBook", 7) == 0) { + if (bootverbose) + printf("Disabling LEGACY_USB_EN bit on " + "Intel ICH.\n"); + outl(ICH_SMI_EN, inl(ICH_SMI_EN) & ~0x8); + } + freeenv(sysenv); + } + /* * Good {morning,afternoon,evening,night}. */ ==== //depot/projects/soc2007/thioretic_gidl2/amd64/conf/GENERIC#2 (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.439.2.18 2007/03/27 02:33:00 yongari Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.439.2.19 2007/12/15 06:03:43 scottl Exp $ machine amd64 cpu HAMMER @@ -117,6 +117,7 @@ device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x +device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx device rr232x # Highpoint RocketRAID 232x device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID ==== //depot/projects/soc2007/thioretic_gidl2/amd64/conf/NOTES#3 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.36.2.13 2007/10/02 15:59:52 gallatin Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.36.2.14 2007/12/15 06:03:43 scottl Exp $ # # @@ -289,6 +289,11 @@ # Marvell SATA chip. device hptmv +# +# Highpoint RocketRAID. Supports RR172x, RR222x, RR2240, RR232x, RR2340, +# RR2210, RR174x, RR2522, RR231x, RR230x. +device hptrr + # # Highpoint RocketRAID 232x. This is software RAID but with hardware # acceleration assistance for RAID_5. ==== //depot/projects/soc2007/thioretic_gidl2/amd64/include/proc.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)proc.h 7.1 (Berkeley) 5/15/91 - * $FreeBSD: src/sys/amd64/include/proc.h,v 1.24 2005/04/04 21:53:52 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/proc.h,v 1.24.2.1 2008/02/06 21:02:55 mav Exp $ */ #ifndef _MACHINE_PROC_H_ @@ -44,4 +44,17 @@ struct mdproc { }; +#ifdef _KERNEL + +/* Get the current kernel thread stack usage. */ +#define GET_STACK_USAGE(total, used) do { \ + struct thread *td = curthread; \ + (total) = td->td_kstack_pages * PAGE_SIZE; \ + (used) = (char *)td->td_kstack + \ + td->td_kstack_pages * PAGE_SIZE - \ + (char *)&td; \ +} while (0) + +#endif /* _KERNEL */ + #endif /* !_MACHINE_PROC_H_ */ ==== //depot/projects/soc2007/thioretic_gidl2/amd64/isa/clock.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.221.2.2 2007/06/29 21:05:27 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.221.2.4 2008/02/13 15:46:10 jhb Exp $"); /* * Routines to handle clock hardware. @@ -67,6 +67,7 @@ #include <sys/power.h> #include <machine/clock.h> +#include <machine/cpu.h> #include <machine/frame.h> #include <machine/intr_machdep.h> #include <machine/md_var.h> @@ -279,6 +280,7 @@ start = rdtsc(); end = start + (tsc_freq * n) / 1000000; do { + cpu_spinwait(); now = rdtsc(); } while (now < end || (now > start && end < start)); sched_unpin(); ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux.h#3 (text+ko) ==== @@ -27,7 +27,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/amd64/linux32/linux.h,v 1.1.8.3 2007/07/08 12:20:35 netchild Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.1.8.4 2007/12/08 08:48:07 dwmalone Exp $ */ #ifndef _AMD64_LINUX_H_ @@ -242,6 +242,19 @@ l_ulonglong st_ino; } __packed; +struct l_statfs64 { + l_int f_type; + l_int f_bsize; + uint64_t f_blocks; + uint64_t f_bfree; + uint64_t f_bavail; + uint64_t f_files; + uint64_t f_ffree; + l_fsid_t f_fsid; + l_int f_namelen; + l_int f_spare[6]; +} __packed; + struct l_new_utsname { char sysname[LINUX_MAX_UTSNAME]; char nodename[LINUX_MAX_UTSNAME]; ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_machdep.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.10.2.3 2007/08/29 15:04:25 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.10.2.4 2008/02/14 18:41:00 jkim Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -720,21 +720,22 @@ PROC_UNLOCK(p); } - /* This gives us our maximum stack size */ - if (linux_args->len > STACK_SIZE - GUARD_SIZE) - bsd_args.len = linux_args->len; - else - bsd_args.len = STACK_SIZE - GUARD_SIZE; - /* - * This gives us a new BOS. If we're using VM_STACK, then - * mmap will just map the top SGROWSIZ bytes, and let - * the stack grow down to the limit at BOS. If we're - * not using VM_STACK we map the full stack, since we - * don't have a way to autogrow it. + * This gives us our maximum stack size and a new BOS. + * If we're using VM_STACK, then mmap will just map + * the top SGROWSIZ bytes, and let the stack grow down + * to the limit at BOS. If we're not using VM_STACK + * we map the full stack, since we don't have a way + * to autogrow it. */ - bsd_args.addr = (caddr_t)PTRIN(linux_args->addr) - - bsd_args.len; + if (linux_args->len > STACK_SIZE - GUARD_SIZE) { + bsd_args.addr = (caddr_t)PTRIN(linux_args->addr); + bsd_args.len = linux_args->len; + } else { + bsd_args.addr = (caddr_t)PTRIN(linux_args->addr) - + (STACK_SIZE - GUARD_SIZE - linux_args->len); + bsd_args.len = STACK_SIZE - GUARD_SIZE; + } } else { bsd_args.addr = (caddr_t)PTRIN(linux_args->addr); bsd_args.len = linux_args->len; ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_proto.h#5 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.5.2.4 2007/12/03 21:54:16 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.4 2007/12/03 21:53:22 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.5.2.6 2007/12/08 08:50:36 dwmalone Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.5 2007/12/08 08:48:07 dwmalone Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -729,6 +729,7 @@ }; struct linux_statfs64_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char bufsize_l_[PADL_(size_t)]; size_t bufsize; char bufsize_r_[PADR_(size_t)]; char buf_l_[PADL_(struct l_statfs64_buf *)]; struct l_statfs64_buf * buf; char buf_r_[PADR_(struct l_statfs64_buf *)]; }; struct linux_fstatfs64_args { ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_syscall.h#5 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.5.2.4 2007/12/03 21:54:16 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.4 2007/12/03 21:53:22 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.5.2.6 2007/12/08 08:50:36 dwmalone Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.5 2007/12/08 08:48:07 dwmalone Exp */ #define LINUX_SYS_exit 1 ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysent.c#5 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.5.2.4 2007/12/03 21:54:16 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.4 2007/12/03 21:53:22 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.5.2.6 2007/12/08 08:50:36 dwmalone Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.5 2007/12/08 08:48:07 dwmalone Exp */ #include <bsm/audit_kevents.h> ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/syscalls.master#5 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.4 2007/12/03 21:53:22 jhb Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.5 2007/12/08 08:48:07 dwmalone Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -439,6 +439,7 @@ int flags, struct l_timespec *rqtp, \ struct l_timespec *rmtp); } 268 AUE_NULL MSTD { int linux_statfs64(char *path, \ + size_t bufsize, \ struct l_statfs64_buf *buf); } 269 AUE_NULL MSTD { int linux_fstatfs64(void); } 270 AUE_NULL MSTD { int linux_tgkill(int tgid, int pid, int sig); } ==== //depot/projects/soc2007/thioretic_gidl2/arm/arm/support.S#2 (text+ko) ==== @@ -23,10 +23,79 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ +/* + * Copyright 2003 Wasabi Systems, Inc. + * All rights reserved. + * + * Written by Steve C. Woodford for Wasabi Systems, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed for the NetBSD Project by + * Wasabi Systems, Inc. + * 4. The name of Wasabi Systems, Inc. may not be used to endorse + * or promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/* + * Copyright (c) 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Neil A. Carson and Mark Brinicombe + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ #include <machine/asm.h> #include <machine/asmacros.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.9 2005/04/12 22:46:09 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.9.2.1 2008/01/16 22:45:03 cognet Exp $"); #include "assym.s" ==== //depot/projects/soc2007/thioretic_gidl2/arm/include/asmacros.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.4 2005/04/07 22:03:04 cognet Exp $ + * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.4.2.1 2007/12/07 22:07:44 cognet Exp $ */ #ifndef _MACHINE_ASMACROS_H_ @@ -67,7 +67,13 @@ stmia r0, {r13-r14}^; /* Push the user mode registers */ \ mov r0, r0; /* NOP for previous instruction */ \ mrs r0, spsr_all; /* Put the SPSR on the stack */ \ - str r0, [sp, #-4]!; + str r0, [sp, #-4]!; \ + mov r0, #0xe0000004; \ + mov r1, #0; \ + str r1, [r0]; \ + mov r0, #0xe0000008; \ + mov r1, #0xffffffff; \ + str r1, [r0]; /* * PULLFRAME - macro to pull a trap frame from the stack in the current mode @@ -116,18 +122,16 @@ ldr r5, =0xe0000004; /* Check if there's any RAS */ \ ldr r3, [r5]; \ cmp r3, #0; /* Is the update needed ? */ \ - beq 1f; \ - ldr lr, [r0, #16]; \ - ldr r1, =0xe0000008; \ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803011702.m21H2EOb054870>