PERFORCE change 98628 for review

Scott Long scottl at FreeBSD.org
Tue Jun 6 05:18:58 UTC 2006


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

Change 98628 by scottl at scottl-x64 on 2006/06/06 04:10:05

	IFC

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/Makefile#7 integrate
.. //depot/projects/scottl-camlock/src/sys/amd64/amd64/busdma_machdep.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/amd64/amd64/pmap.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/arm/busdma_machdep.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/arm/elf_trampoline.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/arm/pmap.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/arm/vm_machdep.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/include/cpuconf.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/include/cpufunc.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/include/pmap.h#9 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/assabet_machdep.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/sa11x0_var.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/biosdisk.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/bsm/audit.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/bsm/audit_record.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#9 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#34 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_all.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/compat/linprocfs/linprocfs.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/conf/Makefile.arm#6 integrate
.. //depot/projects/scottl-camlock/src/sys/conf/NOTES#10 integrate
.. //depot/projects/scottl-camlock/src/sys/conf/files#10 integrate
.. //depot/projects/scottl-camlock/src/sys/conf/kern.mk#5 integrate
.. //depot/projects/scottl-camlock/src/sys/conf/options.arm#7 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/COPYRIGHT#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/README#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/ah.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/ah_desc.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/ah_devid.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/ah_soc.h#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/freebsd/ah_if.m#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/freebsd/ah_osdep.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/freebsd/ah_osdep.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/alpha-elf.hal.o.uu#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap30.hal.o.uu#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap30.inc#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap30.opt_ah.h#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap43.hal.o.uu#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap43.inc#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap43.opt_ah.h#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap51.hal.o.uu#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap51.inc#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap51.opt_ah.h#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap61.hal.o.uu#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap61.inc#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/ap61.opt_ah.h#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/arm9-le-thumb-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/arm9-le-thumb-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/armv4-be-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/armv4-be-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/armv4-be-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/armv4-le-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/armv4-le-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/armv4-le-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/i386-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/i386-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips-be-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips-be-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips-be-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips-le-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips-le-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips-le-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips1-be-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips1-be-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips1-be-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips1-le-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips1-le-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mips1-le-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mipsisa32-be-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mipsisa32-be-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mipsisa32-le-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mipsisa32-le-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/mipsisa32-le-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/powerpc-be-eabi.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/powerpc-be-eabi.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/powerpc-be-eabi.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/powerpc-be-elf.inc#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/powerpc-be-elf.opt_ah.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/powerpc-le-eabi.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/powerpc-le-eabi.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/powerpc-le-eabi.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/sh4-le-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/sh4-le-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/sparc-be-elf.hal.o.uu#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/sparc-be-elf.inc#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/sparc-be-elf.opt_ah.h#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/sparc64-be-elf.inc#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/x86_64-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/x86_64-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/xscale-be-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/xscale-be-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/xscale-be-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/xscale-le-elf.hal.o.uu#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/xscale-le-elf.inc#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/public/xscale-le-elf.opt_ah.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/version.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/crypto/via/padlock.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_panasonic.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/acpica/acpi_hpet.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ahb/ahb.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ath/if_ath.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ath/if_ath_pci.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ath/if_athvar.h#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/awi/awi.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/bfe/if_bfe.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/bfe/if_bfereg.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ciss/ciss.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/dc/dcphy.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/dc/if_dc.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/dc/if_dcreg.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/gem/if_gem.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/hifn/hifn7751.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ipw/if_ipw.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/isp/isp_freebsd.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/isp/isp_freebsd.h#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/iwi/if_iwi.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/le/if_le_pci.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/lmc/if_lmc.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.h#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_debug.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_raid.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_raid.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_reg.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/my/if_my.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ofw/ofw_console.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pccbb/pccbb.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pccbb/pccbb_isa.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pccbb/pccbb_pci.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pccbb/pccbbvar.h#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pci/pcireg.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ral/rt2560.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ral/rt2661.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/safe/safe.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/sound/midi/midi.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/sound/midi/sequencer.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ubsec/ubsec.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/ehci.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/ehci_pci.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/if_axe.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/if_axereg.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/if_ural.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/ohci.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/ohci_pci.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/ohcireg.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/ohcivar.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/sl811hs.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/sl811hsvar.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/ugen.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/uhci.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/uhci_pci.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/uhcivar.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_mem.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdi.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdivar.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/wi/if_wi.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-cam#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-crypto#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-dev_pci#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-dev_sound#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-dev_usb#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-geom#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-i4b#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-kern#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-libkern#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-linux#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-net80211#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-netgraph#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-netinet#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-netinet6#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-netipsec#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-opencrypto#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Doxyfile-vm#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/Makefile#2 integrate
.. //depot/projects/scottl-camlock/src/sys/doc/subsys/notreviewed.dox#1 branch
.. //depot/projects/scottl-camlock/src/sys/fs/msdosfs/msdosfs_vfsops.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/fs/nullfs/null_vfsops.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/fs/procfs/procfs.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/fs/smbfs/smbfs_vnops.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/geom/eli/g_eli.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/geom/eli/g_eli.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/geom/eli/g_eli_ctl.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/geom/eli/g_eli_integrity.c#1 branch
.. //depot/projects/scottl-camlock/src/sys/geom/eli/g_eli_key.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/geom/eli/g_eli_privacy.c#1 branch
.. //depot/projects/scottl-camlock/src/sys/geom/geom.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/geom/geom_gpt.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/geom/geom_io.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/FreeBSD/xfs_frw.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/FreeBSD/xfs_fs_subr.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/FreeBSD/xfs_iget.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_attr.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_bit.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_dfrag.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_dir2_trace.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_inode.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_iomap.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_trans.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_vfsops.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/gnu/fs/xfs/xfs_vnodeops.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/busdma_machdep.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/initcpu.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/machdep.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/minidump_machdep.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/pmap.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/ptrace_machdep.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/vm_machdep.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/include/md_var.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/include/npx.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/isa/npx.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/conf/NOTES#6 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/ia64/busdma_machdep.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/ia64/pmap.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/ia64/ssc.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_acct.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_event.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_exec.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_exit.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_mutex.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_switch.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_synch.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/subr_disk.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/subr_stack.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/vfs_aio.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/vfs_mount.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/vfs_syscalls.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/vnode_if.src#6 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/acpi/acpi/Makefile#6 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/acpi/acpi_asus/Makefile#4 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/acpi/acpi_panasonic/Makefile#2 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/acpi/acpi_toshiba/Makefile#4 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/acpi/acpi_video/Makefile#5 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/cpufreq/Makefile#3 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/fdc/Makefile#6 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/geom/geom_eli/Makefile#3 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/mfi/Makefile#3 integrate
.. //depot/projects/scottl-camlock/src/sys/net/bpf.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/net/bpf.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/net/bpf_filter.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/net/bpfdesc.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_disc.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_faith.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_fwsubr.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_gif.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_gre.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_loop.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_media.h#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_sl.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_stf.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_tap.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/net/if_tun.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/net/raw_cb.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/net/raw_usrreq.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/net/route.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_input.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_node.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/netgraph/atm/uni/ng_uni_cust.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/netgraph/ng_base.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/netgraph/ng_iface.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/in_pcb.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/ip_carp.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/ip_gre.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/tcp_timer.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/tcp_usrreq.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/udp_usrreq.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/netipsec/ipsec.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/netipsec/ipsec_input.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vfsops.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_serv.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvsubs.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/opencrypto/criov.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/opencrypto/crypto.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/opencrypto/cryptodev.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/opencrypto/cryptosoft.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/opencrypto/xform.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/pc98/pc98/machdep.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/pci/agp_amd64.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/pci/agp_sis.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/mmu_if.m#3 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/mmu_oea.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/pmap_dispatch.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit_arg.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit_bsm.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit_bsm_klib.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit_bsm_token.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit_ioctl.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit_pipe.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit_private.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit_syscalls.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/security/audit/audit_worker.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/sparc64/include/pmap.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/sparc64/isa/isa.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/pmap.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/sys/elf_common.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/sys/mutex.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/tools/vnode_if.awk#7 integrate
.. //depot/projects/scottl-camlock/src/sys/ufs/ffs/ffs_vfsops.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/ufs/ufs/ufs_vnops.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/pmap.h#7 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_extern.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_glue.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_map.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_map.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_meter.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_page.c#8 integrate

Differences ...

==== //depot/projects/scottl-camlock/src/sys/Makefile#7 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/Makefile,v 1.35 2006/03/17 18:54:34 ru Exp $
+# $FreeBSD: src/sys/Makefile,v 1.36 2006/05/29 19:29:41 maxim Exp $
 
 .include <bsd.own.mk>
 
@@ -11,10 +11,10 @@
 
 # Directories to include in cscope name file and TAGS.
 CSCOPEDIRS=	coda compat conf contrib crypto ddb dev fs gnu i4b isa \
-		isofs kern libkern modules net netatalk netatm netgraph \
-		netinet netinet6 netipx netkey netnatm netncp netsmb nfs \
-		nfsclient nfs4client rpc pccard pci posix4 sys ufs vm \
-		${ARCHDIR}
+		isofs kern libkern modules net net80211 netatalk netatm \
+		netgraph netinet netinet6 netipx netkey netnatm netncp \
+		netsmb nfs nfsclient nfs4client rpc pccard pci posix4 sys \
+		ufs vm ${ARCHDIR}
 
 ARCHDIR	?=	${MACHINE}
 

==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/busdma_machdep.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.74 2006/05/03 04:14:17 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.77 2006/06/01 04:49:29 silby Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -492,7 +492,16 @@
 		}
 	}
 
+	/* 
+	 * XXX:
+	 * (dmat->alignment < dmat->maxsize) is just a quick hack; the exact
+	 * alignment guarantees of malloc need to be nailed down, and the
+	 * code below should be rewritten to take that into account.
+	 *
+	 * In the meantime, we'll warn the user if malloc gets it wrong.
+	 */
 	if ((dmat->maxsize <= PAGE_SIZE) &&
+	   (dmat->alignment < dmat->maxsize) &&
 	    dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem)) {
 		*vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags);
 	} else {
@@ -510,6 +519,8 @@
 		CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
 		    __func__, dmat, dmat->flags, ENOMEM);
 		return (ENOMEM);
+	} else if ((uintptr_t)*vaddr & (dmat->alignment - 1)) {
+		printf("bus_dmamem_alloc failed to align memory properly.");
 	}
 	CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
 	    __func__, dmat, dmat->flags, ENOMEM);
@@ -529,8 +540,9 @@
 	 */
 	if (map != NULL)
 		panic("bus_dmamem_free: Invalid map freed\n");
-	if ((dmat->maxsize <= PAGE_SIZE)
-	 && dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem))
+	if ((dmat->maxsize <= PAGE_SIZE) &&
+	   (dmat->alignment < dmat->maxsize) &&
+	    dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem))
 		free(vaddr, M_DEVBUF);
 	else {
 		contigfree(vaddr, dmat->maxsize, M_DEVBUF);

==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/pmap.c#9 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.554 2006/05/01 22:06:59 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.555 2006/06/05 20:35:25 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -209,6 +209,8 @@
 static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try);
 static void	pmap_clear_ptes(vm_page_t m, long bit);
 
+static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
+    vm_page_t m, vm_prot_t prot, vm_page_t mpte);
 static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq,
 		vm_offset_t sva, pd_entry_t ptepde);
 static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde);
@@ -2310,6 +2312,37 @@
 }
 
 /*
+ * Maps a sequence of resident pages belonging to the same object.
+ * The sequence begins with the given page m_start.  This page is
+ * mapped at the given virtual address start.  Each subsequent page is
+ * mapped at a virtual address that is offset from start by the same
+ * amount as the page is offset from m_start within the object.  The
+ * last page in the sequence is the page with the largest offset from
+ * m_start that can be mapped at a virtual address less than the given
+ * virtual address end.  Not every virtual page between start and end
+ * is mapped; only those for which a resident page exists with the
+ * corresponding offset from m_start are mapped.
+ */
+void
+pmap_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end,
+    vm_page_t m_start, vm_prot_t prot)
+{
+	vm_page_t m, mpte;
+	vm_pindex_t diff, psize;
+
+	psize = atop(end - start);
+	mpte = NULL;
+	m = m_start;
+	PMAP_LOCK(pmap);
+	while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) {
+		mpte = pmap_enter_quick_locked(pmap, start + ptoa(diff), m,
+		    prot, mpte);
+		m = TAILQ_NEXT(m, listq);
+	}
+ 	PMAP_UNLOCK(pmap);
+}
+
+/*
  * this code makes some *MAJOR* assumptions:
  * 1. Current pmap & pmap exists.
  * 2. Not wired.
@@ -2322,15 +2355,26 @@
 pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
     vm_page_t mpte)
 {
+
+	PMAP_LOCK(pmap);
+	mpte = pmap_enter_quick_locked(pmap, va, m, prot, mpte);
+	PMAP_UNLOCK(pmap);
+	return (mpte);
+}
+
+static vm_page_t
+pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
+    vm_prot_t prot, vm_page_t mpte)
+{
 	pt_entry_t *pte;
 	vm_paddr_t pa;
 
 	KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva ||
 	    (m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) != 0,
-	    ("pmap_enter_quick: managed mapping within the clean submap"));
+	    ("pmap_enter_quick_locked: managed mapping within the clean submap"));
 	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
-	PMAP_LOCK(pmap);
+	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 
 	/*
 	 * In the case that a page table page is not
@@ -2395,7 +2439,7 @@
 			pmap_unwire_pte_hold(pmap, va, mpte);
 			mpte = NULL;
 		}
-		goto out;
+		return (mpte);
 	}
 
 	/*
@@ -2422,8 +2466,6 @@
 		pte_store(pte, pa | PG_V | PG_U);
 	else
 		pte_store(pte, pa | PG_V | PG_U | PG_MANAGED);
-out:
-	PMAP_UNLOCK(pmap);
 	return mpte;
 }
 

==== //depot/projects/scottl-camlock/src/sys/arm/arm/busdma_machdep.c#6 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.25 2006/03/01 23:04:25 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.26 2006/05/31 15:50:33 cognet Exp $");
 
 /*
  * MacPPC bus dma support routines
@@ -806,13 +806,16 @@
 
 	if (op & BUS_DMASYNC_PREWRITE)
 		cpu_dcache_wb_range((vm_offset_t)buf, len);
-	if (op & BUS_DMASYNC_POSTREAD) {
-		if ((((vm_offset_t)buf | len) & arm_dcache_align_mask) == 0)
-			cpu_dcache_inv_range((vm_offset_t)buf, len);
-		else    
-			cpu_dcache_wbinv_range((vm_offset_t)buf, len);
-
+	if (op & BUS_DMASYNC_PREREAD) {
+		if ((vm_offset_t)buf & arm_dcache_align_mask)
+			cpu_dcache_wbinv_range((vm_offset_t)buf &
+			    ~arm_dcache_align_mask, arm_dcache_align);
+		if (((vm_offset_t)buf + len) & arm_dcache_align_mask)
+			cpu_dcache_wbinv_range(((vm_offset_t)buf + len) & 
+			    ~arm_dcache_align_mask, arm_dcache_align);
 	}
+	if (op & BUS_DMASYNC_POSTREAD) 
+		cpu_dcache_inv_range((vm_offset_t)buf, len);
 }
 
 void
@@ -823,7 +826,7 @@
 	int resid;
 	struct iovec *iov;
 	
-	if (!(op & (BUS_DMASYNC_PREWRITE | BUS_DMASYNC_POSTREAD)))
+	if (op == BUS_DMASYNC_POSTWRITE)
 		return;
 	if (map->flags & DMAMAP_COHERENT)
 		return;

==== //depot/projects/scottl-camlock/src/sys/arm/arm/elf_trampoline.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.5 2006/01/20 00:46:44 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.6 2006/05/30 21:13:47 cognet Exp $");
 #include <machine/asm.h>
 #include <sys/types.h>
 #include <sys/elf32.h>
@@ -31,6 +31,7 @@
 #include <sys/inflate.h>
 #include <machine/elf.h>
 #include <machine/pte.h>
+#include <machine/cpufunc.h>
 
 #include <stdlib.h>
 
@@ -44,6 +45,24 @@
 
 #define GZ_HEAD	0xa
 
+#ifdef CPU_ARM7TDMI
+#define cpu_idcache_wbinv_all	arm7tdmi_cache_flushID
+#elif defined(CPU_ARM8)
+#define cpu_idcache_wbinv_all	arm8_cache_purgeID
+#elif defined(CPU_ARM9)
+#define cpu_idcache_wbinv_all	arm9_dcache_wbinv_all
+#elif defined(CPU_ARM10)
+#define cpu_idcache_wbinv_all	arm10_idcache_wbinv_all
+#elif defined(CPU_SA110) || defined(CPU_SA1110) || defined(CPU_SA1100) || \
+    defined(CPU_IXP12X0)
+#define cpu_idcache_wbinv_all	sa1_cache_purgeID
+#elif defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
+    defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425)
+#define cpu_idcache_wbinv_all	xscale_cache_purgeID
+#endif
+int arm_pdcache_line_size = 32;
+int block_userspace_access = 0;
+
 static __inline void *
 memcpy(void *dst, const void *src, int len)
 {
@@ -160,7 +179,7 @@
 static int
 input(void *dummy)
 {
-	if ((size_t)(i_input - orig_input) >= KERNSIZE) {
+	if ((size_t)(i_input - orig_input) >= KERNCOMPSIZE) {
 		return (GZ_EOF);
 	}
 	return *i_input++;
@@ -383,7 +402,7 @@
 __start(void)
 {
 	void *curaddr;
-	void *dst;
+	void *dst, *altdst;
 	char *kernel = (char *)&kernel_start;
 
 	__asm __volatile("mov %0, pc"  :
@@ -393,11 +412,22 @@
 	if (*kernel == 0x1f && kernel[1] == 0x8b) {
 		int pt_addr = (((int)&_end + KERNSIZE + 0x100) & 
 		    ~(L1_TABLE_SIZE - 1)) + L1_TABLE_SIZE;
+		
 		setup_pagetables(pt_addr, (vm_paddr_t)curaddr,
 		    (vm_paddr_t)curaddr + 0x10000000);
 		/* Gzipped kernel */
 		dst = inflate_kernel(kernel, &_end);
 		kernel = (char *)&_end;
+		altdst = 4 + load_kernel((unsigned int)kernel, 
+		    (unsigned int)curaddr,
+		    (unsigned int)&func_end , 0);
+		if (altdst > dst)
+			dst = altdst;
+		cpu_idcache_wbinv_all();
+		__asm __volatile("mrc p15, 0, %0, c1, c0, 0\n"
+		    "bic %0, %0, #1\n" /* MMU_ENABLE */
+		    "mcr p15, 0, %0, c1, c0, 0\n"
+		    : "=r" (pt_addr));
 	} else
 #endif
 		dst = 4 + load_kernel((unsigned int)&kernel_start, 

==== //depot/projects/scottl-camlock/src/sys/arm/arm/pmap.c#8 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.47 2006/04/22 22:51:32 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.54 2006/06/06 01:14:12 cognet Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -198,6 +198,8 @@
 static void pmap_free_pv_entry (pv_entry_t);
 static pv_entry_t pmap_get_pv_entry(void);
 
+static void		pmap_enter_locked(pmap_t, vm_offset_t, vm_page_t,
+    vm_prot_t, boolean_t);
 static void		pmap_vac_me_harder(struct vm_page *, pmap_t,
     vm_offset_t);
 static void		pmap_vac_me_kpmap(struct vm_page *, pmap_t, 
@@ -230,6 +232,8 @@
 
 static pt_entry_t *csrc_pte, *cdst_pte;
 static vm_offset_t csrcp, cdstp;
+static struct mtx cmtx;
+
 static void		pmap_init_l1(struct l1_ttable *, pd_entry_t *);
 /*
  * These routines are called when the CPU type is identified to set up
@@ -913,20 +917,38 @@
 
 	l1idx = L1_IDX(va);
 
+	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	if ((l2 = pm->pm_l2[L2_IDX(l1idx)]) == NULL) {
 		/*
 		 * No mapping at this address, as there is
 		 * no entry in the L1 table.
 		 * Need to allocate a new l2_dtable.
 		 */
+again_l2table:
+		vm_page_unlock_queues();
 		if ((l2 = pmap_alloc_l2_dtable()) == NULL) {
+			vm_page_lock_queues();
 			return (NULL);
 		}
-		bzero(l2, sizeof(*l2));
-		/*
-		 * Link it into the parent pmap
-		 */
-		pm->pm_l2[L2_IDX(l1idx)] = l2;
+		vm_page_lock_queues();
+		if (pm->pm_l2[L2_IDX(l1idx)] != NULL) {
+			vm_page_unlock_queues();
+			uma_zfree(l2table_zone, l2);
+			vm_page_lock_queues();
+			l2 = pm->pm_l2[L2_IDX(l1idx)];
+			if (l2 == NULL)
+				goto again_l2table;
+			/*
+			 * Someone already allocated the l2_dtable while
+			 * we were doing the same.
+			 */
+		} else {
+			bzero(l2, sizeof(*l2));
+			/*
+			 * Link it into the parent pmap
+			 */
+			pm->pm_l2[L2_IDX(l1idx)] = l2;
+		}
 	} 
 
 	l2b = &l2->l2_bucket[L2_BUCKET(l1idx)];
@@ -941,7 +963,19 @@
 		 * No L2 page table has been allocated. Chances are, this
 		 * is because we just allocated the l2_dtable, above.
 		 */
+again_ptep:
+		vm_page_unlock_queues();
 		ptep = (void*)uma_zalloc(l2zone, M_NOWAIT);
+		vm_page_lock_queues();
+		if (l2b->l2b_kva != 0) {
+			/* We lost the race. */
+			vm_page_unlock_queues();
+			uma_zfree(l2zone, ptep);
+			vm_page_lock_queues();
+			if (l2b->l2b_kva == 0)
+				goto again_ptep;
+			return (l2b);
+		}
 		l2b->l2b_phys = vtophys(ptep);
 		if (ptep == NULL) {
 			/*
@@ -2541,6 +2575,7 @@
 	virtual_end = lastaddr;
 	kernel_vm_end = pmap_curmaxkvaddr;
 	arm_nocache_startaddr = lastaddr;
+	mtx_init(&cmtx, "TMP mappings mtx", NULL, MTX_DEF);
 
 #ifdef ARM_USE_SMALL_ALLOC
 	mtx_init(&smallalloc_mtx, "Small alloc page list", NULL, MTX_DEF);
@@ -3067,6 +3102,7 @@
 
 	if (!pmap_get_pde_pte(pmap, addr, &pde, &pte))
 		return (FALSE);
+	KASSERT(pte != NULL, ("Valid mapping but no pte ?"));
 	if (*pte == 0)
 		return (TRUE);
 	return (FALSE);
@@ -3303,6 +3339,19 @@
 pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
     boolean_t wired)
 {
+
+	vm_page_lock_queues();
+	pmap_enter_locked(pmap, va, m, prot, wired);
+	vm_page_unlock_queues();
+}
+
+/*
+ *	The page queues and pmap must be locked.
+ */
+static void
+pmap_enter_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
+    boolean_t wired)
+{
 	struct l2_bucket *l2b = NULL;
 	struct vm_page *opg;
 	struct pv_entry *pve = NULL;
@@ -3311,7 +3360,7 @@
 	u_int oflags;
 	vm_paddr_t pa;
 
-	vm_page_lock_queues();
+	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	if (va == vector_page) {
 		pa = systempage.pv_pa;
 		m = NULL;
@@ -3428,9 +3477,11 @@
 			simple_lock(&opg->mdpage.pvh_slock);
 #endif
 			pve = pmap_remove_pv(opg, pmap, va);
-			if (m && (m->flags & (PG_UNMANAGED | PG_FICTITIOUS)) && pve)
+			if (m && (m->flags & (PG_UNMANAGED | PG_FICTITIOUS)) &&
+			    pve)
 				pmap_free_pv_entry(pve);
-			else if (!pve)
+			else if (!pve && 
+			    !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS)))
 				pve = pmap_get_pv_entry();
 			KASSERT(pve != NULL, ("No pv"));
 #if 0
@@ -3525,7 +3576,34 @@
 		if (m)
 			pmap_vac_me_harder(m, pmap, va);
 	}
-	vm_page_unlock_queues();
+}
+
+/*
+ * Maps a sequence of resident pages belonging to the same object.
+ * The sequence begins with the given page m_start.  This page is
+ * mapped at the given virtual address start.  Each subsequent page is
+ * mapped at a virtual address that is offset from start by the same
+ * amount as the page is offset from m_start within the object.  The
+ * last page in the sequence is the page with the largest offset from
+ * m_start that can be mapped at a virtual address less than the given
+ * virtual address end.  Not every virtual page between start and end
+ * is mapped; only those for which a resident page exists with the
+ * corresponding offset from m_start are mapped.
+ */
+void
+pmap_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end,
+    vm_page_t m_start, vm_prot_t prot)
+{
+	vm_page_t m;
+	vm_pindex_t diff, psize;
+
+	psize = atop(end - start);
+	m = m_start;
+	while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) {
+		pmap_enter_locked(pmap, start + ptoa(diff), m, prot &
+		    (VM_PROT_READ | VM_PROT_EXECUTE), FALSE);
+		m = TAILQ_NEXT(m, listq);
+	}
 }
 
 /*
@@ -3542,15 +3620,8 @@
     vm_page_t mpte)
 {
 
-	vm_page_busy(m);
-	vm_page_unlock_queues();
-	VM_OBJECT_UNLOCK(m->object);
-	mtx_lock(&Giant);
-	pmap_enter(pmap, va, m, prot & (VM_PROT_READ | VM_PROT_EXECUTE), FALSE);
-	mtx_unlock(&Giant);
-	VM_OBJECT_LOCK(m->object);
-	vm_page_lock_queues();
-	vm_page_wakeup(m);
+	pmap_enter_locked(pmap, va, m, prot & (VM_PROT_READ | VM_PROT_EXECUTE),
+	    FALSE);
 	return (NULL);
 }
 
@@ -4002,6 +4073,7 @@
 		return;
 
 
+	mtx_lock(&cmtx);
 	/*
 	 * Hook in the page, zero it, and purge the cache for that
 	 * zeroed page. Invalidate the TLB as needed.
@@ -4015,6 +4087,7 @@
 		bzero((void *)(cdstp + off), size);
 	else
 		bzero_page(cdstp);
+	mtx_unlock(&cmtx);
 	cpu_dcache_wbinv_range(cdstp, PAGE_SIZE);
 }
 #endif /* (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0 */
@@ -4027,6 +4100,7 @@
 	if (_arm_bzero && 
 	    _arm_bzero((void *)(phys + off), size, IS_PHYSICAL) == 0)
 		return;
+	mtx_lock(&cmtx);
 	/*
 	 * Hook in the page, zero it, and purge the cache for that
 	 * zeroed page. Invalidate the TLB as needed.
@@ -4041,6 +4115,7 @@
 		bzero((void *)(cdstp + off), size);
 	else
 		bzero_page(cdstp);
+	mtx_unlock(&cmtx);
 	xscale_cache_clean_minidata();
 }
 
@@ -4263,6 +4338,7 @@
 	 * the cache for the appropriate page. Invalidate the TLB
 	 * as required.
 	 */
+	mtx_lock(&cmtx);
 	*csrc_pte = L2_S_PROTO | src |
 	    L2_S_PROT(PTE_KERNEL, VM_PROT_READ) | pte_l2_s_cache_mode;
 	PTE_SYNC(csrc_pte);
@@ -4273,6 +4349,7 @@
 	cpu_tlb_flushD_SE(cdstp);
 	cpu_cpwait();
 	bcopy_page(csrcp, cdstp);
+	mtx_unlock(&cmtx);
 	cpu_dcache_inv_range(csrcp, PAGE_SIZE);
 #if 0
 	mtx_lock(&src_pg->md.pvh_mtx);
@@ -4314,6 +4391,7 @@
 	 * the cache for the appropriate page. Invalidate the TLB
 	 * as required.
 	 */
+	mtx_lock(&cmtx);
 	*csrc_pte = L2_S_PROTO | src |
 	    L2_S_PROT(PTE_KERNEL, VM_PROT_READ) |
 	    L2_C | L2_XSCALE_T_TEX(TEX_XSCALE_X);	/* mini-data */
@@ -4326,6 +4404,7 @@
 	cpu_tlb_flushD_SE(cdstp);
 	cpu_cpwait();
 	bcopy_page(csrcp, cdstp);
+	mtx_unlock(&cmtx);
 	xscale_cache_clean_minidata();
 }
 #endif /* ARM_MMU_XSCALE == 1 */
@@ -4474,7 +4553,7 @@
 		pa += PAGE_SIZE;
 	}
 	
-	return ((void *)(va));
+	return ((void *)(va + offset));
 }
 
 #define BOOTSTRAP_DEBUG
@@ -4624,7 +4703,7 @@
 		panic("pmap_map_chunk: no L1 table provided");
 
 #ifdef VERBOSE_INIT_ARM     
-	printf("pmap_map_chunk: pa=0x%lx va=0x%lx size=0x%lx resid=0x%lx "
+	printf("pmap_map_chunk: pa=0x%x va=0x%x size=0x%x resid=0x%x "
 	    "prot=0x%x cache=%d\n", pa, va, size, resid, prot, cache);
 #endif
 
@@ -4763,7 +4842,7 @@
 
 	for (i = 0; pmap_devmap_table[i].pd_size != 0; i++) {
 #ifdef VERBOSE_INIT_ARM
-		printf("devmap: %08lx -> %08lx @ %08lx\n",
+		printf("devmap: %08x -> %08x @ %08x\n",
 		    pmap_devmap_table[i].pd_pa,
 		    pmap_devmap_table[i].pd_pa +
 			pmap_devmap_table[i].pd_size - 1,

==== //depot/projects/scottl-camlock/src/sys/arm/arm/vm_machdep.c#7 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.23 2006/03/02 00:37:40 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.24 2006/06/05 23:42:47 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -471,14 +471,13 @@
 }
 
 static void *
-arm_uma_do_alloc(struct arm_small_page **pglist, int bytes, int pagetable, 
-    int flags)
+arm_uma_do_alloc(struct arm_small_page **pglist, int bytes, int pagetable)
 {
 	void *ret;
 	vm_page_t page_array = NULL;
 	    
 	*pglist = (void *)kmem_malloc(kmem_map, (0x100000 / PAGE_SIZE) *
-	    sizeof(struct arm_small_page), flags);
+	    sizeof(struct arm_small_page), M_WAITOK);
 	if (*pglist && alloc_curaddr < 0xf0000000) {/* XXX */
 		mtx_lock(&Giant);
 		page_array = vm_page_alloc_contig(0x100000 / PAGE_SIZE,
@@ -533,22 +532,24 @@
 
 	if (!sp) {
 		/* No more free pages, need to alloc more. */
-		if (in_alloc && (wait & M_WAITOK)) {
+		if (!(wait & M_WAITOK)) {
+			mtx_unlock(&smallalloc_mtx);
+			*flags = UMA_SLAB_KMEM;
+			return ((void *)kmem_malloc(kmem_map, bytes, M_NOWAIT));
+		}
+		if (in_alloc) {
 			/* Somebody else is already doing the allocation. */
 			in_sleep++;
 			msleep(&in_alloc, &smallalloc_mtx, PWAIT, 
 			    "smallalloc", 0);
 			in_sleep--;
 			goto retry;
-		} else if (in_alloc) {
-			mtx_unlock(&smallalloc_mtx);
-			return (NULL);
 		}
 		in_alloc = 1;
 		mtx_unlock(&smallalloc_mtx);
 		/* Try to alloc 1MB of contiguous memory. */
 		ret = arm_uma_do_alloc(&sp, bytes, zone == l2zone ?
-		    SECTION_PT : SECTION_CACHE, wait);
+		    SECTION_PT : SECTION_CACHE);
 		mtx_lock(&smallalloc_mtx);
 		in_alloc = 0;
 		if (in_sleep)

==== //depot/projects/scottl-camlock/src/sys/arm/include/cpuconf.h#4 (text+ko) ====

@@ -34,7 +34,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.5 2005/05/26 16:05:22 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.7 2006/06/02 09:39:06 cognet Exp $
  *

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


More information about the p4-projects mailing list