PERFORCE change 130352 for review

Maxim Zhuravlev thioretic at FreeBSD.org
Thu Dec 6 08:37:38 PST 2007


http://perforce.freebsd.org/chv.cgi?CH=130352

Change 130352 by thioretic at thioretic on 2007/12/06 16:36:57

	IFC

Affected files ...

.. //depot/projects/soc2007/thioretic_gidl/alpha/alpha/busdma_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/alpha/interrupt.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/alpha/pmap.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/include/elf.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/isa/isa.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/pci/pcibus.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/db_trace.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/exception.S#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/intr_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/local_apic.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/machdep.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/msi.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/pmap.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/trap.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/include/elf.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/include/pci_cfgreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_proto.h#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_syscall.h#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_sysent.c#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/syscalls.master#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/pci/pci_cfgreg.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/arm/busdma_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/arm/mem.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/arm/pmap.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/arm/vm_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/at91/at91rm92reg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/at91/if_ate.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/at91/kb920x_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/at91/std.at91#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/at91/std.kb920x#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/conf/HL200#1 branch
.. //depot/projects/soc2007/thioretic_gidl/arm/include/elf.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/include/pmap.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/include/sf_buf.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/include/vmparam.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/xscale/i80321/i80321_timer.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/xscale/i80321/iq31244_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/xscale/i80321/std.iq31244#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/xscale/ixp425/files.ixp425#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/xscale/ixp425/if_npe.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/xscale/ixp425/ixp425_npe.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/xscale/ixp425/ixp425_npevar.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/common/ufsread.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/ficl/Makefile#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/i386/boot2/boot2.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/i386/cdboot/cdboot.s#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/i386/libi386/bioscd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/i386/libi386/biosdisk.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/i386/loader/main.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/pc98/Makefile.inc#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/pc98/boot2/boot.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/pc98/cdboot/cdboot.s#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/pc98/libpc98/bioscd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/pc98/libpc98/biosdisk.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/pc98/loader/main.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/bsm/audit.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/bsm/audit_internal.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/bsm/audit_kevents.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/bsm/audit_record.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/freebsd32/freebsd32_misc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_ipc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/svr4/svr4_ipc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/svr4/svr4_proto.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/svr4/svr4_syscall.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/svr4/svr4_syscallnames.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/svr4/svr4_sysent.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/svr4/syscalls.master#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/newvers.sh#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/options.arm#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/dev/npe/IxNpeMicrocode.dat.uu#1 branch
.. //depot/projects/soc2007/thioretic_gidl/contrib/dev/npe/LICENSE#1 branch
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/fil.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_auth.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_auth.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_compat.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_fil.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_frag.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_frag.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_ftp_pxy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_htable.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_htable.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_ipsec_pxy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_irc_pxy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_log.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_lookup.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_lookup.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_nat.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_nat.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_pool.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_pool.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_pptp_pxy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_proxy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_proxy.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_raudio_pxy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_rcmd_pxy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_rpcb_pxy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_scan.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_scan.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_state.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_state.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_sync.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ip_sync.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/ipl.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/pf/net/pf.c#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/ddb/db_command.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpi_support/acpi_ibm.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi_battery.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi_cpu.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi_hpet.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi_pci_link.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi_timer.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpivar.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/an/if_an.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/an/if_anreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-all.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-all.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-chipset.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-dma.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-pci.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/atapi-cd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/atapi-cd.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/atapi-fd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/atapi-tape.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ath/if_ath.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/common/cxgb_common.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/common/cxgb_ctl_defs.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/common/cxgb_sge_defs.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/common/cxgb_t3_hw.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/common/cxgb_vsc7323.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/common/cxgb_xgmac.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_adapter.h#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_include.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_main.c#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_offload.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_osdep.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_sge.c#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/t3fw-4.5.0.bin.gz.uu#2 delete
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/t3fw-4.7.0.bin.gz.uu#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/if_em.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/em/if_em.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/firewire/fwohci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/hwpmc/hwpmc_x86.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ichsmb/ichsmb_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ipw/if_ipw.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/iwi/if_iwi.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mii/e1000phy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mii/e1000phyreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mii/miidevs#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mii/rgephy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mii/rgephyreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/pccard/pccard_cis_quirks.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/pccard/pccarddevs#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/pci/pci_pci.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/pci/pcireg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/random/yarrow.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/re/if_re.c#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/sound/pci/atiixp.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/sound/pci/atiixp.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/sound/pci/hda/hdac.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/sound/pci/t4dwave.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/sound/pcm/ac97.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/sound/pcm/ac97_patch.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/syscons/syscons.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/syscons/syscons.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/twa/tw_cl_init.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/twa/tw_cl_intr.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/twa/tw_cl_io.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/twa/tw_cl_misc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/twa/tw_cl_share.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/twa/tw_osl.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/twa/tw_osl_cam.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/twa/tw_osl_freebsd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/twa/tw_osl_share.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/usb/ukbd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/usb/usbdevs#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/usb/uscanner.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/utopia/utopia.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/fs/nullfs/null_subr.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/fs/nullfs/null_vnops.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/fs/pseudofs/pseudofs_vnops.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/fs/unionfs/union.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/fs/unionfs/union_subr.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/fs/unionfs/union_vfsops.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/fs/unionfs/union_vnops.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/geode.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/intr_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/msi.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/pmap.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/ibcs2/ibcs2_ipc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/include/bootinfo.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/include/elf.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_proto.h#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_syscall.h#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_sysent.c#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/syscalls.master#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/pci/pci_cfgreg.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/ia64/ia64/interrupt.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/ia64/ia64/pmap.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/ia64/include/elf.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_fork.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_intr.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_linker.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_mbuf.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_proc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_sig.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_thread.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#26 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/subr_rman.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/sys_pipe.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/sysv_sem.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/sysv_shm.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/tty_pty.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/modules/Makefile#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/modules/cxgb/Makefile#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/bpf.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/bpf_filter.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/if_lagg.c#5 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/if_lagg.h#5 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/route.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/net80211/ieee80211_input.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/net80211/ieee80211_node.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/netgraph.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_base.c#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_socket.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/netinet6/nd6.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/nfsclient/bootp_subr.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/nfsclient/nfs_diskless.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/nfsclient/nfs_socket.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/nfsclient/nfs_subs.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/nfsclient/nfs_vfsops.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/nfsclient/nfsdiskless.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/nfsserver/nfs_serv.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pc98/pc98/machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp_ali.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp_amd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp_amd64.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp_ati.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp_i810.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp_intel.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp_nvidia.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp_sis.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agp_via.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/agppriv.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_rl.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_rlreg.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_sis.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_sisreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_vr.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_vrreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/nfsmb.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/include/elf.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/powerpc/db_interface.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/powerpc/pmap.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_arg.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_bsm.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_bsm_klib.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_bsm_token.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_ioctl.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_pipe.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_private.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_syscalls.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_trigger.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/security/audit/audit_worker.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/conf/DEFAULTS#1 branch
.. //depot/projects/soc2007/thioretic_gidl/sparc64/conf/GENERIC#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/include/elf.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/sparc64/db_interface.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/sparc64/elf_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/sparc64/pmap.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/bus.h#10 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/elf32.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/elf64.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/elf_common.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/elf_generic.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/linker.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/param.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/proc.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/rman.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/syscallsubr.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/phys_pager.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/pmap.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/uma_core.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/vm_fault.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/vm_map.c#3 integrate

Differences ...

==== //depot/projects/soc2007/thioretic_gidl/alpha/alpha/busdma_machdep.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.51.2.1 2005/09/26 19:35:33 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.51.2.2 2007/11/27 17:43:49 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -128,8 +128,8 @@
 
 	retval = 0;
 	do {
-		if (paddr > dmat->lowaddr
-		 && paddr <= dmat->highaddr
+		if (((paddr > dmat->lowaddr && paddr <= dmat->highaddr)
+		 || ((paddr & (dmat->alignment - 1)) != 0))
 		 && (dmat->filter == NULL
 		  || (*dmat->filter)(dmat->filterarg, paddr) != 0))
 			retval = 1;
@@ -179,7 +179,8 @@
 #endif
 }
 
-#define BUS_DMA_MIN_ALLOC_COMP BUS_DMA_BUS4
+#define BUS_DMA_COULD_BOUNCE	BUS_DMA_BUS3
+#define BUS_DMA_MIN_ALLOC_COMP	BUS_DMA_BUS4
 /*
  * Allocate a device specific dma_tag.
  */
@@ -194,10 +195,15 @@
 	bus_dma_tag_t newtag;
 	int error = 0;
 
+	/* Basic sanity checking */
+	if (boundary != 0 && boundary < maxsegsz)
+		maxsegsz = boundary;
+
 	/* Return a NULL tag on failure */
 	*dmat = NULL;
 
-	newtag = (bus_dma_tag_t)malloc(sizeof(*newtag), M_DEVBUF, M_NOWAIT);
+	newtag = (bus_dma_tag_t)malloc(sizeof(*newtag), M_DEVBUF,
+	    M_ZERO | M_NOWAIT);
 	if (newtag == NULL)
 		return (ENOMEM);
 
@@ -221,7 +227,6 @@
 		newtag->lockfunc = dflt_lock;
 		newtag->lockfuncarg = NULL;
 	}
-
 	newtag->segments = NULL;
 
 	/* Take into account any restrictions imposed by our parent tag */
@@ -245,8 +250,12 @@
 		if (newtag->parent != NULL)
 			atomic_add_int(&parent->ref_count, 1);
 	}
-	
-	if (newtag->lowaddr < ptoa(Maxmem) && (flags & BUS_DMA_ALLOCNOW) != 0) {
+
+	if (newtag->lowaddr < ptoa(Maxmem) || newtag->alignment > 1)
+		newtag->flags |= BUS_DMA_COULD_BOUNCE;
+
+	if (((newtag->flags & BUS_DMA_COULD_BOUNCE) != 0) &&
+	    (flags & BUS_DMA_ALLOCNOW) != 0) {
 		/* Must bounce */
 
 		if (ptoa(total_bpages) < maxsize) {
@@ -261,7 +270,7 @@
 		/* Performed initial allocation */
 		newtag->flags |= BUS_DMA_MIN_ALLOC_COMP;
 	}
-	
+
 	if (error != 0) {
 		free(newtag, M_DEVBUF);
 	} else {
@@ -336,7 +345,13 @@
 			return (ENOMEM);
 	}
 
-	if (dmat->lowaddr < ptoa(Maxmem)) {
+	/*
+	 * Bouncing might be required if the driver asks for an active
+	 * exclusion region, a data alignment that is stricter than 1, and/or
+	 * an active address boundary.
+	 */
+	if (dmat->flags & BUS_DMA_COULD_BOUNCE) {
+
 		/* Must bounce */
 		int maxpages;
 
@@ -352,18 +367,21 @@
 		 * 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 && total_bpages < maxpages)) {
 			int pages;
 
-			pages = atop(dmat->maxsize) + 1;
+			pages = MAX(atop(dmat->maxsize), 1);
 			pages = MIN(maxpages - total_bpages, pages);
-
+			pages = MAX(pages, 1);
 			if (alloc_bounce_pages(dmat, pages) < pages)
 				error = ENOMEM;
-			
+
 			if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0) {
 				if (error == 0)
 					dmat->flags |= BUS_DMA_MIN_ALLOC_COMP;
@@ -429,7 +447,9 @@
 			return (ENOMEM);
 	}
 
-	if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa(Maxmem)) {
+	if ((dmat->maxsize <= PAGE_SIZE) &&
+	   (dmat->alignment < dmat->maxsize) &&
+	    dmat->lowaddr >= ptoa(Maxmem)) {
 		*vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags);
 	} else {
 		/*
@@ -459,7 +479,9 @@
 	 */
 	if (map != &nobounce_dmamap)
 		panic("bus_dmamem_free: Invalid map freed\n");
-	if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa(Maxmem))
+	if ((dmat->maxsize <= PAGE_SIZE) &&
+	   (dmat->alignment < dmat->maxsize) &&
+	    dmat->lowaddr >= ptoa(Maxmem))
 		free(vaddr, M_DEVBUF);
 	else {
 		contigfree(vaddr, dmat->maxsize, M_DEVBUF);
@@ -468,55 +490,37 @@
 
 #define BUS_DMAMAP_NSEGS ((64 * 1024 / PAGE_SIZE) + 1)
 
+vm_offset_t alpha_XXX_dmamap_or = 1024UL*1024UL*1024UL;  /*XXX */
+
 /*
- * Map the buffer buf into bus space using the dmamap map.
+ * Utility function to load a linear buffer.  lastaddrp holds state
+ * between invocations (for multiple-buffer loads).  segp contains
+ * the starting segment on entrace, and the ending segment on exit.
+ * first indicates if this is the first invocation of this function.
  */
-
-vm_offset_t alpha_XXX_dmamap_or = 1024UL*1024UL*1024UL;  /*XXX */
-
-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)
+static int
+_bus_dmamap_load_buffer(bus_dma_tag_t dmat,
+			bus_dmamap_t map,
+			void *buf, bus_size_t buflen,
+			pmap_t pmap,
+			int flags,
+			bus_addr_t *lastaddrp,
+			bus_dma_segment_t *segs,
+			int *segp,
+			int first)
 {
-	bus_dma_segment_t	segment;
-	vm_offset_t		vaddr;
-	vm_offset_t		paddr;
-	bus_dma_segment_t      *sg;
-	int			seg;
-	int			error;
-	vm_offset_t		nextpaddr;
-
-	error = 0;
-
-	if ((dmat->flags & BUS_DMA_ISA) && chipset.sgmap != NULL) {
-		/*
-		 * For ISA dma, we use the chipset's scatter-gather
-		 * map to map the tranfer into the ISA reachable range
-		 * of the bus address space.
-		 */
-		vaddr = trunc_page((vm_offset_t) buf);
-		dmat->segments = &segment;
-		dmat->segments[0].ds_addr =
-			map->busaddress + (vm_offset_t) buf - vaddr;
-		dmat->segments[0].ds_len = buflen;
-		buflen = round_page((vm_offset_t) buf + buflen) - vaddr;
-		sgmap_load_region(chipset.sgmap,
-				  map->busaddress,
-				  vaddr,
-				  buflen);
-		map->buflen = buflen;
-		(*callback)(callback_arg, dmat->segments, 1, error);
-		dmat->segments = NULL;
-
-		return (0);
-	}
+	bus_size_t sgsize;
+	bus_addr_t curaddr, lastaddr, baddr, bmask;
+	vm_offset_t vaddr;
+	bus_addr_t paddr;
+	int seg;
 
 	/*
 	 * If we are being called during a callback, pagesneeded will
 	 * be non-zero, so we can avoid doing the work twice.
 	 */
-	if (dmat->lowaddr < ptoa(Maxmem) && map->pagesneeded == 0) {
+	if ((map != &nobounce_dmamap && map->pagesneeded == 0)
+	 && ((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0)) {
 		vm_offset_t	vendaddr;
 
 		/*
@@ -527,11 +531,12 @@
 		vendaddr = (vm_offset_t)buf + buflen;
 
 		while (vaddr < vendaddr) {
-			paddr = pmap_kextract(vaddr);
-			if (run_filter(dmat, paddr) != 0) {
-
+			if (pmap)
+				paddr = pmap_extract(pmap, vaddr);
+			else
+				paddr = pmap_kextract(vaddr);
+			if (run_filter(dmat, paddr) != 0)
 				map->pagesneeded++;
-			}
 			vaddr += PAGE_SIZE;
 		}
 	}
@@ -550,8 +555,6 @@
 				map->dmat = dmat;
 				map->buf = buf;
 				map->buflen = buflen;
-				map->callback = callback;
-				map->callback_arg = callback_arg;
 				STAILQ_INSERT_TAIL(&bounce_map_waitinglist,
 				    map, links);
 				mtx_unlock(&bounce_lock);
@@ -562,82 +565,6 @@
 	}
 
 	vaddr = (vm_offset_t)buf;
-	sg = &dmat->segments[0];
-	seg = 1;
-	sg->ds_len = 0;
-
-	nextpaddr = 0;
-
-	do {
-		bus_size_t	size;
-
-		paddr = pmap_kextract(vaddr);
-		size = PAGE_SIZE - (paddr & PAGE_MASK);
-		if (size > buflen)
-			size = buflen;
-
-		if (map->pagesneeded != 0 && run_filter(dmat, paddr)) {
-			paddr = add_bounce_page(dmat, map, vaddr, size);
-		}
-
-		if (sg->ds_len == 0) {
-			sg->ds_addr = paddr | alpha_XXX_dmamap_or;
-			sg->ds_len = size;
-		} else if (paddr == nextpaddr) {
-			sg->ds_len += size;
-		} else {
-			/* Go to the next segment */
-			sg++;
-			seg++;
-			if (seg > dmat->nsegments)
-				break;
-			sg->ds_addr = paddr | alpha_XXX_dmamap_or;
-			sg->ds_len = size;
-		}
-		vaddr += size;
-		nextpaddr = paddr + size;
-		buflen -= size;
-
-	} while (buflen > 0);
-
-	if (buflen != 0) {
-		printf("bus_dmamap_load: Too many segs! buf_len = 0x%lx\n",
-		       buflen);
-		error = EFBIG;
-	}
-
-	(*callback)(callback_arg, dmat->segments, seg, error);
-
-	return (0);
-}
-
-/*
- * Utility function to load a linear buffer.  lastaddrp holds state
- * between invocations (for multiple-buffer loads).  segp contains
- * the starting segment on entrace, and the ending segment on exit.
- * first indicates if this is the first invocation of this function.
- */
-static int
-_bus_dmamap_load_buffer(bus_dma_tag_t dmat,
-			void *buf, bus_size_t buflen,
-			struct thread *td,
-			int flags,
-			vm_offset_t *lastaddrp,
-			bus_dma_segment_t *segs,
-			int *segp,
-			int first)
-{
-	bus_size_t sgsize;
-	bus_addr_t curaddr, lastaddr, baddr, bmask;
-	vm_offset_t vaddr = (vm_offset_t)buf;
-	int seg;
-	pmap_t pmap;
-
-	if (td != NULL)
-		pmap = vmspace_pmap(td->td_proc->p_vmspace);
-	else
-		pmap = NULL;
-
 	lastaddr = *lastaddrp;
 	bmask = ~(dmat->boundary - 1);
 
@@ -666,12 +593,20 @@
 				sgsize = (baddr - curaddr);
 		}
 
+		if (map->pagesneeded != 0 && run_filter(dmat, curaddr))
+			curaddr = add_bounce_page(dmat, map, vaddr, sgsize);
+
+		/*
+		 * Convert the physical address into an IO address.
+		 */
+		curaddr |= alpha_XXX_dmamap_or;
+
 		/*
 		 * Insert chunk into a segment, coalescing with
 		 * previous segment if possible.
 		 */
 		if (first) {
-			segs[seg].ds_addr = curaddr | alpha_XXX_dmamap_or;
+			segs[seg].ds_addr = curaddr;
 			segs[seg].ds_len = sgsize;
 			first = 0;
 		} else {
@@ -683,7 +618,7 @@
 			else {
 				if (++seg >= dmat->nsegments)
 					break;
-				segs[seg].ds_addr = curaddr | alpha_XXX_dmamap_or;
+				segs[seg].ds_addr = curaddr;
 				segs[seg].ds_len = sgsize;
 			}
 		}
@@ -703,6 +638,71 @@
 }
 
 /*
+ * 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)
+{
+	bus_addr_t		lastaddr = 0;
+	int			error, nsegs = 0;
+
+	if ((dmat->flags & BUS_DMA_ISA) && chipset.sgmap != NULL) {
+		bus_dma_segment_t segment;
+		vm_offset_t vaddr;
+		
+		/*
+		 * For ISA dma, we use the chipset's scatter-gather
+		 * map to map the tranfer into the ISA reachable range
+		 * of the bus address space.
+		 */
+		vaddr = trunc_page((vm_offset_t) buf);
+		dmat->segments = &segment;
+		dmat->segments[0].ds_addr =
+			map->busaddress + (vm_offset_t) buf - vaddr;
+		dmat->segments[0].ds_len = buflen;
+		buflen = round_page((vm_offset_t) buf + buflen) - vaddr;
+		sgmap_load_region(chipset.sgmap,
+				  map->busaddress,
+				  vaddr,
+				  buflen);
+		map->buflen = buflen;
+		(*callback)(callback_arg, dmat->segments, 1, 0);
+		dmat->segments = NULL;
+
+		return (0);
+	}
+
+	if (map != &nobounce_dmamap) {
+		flags |= BUS_DMA_WAITOK;
+		map->callback = callback;
+		map->callback_arg = callback_arg;
+	}
+
+	error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags,
+	     &lastaddr, dmat->segments, &nsegs, 1);
+
+	if (error == EINPROGRESS) {
+		return (error);
+	}
+
+	if (error)
+		(*callback)(callback_arg, dmat->segments, 0, error);
+	else
+		(*callback)(callback_arg, dmat->segments, nsegs + 1, 0);
+
+	/*
+	 * Return ENOMEM to the caller so that it can pass it up the stack.
+	 * This error only happens when NOWAIT is set, so deferal is disabled.
+	 */
+	if (error == ENOMEM)
+		return (error);
+
+	return (0);
+}
+
+/*
  * Like _bus_dmamap_load(), but for mbufs.
  */
 int
@@ -713,10 +713,9 @@
 {
 	int nsegs, error;
 
-	KASSERT(dmat->lowaddr >= ptoa(Maxmem) || map != NULL,
-		("bus_dmamap_load_mbuf: No support for bounce pages!"));
 	M_ASSERTPKTHDR(m0);
 
+	flags |= BUS_DMA_NOWAIT;
 	nsegs = 0;
 	error = 0;
 	if (m0->m_pkthdr.len <= dmat->maxsize) {
@@ -726,7 +725,7 @@
 
 		for (m = m0; m != NULL && error == 0; m = m->m_next) {
 			if (m->m_len > 0) {
-				error = _bus_dmamap_load_buffer(dmat,
+				error = _bus_dmamap_load_buffer(dmat, map,
 						m->m_data, m->m_len,
 						NULL, flags, &lastaddr,
 						dmat->segments, &nsegs, first);
@@ -754,10 +753,9 @@
 {
 	int error;
 
-	KASSERT(dmat->lowaddr >= ptoa(Maxmem) || map != NULL,
-		("bus_dmamap_load_mbuf: No support for bounce pages!"));
 	M_ASSERTPKTHDR(m0);
 
+	flags |= BUS_DMA_NOWAIT;
 	*nsegs = 0;
 	error = 0;
 	if (m0->m_pkthdr.len <= dmat->maxsize) {
@@ -767,7 +765,7 @@
 
 		for (m = m0; m != NULL && error == 0; m = m->m_next) {
 			if (m->m_len > 0) {
-				error = _bus_dmamap_load_buffer(dmat,
+				error = _bus_dmamap_load_buffer(dmat, map,
 						m->m_data, m->m_len,
 						NULL, flags, &lastaddr,
 						segs, nsegs, first);
@@ -795,19 +793,18 @@
 	int nsegs, error, first, i;
 	bus_size_t resid;
 	struct iovec *iov;
-	struct thread *td = NULL;
+	pmap_t pmap;
 
-	KASSERT(dmat->lowaddr >= ptoa(Maxmem) || map != NULL,
-		("bus_dmamap_load_uio: No support for bounce pages!"));
-
+	flags |= BUS_DMA_NOWAIT;
 	resid = uio->uio_resid;
 	iov = uio->uio_iov;
 
 	if (uio->uio_segflg == UIO_USERSPACE) {
-		td = uio->uio_td;
-		KASSERT(td != NULL,
+		KASSERT(uio->uio_td != NULL,
 			("bus_dmamap_load_uio: USERSPACE but no proc"));
-	}
+		pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace);
+	} else
+		pmap = NULL;
 
 	nsegs = 0;
 	error = 0;
@@ -822,9 +819,9 @@
 		caddr_t addr = (caddr_t) iov[i].iov_base;
 
 		if (minlen > 0) {
-			error = _bus_dmamap_load_buffer(dmat, addr, minlen,
-					td, flags, &lastaddr, dmat->segments,
-					&nsegs, first);
+			error = _bus_dmamap_load_buffer(dmat, map,
+			    addr, minlen, pmap, flags, &lastaddr,
+			    dmat->segments, &nsegs, first);
 			first = 0;
 
 			resid -= minlen;

==== //depot/projects/soc2007/thioretic_gidl/alpha/alpha/interrupt.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
 
 #include <sys/cdefs.h>			/* RCS ID & Copyright macro defns */
 /* __KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $");*/
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.86.2.2 2006/03/10 19:37:30 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.86.2.3 2007/11/27 17:45:06 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -452,7 +452,6 @@
 		    ih->ih_handler, ih->ih_argument, ih->ih_name);
 		ih->ih_handler(ih->ih_argument);
 	}
-	critical_exit();
 
 	/*
 	 * If the ithread needs to run, disable the source and schedule the
@@ -468,6 +467,7 @@
 		error = intr_event_schedule_thread(ie);
 		KASSERT(error == 0, ("got an impossible stray interrupt"));
 	}
+	critical_exit();
 	sched_unpin();
 }
 

==== //depot/projects/soc2007/thioretic_gidl/alpha/alpha/pmap.c#3 (text+ko) ====

@@ -148,7 +148,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.178.2.7 2007/09/15 09:40:38 wilko Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.178.2.8 2007/11/05 16:17:58 ups Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1889,15 +1889,13 @@
  * but is *MUCH* faster than pmap_enter...
  */
 
-vm_page_t
-pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
-    vm_page_t mpte)
+void
+pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot)
 {
 
 	PMAP_LOCK(pmap);
-	mpte = pmap_enter_quick_locked(pmap, va, m, prot, mpte);
+	(void) pmap_enter_quick_locked(pmap, va, m, prot, NULL);
 	PMAP_UNLOCK(pmap);
-	return (mpte);
 }
 
 static vm_page_t

==== //depot/projects/soc2007/thioretic_gidl/alpha/include/elf.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/elf.h,v 1.14 2003/09/25 01:10:22 peter Exp $
+ * $FreeBSD: src/sys/alpha/include/elf.h,v 1.14.10.1 2007/12/03 21:30:34 marius Exp $
  */
 
 #ifndef _MACHINE_ELF_H_
@@ -94,39 +94,6 @@
 
 #define	AT_COUNT	15	/* Count of defined aux entry types. */
 
-/*
- * Relocation types.
- */
-
-#define	R_ALPHA_NONE		0	/* No reloc */
-#define	R_ALPHA_REFLONG		1	/* Direct 32 bit */
-#define	R_ALPHA_REFQUAD		2	/* Direct 64 bit */
-#define	R_ALPHA_GPREL32		3	/* GP relative 32 bit */
-#define	R_ALPHA_LITERAL		4	/* GP relative 16 bit w/optimization */
-#define	R_ALPHA_LITUSE		5	/* Optimization hint for LITERAL */
-#define	R_ALPHA_GPDISP		6	/* Add displacement to GP */
-#define	R_ALPHA_BRADDR		7	/* PC+4 relative 23 bit shifted */
-#define	R_ALPHA_HINT		8	/* PC+4 relative 16 bit shifted */
-#define	R_ALPHA_SREL16		9	/* PC relative 16 bit */
-#define	R_ALPHA_SREL32		10	/* PC relative 32 bit */
-#define	R_ALPHA_SREL64		11	/* PC relative 64 bit */
-#define	R_ALPHA_OP_PUSH		12	/* OP stack push */
-#define	R_ALPHA_OP_STORE	13	/* OP stack pop and store */
-#define	R_ALPHA_OP_PSUB		14	/* OP stack subtract */
-#define	R_ALPHA_OP_PRSHIFT	15	/* OP stack right shift */
-#define	R_ALPHA_GPVALUE		16
-#define	R_ALPHA_GPRELHIGH	17
-#define	R_ALPHA_GPRELLOW	18
-#define	R_ALPHA_IMMED_GP_16	19
-#define	R_ALPHA_IMMED_GP_HI32	20
-#define	R_ALPHA_IMMED_SCN_HI32	21
-#define	R_ALPHA_IMMED_BR_HI32	22
-#define	R_ALPHA_IMMED_LO32	23
-#define	R_ALPHA_COPY		24	/* Copy symbol at runtime */
-#define	R_ALPHA_GLOB_DAT	25	/* Create GOT entry */
-#define	R_ALPHA_JMP_SLOT	26	/* Create PLT entry */
-#define	R_ALPHA_RELATIVE	27	/* Adjust by program base */
-
 #define R_ALPHA_COUNT		28
 
 /* Define "machine" characteristics */

==== //depot/projects/soc2007/thioretic_gidl/alpha/isa/isa.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.36.8.2 2007/10/03 20:41:32 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.36.8.3 2007/11/02 21:40:04 wilko Exp $");
 
 #define __RMAN_RESOURCE_VISIBLE
 #include <sys/param.h>
@@ -232,7 +232,8 @@
 	    res = rman_reserve_resource(&isa_drq_rman, start, start, 1,
 					0, child);
 	    
-	rman_set_rid(res, *rid);
+	if (res)
+		rman_set_rid(res, *rid);
 	if (res && !passthrough) {
 		rle = resource_list_find(rl, type, *rid);
 		rle->start = rman_get_start(res);

==== //depot/projects/soc2007/thioretic_gidl/alpha/pci/pcibus.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.36.2.1 2007/10/03 20:41:33 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.36.2.2 2007/10/24 12:36:25 jhb Exp $");
 
 #include "opt_isa.h"
 
@@ -97,12 +97,7 @@
 alpha_platform_alloc_ide_intr(int chan)
 {
 	int irqs[2] = { 14, 15 };
-	struct resource *rv;
-
-	rv = isa_alloc_intr(0, 0, irqs[chan]);
-	if (rv != NULL)
-		rman_set_rid(rv, *rid);
-	return (rv);
+	return (isa_alloc_intr(0, 0, irqs[chan]));
 }
 
 int

==== //depot/projects/soc2007/thioretic_gidl/amd64/amd64/db_trace.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.66.2.2 2006/03/13 03:03:51 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.66.2.3 2007/11/21 16:41:51 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -318,7 +318,8 @@
 	if (name != NULL) {
 		if (strcmp(name, "calltrap") == 0 ||
 		    strcmp(name, "fork_trampoline") == 0 ||
-		    strcmp(name, "nmi_calltrap") == 0)
+		    strcmp(name, "nmi_calltrap") == 0 ||
+		    strcmp(name, "Xdblfault") == 0)
 			frame_type = TRAP;

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list