PERFORCE change 55434 for review

Paul Saab ps at FreeBSD.org
Mon Jun 21 03:40:57 GMT 2004


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

Change 55434 by ps at butter.corp on 2004/06/21 03:40:43

	IFC

Affected files ...

.. //depot/projects/sack/alpha/alpha/mem.c#2 integrate
.. //depot/projects/sack/alpha/alpha/pmap.c#3 integrate
.. //depot/projects/sack/alpha/alpha/promcons.c#2 integrate
.. //depot/projects/sack/alpha/include/cpu.h#2 integrate
.. //depot/projects/sack/alpha/tlsb/zs_tlsb.c#2 integrate
.. //depot/projects/sack/amd64/amd64/fpu.c#3 integrate
.. //depot/projects/sack/amd64/amd64/mem.c#2 integrate
.. //depot/projects/sack/amd64/amd64/pmap.c#3 integrate
.. //depot/projects/sack/amd64/include/cpu.h#2 integrate
.. //depot/projects/sack/amd64/include/pmap.h#3 integrate
.. //depot/projects/sack/arm/arm/nexus_io.c#2 integrate
.. //depot/projects/sack/arm/arm/pmap.c#2 integrate
.. //depot/projects/sack/arm/include/bus.h#2 integrate
.. //depot/projects/sack/arm/sa11x0/assabet_machdep.c#2 integrate
.. //depot/projects/sack/arm/sa11x0/sa11x0.c#2 integrate
.. //depot/projects/sack/arm/sa11x0/sa11x0_io.c#2 integrate
.. //depot/projects/sack/arm/sa11x0/sa11x0_ost.c#2 integrate
.. //depot/projects/sack/boot/forth/loader.conf#2 integrate
.. //depot/projects/sack/boot/i386/boot0/boot0.S#3 integrate
.. //depot/projects/sack/boot/i386/libi386/bioscd.c#2 integrate
.. //depot/projects/sack/boot/i386/libi386/biosdisk.c#2 integrate
.. //depot/projects/sack/boot/i386/libi386/libi386.h#2 integrate
.. //depot/projects/sack/boot/pc98/boot2/dinode.h#2 integrate
.. //depot/projects/sack/boot/pc98/boot2/inode.h#2 integrate
.. //depot/projects/sack/boot/pc98/libpc98/biosdisk.c#2 integrate
.. //depot/projects/sack/cam/cam_xpt.c#2 integrate
.. //depot/projects/sack/cam/scsi/scsi_ch.c#2 integrate
.. //depot/projects/sack/cam/scsi/scsi_pass.c#2 integrate
.. //depot/projects/sack/cam/scsi/scsi_pt.c#2 integrate
.. //depot/projects/sack/cam/scsi/scsi_sa.c#2 integrate
.. //depot/projects/sack/cam/scsi/scsi_ses.c#2 integrate
.. //depot/projects/sack/cam/scsi/scsi_target.c#2 integrate
.. //depot/projects/sack/coda/cnode.h#2 integrate
.. //depot/projects/sack/coda/coda.h#2 integrate
.. //depot/projects/sack/coda/coda_fbsd.c#2 integrate
.. //depot/projects/sack/coda/coda_psdev.c#2 integrate
.. //depot/projects/sack/coda/coda_psdev.h#2 integrate
.. //depot/projects/sack/coda/coda_venus.c#2 integrate
.. //depot/projects/sack/coda/coda_venus.h#2 integrate
.. //depot/projects/sack/coda/coda_vfsops.c#2 integrate
.. //depot/projects/sack/coda/coda_vnops.c#2 integrate
.. //depot/projects/sack/coda/coda_vnops.h#2 integrate
.. //depot/projects/sack/compat/freebsd32/freebsd32_misc.c#2 integrate
.. //depot/projects/sack/compat/linux/linux_ioctl.c#3 integrate
.. //depot/projects/sack/compat/linux/linux_ioctl.h#3 integrate
.. //depot/projects/sack/compat/linux/linux_stats.c#2 integrate
.. //depot/projects/sack/compat/svr4/svr4_socket.c#2 integrate
.. //depot/projects/sack/compat/svr4/svr4_socket.h#2 integrate
.. //depot/projects/sack/compat/svr4/svr4_stream.c#3 integrate
.. //depot/projects/sack/compat/svr4/svr4_types.h#2 integrate
.. //depot/projects/sack/conf/files#4 integrate
.. //depot/projects/sack/conf/ldscript.ia64#2 integrate
.. //depot/projects/sack/contrib/altq/altq/altq_subr.c#2 integrate
.. //depot/projects/sack/contrib/altq/altq/if_altq.h#2 integrate
.. //depot/projects/sack/contrib/dev/ath/freebsd/ah_osdep.c#2 integrate
.. //depot/projects/sack/contrib/dev/fla/fla.c#2 integrate
.. //depot/projects/sack/contrib/ipfilter/netinet/ip_fil.c#2 integrate
.. //depot/projects/sack/contrib/ipfilter/netinet/ip_fil.h#2 integrate
.. //depot/projects/sack/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate
.. //depot/projects/sack/contrib/pf/net/if_pflog.c#3 integrate
.. //depot/projects/sack/contrib/pf/net/if_pflog.h#2 integrate
.. //depot/projects/sack/contrib/pf/net/if_pfsync.c#3 integrate
.. //depot/projects/sack/contrib/pf/net/if_pfsync.h#2 integrate
.. //depot/projects/sack/contrib/pf/net/pf.c#3 integrate
.. //depot/projects/sack/contrib/pf/net/pf_if.c#1 branch
.. //depot/projects/sack/contrib/pf/net/pf_ioctl.c#3 integrate
.. //depot/projects/sack/contrib/pf/net/pf_norm.c#2 integrate
.. //depot/projects/sack/contrib/pf/net/pf_osfp.c#2 integrate
.. //depot/projects/sack/contrib/pf/net/pf_subr.c#1 branch
.. //depot/projects/sack/contrib/pf/net/pf_table.c#2 integrate
.. //depot/projects/sack/contrib/pf/net/pfvar.h#3 integrate
.. //depot/projects/sack/contrib/pf/netinet/in4_cksum.c#2 integrate
.. //depot/projects/sack/dev/aac/aac.c#2 integrate
.. //depot/projects/sack/dev/aac/aacvar.h#2 integrate
.. //depot/projects/sack/dev/acpica/Osd/OsdHardware.c#2 integrate
.. //depot/projects/sack/dev/acpica/Osd/OsdSynch.c#2 integrate
.. //depot/projects/sack/dev/acpica/acpi.c#3 integrate
.. //depot/projects/sack/dev/acpica/acpi_cpu.c#2 integrate
.. //depot/projects/sack/dev/acpica/acpivar.h#3 integrate
.. //depot/projects/sack/dev/adlink/adlink.c#2 integrate
.. //depot/projects/sack/dev/amr/amr.c#2 integrate
.. //depot/projects/sack/dev/amr/amrvar.h#2 integrate
.. //depot/projects/sack/dev/an/if_an.c#2 integrate
.. //depot/projects/sack/dev/asr/asr.c#2 integrate
.. //depot/projects/sack/dev/ata/ata-all.c#2 integrate
.. //depot/projects/sack/dev/ata/ata-chipset.c#2 integrate
.. //depot/projects/sack/dev/ata/ata-pci.c#2 integrate
.. //depot/projects/sack/dev/ata/ata-pci.h#2 integrate
.. //depot/projects/sack/dev/ata/atapi-cam.c#2 integrate
.. //depot/projects/sack/dev/ata/atapi-tape.c#2 integrate
.. //depot/projects/sack/dev/ata/atapi-tape.h#2 integrate
.. //depot/projects/sack/dev/bktr/bktr_core.c#2 integrate
.. //depot/projects/sack/dev/bktr/bktr_core.h#2 integrate
.. //depot/projects/sack/dev/bktr/bktr_os.c#2 integrate
.. //depot/projects/sack/dev/bktr/bktr_reg.h#2 integrate
.. //depot/projects/sack/dev/ciss/ciss.c#2 integrate
.. //depot/projects/sack/dev/ciss/cissvar.h#2 integrate
.. //depot/projects/sack/dev/cp/if_cp.c#2 integrate
.. //depot/projects/sack/dev/ctau/if_ct.c#2 integrate
.. //depot/projects/sack/dev/cx/if_cx.c#3 integrate
.. //depot/projects/sack/dev/cy/cy.c#3 integrate
.. //depot/projects/sack/dev/dcons/dcons.c#2 integrate
.. //depot/projects/sack/dev/digi/digi.c#3 integrate
.. //depot/projects/sack/dev/digi/digi.h#2 integrate
.. //depot/projects/sack/dev/drm/drmP.h#3 integrate
.. //depot/projects/sack/dev/drm/drm_drv.h#3 integrate
.. //depot/projects/sack/dev/drm/drm_fops.h#2 integrate
.. //depot/projects/sack/dev/drm/drm_os_freebsd.h#3 integrate
.. //depot/projects/sack/dev/drm/drm_vm.h#2 integrate
.. //depot/projects/sack/dev/ed/if_ed_pci.c#2 integrate
.. //depot/projects/sack/dev/fb/gfb.h#2 integrate
.. //depot/projects/sack/dev/fb/vga.c#3 integrate
.. //depot/projects/sack/dev/fb/vgareg.h#2 integrate
.. //depot/projects/sack/dev/fdc/fdc.c#2 integrate
.. //depot/projects/sack/dev/firewire/firewirereg.h#2 integrate
.. //depot/projects/sack/dev/firewire/fwdev.c#2 integrate
.. //depot/projects/sack/dev/firewire/fwmem.c#2 integrate
.. //depot/projects/sack/dev/firewire/fwohci.c#2 integrate
.. //depot/projects/sack/dev/firewire/sbp.c#2 integrate
.. //depot/projects/sack/dev/gfb/gfb_pci.c#2 integrate
.. //depot/projects/sack/dev/ida/ida.c#2 integrate
.. //depot/projects/sack/dev/ida/idavar.h#2 integrate
.. //depot/projects/sack/dev/iicbus/iic.c#2 integrate
.. //depot/projects/sack/dev/iir/iir.h#2 integrate
.. //depot/projects/sack/dev/iir/iir_ctrl.c#2 integrate
.. //depot/projects/sack/dev/ips/ips.c#2 integrate
.. //depot/projects/sack/dev/ips/ips.h#2 integrate
.. //depot/projects/sack/dev/isp/isp_freebsd.c#2 integrate
.. //depot/projects/sack/dev/joy/joy.c#2 integrate
.. //depot/projects/sack/dev/joy/joyvar.h#2 integrate
.. //depot/projects/sack/dev/kbd/kbd.c#2 integrate
.. //depot/projects/sack/dev/kbd/kbdreg.h#2 integrate
.. //depot/projects/sack/dev/led/led.c#2 integrate
.. //depot/projects/sack/dev/led/led.h#2 integrate
.. //depot/projects/sack/dev/matcd/matcd.c#2 integrate
.. //depot/projects/sack/dev/matcd/matcd_data.h#2 integrate
.. //depot/projects/sack/dev/mcd/mcd.c#2 integrate
.. //depot/projects/sack/dev/mcd/mcdvar.h#2 integrate
.. //depot/projects/sack/dev/md/md.c#2 integrate
.. //depot/projects/sack/dev/mlx/mlx.c#2 integrate
.. //depot/projects/sack/dev/mlx/mlxvar.h#2 integrate
.. //depot/projects/sack/dev/mly/mly.c#2 integrate
.. //depot/projects/sack/dev/mly/mlyvar.h#2 integrate
.. //depot/projects/sack/dev/nmdm/nmdm.c#2 integrate
.. //depot/projects/sack/dev/null/null.c#2 integrate
.. //depot/projects/sack/dev/ofw/ofw_console.c#3 integrate
.. //depot/projects/sack/dev/ofw/openfirmio.c#2 integrate
.. //depot/projects/sack/dev/ofw/openpromio.c#2 integrate
.. //depot/projects/sack/dev/pci/pci.c#2 integrate
.. //depot/projects/sack/dev/pci/pci_user.c#2 integrate
.. //depot/projects/sack/dev/ppbus/lpt.c#2 integrate
.. //depot/projects/sack/dev/ppbus/pcfclock.c#2 integrate
.. //depot/projects/sack/dev/ppbus/ppi.c#2 integrate
.. //depot/projects/sack/dev/ppbus/pps.c#2 integrate
.. //depot/projects/sack/dev/random/randomdev.c#2 integrate
.. //depot/projects/sack/dev/rc/rc.c#2 integrate
.. //depot/projects/sack/dev/rp/rp.c#3 integrate
.. //depot/projects/sack/dev/rp/rpreg.h#2 integrate
.. //depot/projects/sack/dev/sab/sab.c#3 integrate
.. //depot/projects/sack/dev/scd/scd.c#2 integrate
.. //depot/projects/sack/dev/scd/scdvar.h#2 integrate
.. //depot/projects/sack/dev/si/si.c#3 integrate
.. //depot/projects/sack/dev/sio/sio.c#3 integrate
.. //depot/projects/sack/dev/smbus/smb.c#2 integrate
.. //depot/projects/sack/dev/snp/snp.c#2 integrate
.. //depot/projects/sack/dev/sound/pcm/dsp.c#2 integrate
.. //depot/projects/sack/dev/sound/pcm/mixer.c#2 integrate
.. //depot/projects/sack/dev/sound/pcm/mixer.h#2 integrate
.. //depot/projects/sack/dev/sound/pcm/sndstat.c#2 integrate
.. //depot/projects/sack/dev/sound/pcm/sound.h#2 integrate
.. //depot/projects/sack/dev/streams/streams.c#2 integrate
.. //depot/projects/sack/dev/sx/sx.c#3 integrate
.. //depot/projects/sack/dev/syscons/scvesactl.c#2 integrate
.. //depot/projects/sack/dev/syscons/syscons.c#2 integrate
.. //depot/projects/sack/dev/syscons/syscons.h#2 integrate
.. //depot/projects/sack/dev/syscons/sysmouse.c#2 integrate
.. //depot/projects/sack/dev/tdfx/tdfx_pci.c#2 integrate
.. //depot/projects/sack/dev/tdfx/tdfx_vars.h#2 integrate
.. //depot/projects/sack/dev/twa/twa.h#2 integrate
.. //depot/projects/sack/dev/twa/twa_freebsd.c#2 integrate
.. //depot/projects/sack/dev/twe/twe_compat.h#2 integrate
.. //depot/projects/sack/dev/twe/twe_freebsd.c#3 integrate
.. //depot/projects/sack/dev/uart/uart_bus.h#2 integrate
.. //depot/projects/sack/dev/uart/uart_tty.c#2 integrate
.. //depot/projects/sack/dev/usb/ehcireg.h#2 integrate
.. //depot/projects/sack/dev/usb/ubser.c#2 integrate
.. //depot/projects/sack/dev/usb/ucom.c#3 integrate
.. //depot/projects/sack/dev/usb/ucomvar.h#2 integrate
.. //depot/projects/sack/dev/usb/ufm.c#2 integrate
.. //depot/projects/sack/dev/usb/ugen.c#2 integrate
.. //depot/projects/sack/dev/usb/uhid.c#2 integrate
.. //depot/projects/sack/dev/usb/ulpt.c#2 integrate
.. //depot/projects/sack/dev/usb/ums.c#2 integrate
.. //depot/projects/sack/dev/usb/urio.c#2 integrate
.. //depot/projects/sack/dev/usb/usb.c#2 integrate
.. //depot/projects/sack/dev/usb/usbdevs#2 integrate
.. //depot/projects/sack/dev/usb/usbdevs.h#2 integrate
.. //depot/projects/sack/dev/usb/usbdevs_data.h#2 integrate
.. //depot/projects/sack/dev/usb/uscanner.c#2 integrate
.. //depot/projects/sack/dev/vinum/vinum.c#2 integrate
.. //depot/projects/sack/dev/vinum/vinumconfig.c#2 integrate
.. //depot/projects/sack/dev/vinum/vinumext.h#2 integrate
.. //depot/projects/sack/dev/vinum/vinumio.c#2 integrate
.. //depot/projects/sack/dev/vinum/vinumioctl.c#2 integrate
.. //depot/projects/sack/dev/vinum/vinumobj.h#2 integrate
.. //depot/projects/sack/dev/vinum/vinumutil.c#2 integrate
.. //depot/projects/sack/dev/watchdog/watchdog.c#2 integrate
.. //depot/projects/sack/dev/zs/z8530var.h#2 integrate
.. //depot/projects/sack/dev/zs/zs.c#2 integrate
.. //depot/projects/sack/fs/devfs/devfs.h#2 integrate
.. //depot/projects/sack/fs/devfs/devfs_devs.c#2 integrate
.. //depot/projects/sack/fs/devfs/devfs_rule.c#2 integrate
.. //depot/projects/sack/fs/devfs/devfs_vnops.c#2 integrate
.. //depot/projects/sack/fs/fifofs/fifo_vnops.c#3 integrate
.. //depot/projects/sack/fs/hpfs/hpfs.h#2 integrate
.. //depot/projects/sack/fs/hpfs/hpfs_hash.c#2 integrate
.. //depot/projects/sack/fs/hpfs/hpfs_vfsops.c#2 integrate
.. //depot/projects/sack/fs/msdosfs/msdosfs_denode.c#2 integrate
.. //depot/projects/sack/fs/msdosfs/msdosfs_vfsops.c#2 integrate
.. //depot/projects/sack/fs/msdosfs/msdosfsmount.h#2 integrate
.. //depot/projects/sack/fs/ntfs/ntfs.h#2 integrate
.. //depot/projects/sack/fs/ntfs/ntfs_ihash.c#2 integrate
.. //depot/projects/sack/fs/ntfs/ntfs_ihash.h#2 integrate
.. //depot/projects/sack/fs/ntfs/ntfs_inode.h#2 integrate
.. //depot/projects/sack/fs/ntfs/ntfs_vfsops.c#2 integrate
.. //depot/projects/sack/fs/portalfs/portal_vnops.c#2 integrate
.. //depot/projects/sack/fs/specfs/spec_vnops.c#2 integrate
.. //depot/projects/sack/fs/udf/udf.h#2 integrate
.. //depot/projects/sack/geom/gate/g_gate.c#2 integrate
.. //depot/projects/sack/geom/geom.h#2 integrate
.. //depot/projects/sack/geom/geom_ctl.c#2 integrate
.. //depot/projects/sack/geom/geom_dev.c#2 integrate
.. //depot/projects/sack/geom/vinum/geom_vinum.c#2 integrate
.. //depot/projects/sack/geom/vinum/geom_vinum_drive.c#2 integrate
.. //depot/projects/sack/geom/vinum/geom_vinum_plex.c#2 integrate
.. //depot/projects/sack/geom/vinum/geom_vinum_subr.c#2 integrate
.. //depot/projects/sack/geom/vinum/geom_vinum_volume.c#2 integrate
.. //depot/projects/sack/gnu/ext2fs/ext2_extern.h#2 integrate
.. //depot/projects/sack/gnu/ext2fs/ext2_ihash.c#2 integrate
.. //depot/projects/sack/gnu/ext2fs/ext2_mount.h#2 integrate
.. //depot/projects/sack/gnu/ext2fs/ext2_vfsops.c#2 integrate
.. //depot/projects/sack/gnu/ext2fs/inode.h#2 integrate
.. //depot/projects/sack/i386/acpica/acpi_asus.c#3 integrate
.. //depot/projects/sack/i386/acpica/acpi_machdep.c#3 integrate
.. //depot/projects/sack/i386/acpica/acpi_toshiba.c#3 integrate
.. //depot/projects/sack/i386/bios/apm.c#2 integrate
.. //depot/projects/sack/i386/bios/apm.h#2 integrate
.. //depot/projects/sack/i386/bios/smapi.c#3 integrate
.. //depot/projects/sack/i386/i386/bios.c#3 integrate
.. //depot/projects/sack/i386/i386/elan-mmcr.c#2 integrate
.. //depot/projects/sack/i386/i386/geode.c#2 integrate
.. //depot/projects/sack/i386/i386/machdep.c#3 integrate
.. //depot/projects/sack/i386/i386/mem.c#2 integrate
.. //depot/projects/sack/i386/i386/perfmon.c#2 integrate
.. //depot/projects/sack/i386/i386/pmap.c#3 integrate
.. //depot/projects/sack/i386/ibcs2/ibcs2_misc.c#2 integrate
.. //depot/projects/sack/i386/include/cpu.h#2 integrate
.. //depot/projects/sack/i386/include/pmap.h#3 integrate
.. //depot/projects/sack/i386/isa/mse.c#2 integrate
.. //depot/projects/sack/i386/isa/npx.c#2 integrate
.. //depot/projects/sack/i386/isa/pcvt/pcvt_drv.c#2 integrate
.. //depot/projects/sack/i386/isa/pcvt/pcvt_ext.c#2 integrate
.. //depot/projects/sack/i386/isa/pcvt/pcvt_hdr.h#2 integrate
.. //depot/projects/sack/i386/isa/pcvt/pcvt_kbd.c#2 integrate
.. //depot/projects/sack/i386/isa/pcvt/pcvt_sup.c#2 integrate
.. //depot/projects/sack/i386/isa/spic.c#2 integrate
.. //depot/projects/sack/i386/isa/spkr.c#2 integrate
.. //depot/projects/sack/i4b/driver/i4b_ctl.c#2 integrate
.. //depot/projects/sack/i4b/driver/i4b_rbch.c#2 integrate
.. //depot/projects/sack/i4b/driver/i4b_tel.c#2 integrate
.. //depot/projects/sack/i4b/driver/i4b_trace.c#2 integrate
.. //depot/projects/sack/i4b/layer4/i4b_i4bdrv.c#2 integrate
.. //depot/projects/sack/ia64/ia64/mem.c#2 integrate
.. //depot/projects/sack/ia64/ia64/pmap.c#3 integrate
.. //depot/projects/sack/ia64/ia64/ssc.c#2 integrate
.. //depot/projects/sack/ia64/ia64/sscdisk.c#2 integrate
.. //depot/projects/sack/ia64/include/cpu.h#2 integrate
.. //depot/projects/sack/isa/psm.c#2 integrate
.. //depot/projects/sack/isa/vga_isa.c#2 integrate
.. //depot/projects/sack/isofs/cd9660/cd9660_node.c#2 integrate
.. //depot/projects/sack/isofs/cd9660/cd9660_node.h#2 integrate
.. //depot/projects/sack/isofs/cd9660/cd9660_rrip.c#2 integrate
.. //depot/projects/sack/isofs/cd9660/cd9660_vfsops.c#2 integrate
.. //depot/projects/sack/isofs/cd9660/iso.h#2 integrate
.. //depot/projects/sack/kern/init_main.c#2 integrate
.. //depot/projects/sack/kern/kern_acct.c#2 integrate
.. //depot/projects/sack/kern/kern_clock.c#2 integrate
.. //depot/projects/sack/kern/kern_conf.c#2 integrate
.. //depot/projects/sack/kern/kern_descrip.c#3 integrate
.. //depot/projects/sack/kern/kern_exit.c#3 integrate
.. //depot/projects/sack/kern/kern_physio.c#2 integrate
.. //depot/projects/sack/kern/kern_proc.c#3 integrate
.. //depot/projects/sack/kern/kern_resource.c#3 integrate
.. //depot/projects/sack/kern/kern_shutdown.c#2 integrate
.. //depot/projects/sack/kern/kern_thread.c#3 integrate
.. //depot/projects/sack/kern/kern_time.c#2 integrate
.. //depot/projects/sack/kern/link_elf_obj.c#2 integrate
.. //depot/projects/sack/kern/sched_4bsd.c#2 integrate
.. //depot/projects/sack/kern/sched_ule.c#2 integrate
.. //depot/projects/sack/kern/subr_bus.c#2 integrate
.. //depot/projects/sack/kern/subr_devstat.c#2 integrate
.. //depot/projects/sack/kern/subr_log.c#2 integrate
.. //depot/projects/sack/kern/subr_prf.c#2 integrate
.. //depot/projects/sack/kern/sys_socket.c#3 integrate
.. //depot/projects/sack/kern/sysv_shm.c#2 integrate
.. //depot/projects/sack/kern/tty.c#3 integrate
.. //depot/projects/sack/kern/tty_conf.c#3 integrate
.. //depot/projects/sack/kern/tty_cons.c#2 integrate
.. //depot/projects/sack/kern/tty_pty.c#3 integrate
.. //depot/projects/sack/kern/tty_tty.c#2 integrate
.. //depot/projects/sack/kern/uipc_socket.c#3 integrate
.. //depot/projects/sack/kern/uipc_socket2.c#3 integrate
.. //depot/projects/sack/kern/uipc_syscalls.c#3 integrate
.. //depot/projects/sack/kern/uipc_usrreq.c#3 integrate
.. //depot/projects/sack/kern/vfs_aio.c#2 integrate
.. //depot/projects/sack/kern/vfs_bio.c#2 integrate
.. //depot/projects/sack/kern/vfs_mount.c#2 integrate
.. //depot/projects/sack/kern/vfs_subr.c#3 integrate
.. //depot/projects/sack/kern/vfs_syscalls.c#3 integrate
.. //depot/projects/sack/modules/Makefile#2 integrate
.. //depot/projects/sack/modules/pf/Makefile#2 integrate
.. //depot/projects/sack/modules/pflog/Makefile#2 delete
.. //depot/projects/sack/modules/pfsync/Makefile#2 delete
.. //depot/projects/sack/modules/zlib/Makefile#1 branch
.. //depot/projects/sack/net/bpf.c#3 integrate
.. //depot/projects/sack/net/bridge.c#2 integrate
.. //depot/projects/sack/net/if.c#3 integrate
.. //depot/projects/sack/net/if_arcsubr.c#2 integrate
.. //depot/projects/sack/net/if_ef.c#2 integrate
.. //depot/projects/sack/net/if_ethersubr.c#2 integrate
.. //depot/projects/sack/net/if_fddisubr.c#2 integrate
.. //depot/projects/sack/net/if_fwsubr.c#2 integrate
.. //depot/projects/sack/net/if_iso88025subr.c#2 integrate
.. //depot/projects/sack/net/if_sl.c#3 integrate
.. //depot/projects/sack/net/if_spppsubr.c#3 integrate
.. //depot/projects/sack/net/if_tap.c#2 integrate
.. //depot/projects/sack/net/if_tapvar.h#2 integrate
.. //depot/projects/sack/net/if_tun.c#2 integrate
.. //depot/projects/sack/net/if_var.h#3 integrate
.. //depot/projects/sack/net/if_vlan.c#2 integrate
.. //depot/projects/sack/net/pfil.h#2 integrate
.. //depot/projects/sack/net/ppp_tty.c#2 integrate
.. //depot/projects/sack/net/raw_cb.c#3 integrate
.. //depot/projects/sack/net/raw_cb.h#2 integrate
.. //depot/projects/sack/net/raw_usrreq.c#3 integrate
.. //depot/projects/sack/net/zlib.c#2 integrate
.. //depot/projects/sack/netgraph/bluetooth/drivers/h4/ng_h4.c#2 integrate
.. //depot/projects/sack/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate
.. //depot/projects/sack/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate
.. //depot/projects/sack/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#2 integrate
.. //depot/projects/sack/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#3 integrate
.. //depot/projects/sack/netgraph/ng_device.c#2 integrate
.. //depot/projects/sack/netgraph/ng_fec.c#2 integrate
.. //depot/projects/sack/netgraph/ng_ksocket.c#3 integrate
.. //depot/projects/sack/netgraph/ng_tty.c#2 integrate
.. //depot/projects/sack/netinet/in.h#3 integrate
.. //depot/projects/sack/netinet/in_gif.c#2 integrate
.. //depot/projects/sack/netinet/in_pcb.c#3 integrate
.. //depot/projects/sack/netinet/in_proto.c#2 integrate
.. //depot/projects/sack/netinet/ip_input.c#3 integrate
.. //depot/projects/sack/netinet/ip_mroute.c#2 integrate
.. //depot/projects/sack/netinet/tcp_input.c#4 integrate
.. //depot/projects/sack/netinet/tcp_output.c#4 integrate
.. //depot/projects/sack/netinet/tcp_subr.c#4 integrate
.. //depot/projects/sack/netinet/tcp_syncache.c#4 integrate
.. //depot/projects/sack/netinet/tcp_usrreq.c#3 integrate
.. //depot/projects/sack/netinet/udp_usrreq.c#2 integrate
.. //depot/projects/sack/netipx/spx_usrreq.c#3 integrate
.. //depot/projects/sack/netkey/keysock.c#2 integrate
.. //depot/projects/sack/netncp/ncp_mod.c#2 integrate
.. //depot/projects/sack/netsmb/smb_dev.c#2 integrate
.. //depot/projects/sack/netsmb/smb_trantcp.c#3 integrate
.. //depot/projects/sack/nfs4client/nfs4_dev.c#2 integrate
.. //depot/projects/sack/nfs4client/nfs4_vn_subs.c#2 integrate
.. //depot/projects/sack/nfsclient/bootp_subr.c#2 integrate
.. //depot/projects/sack/nfsclient/krpc_subr.c#2 integrate
.. //depot/projects/sack/nfsclient/nfs_bio.c#2 integrate
.. //depot/projects/sack/nfsclient/nfs_socket.c#2 integrate
.. //depot/projects/sack/nfsclient/nfs_subs.c#2 integrate
.. //depot/projects/sack/nfsserver/nfs_serv.c#2 integrate
.. //depot/projects/sack/nfsserver/nfs_syscalls.c#2 integrate
.. //depot/projects/sack/opencrypto/cryptodev.c#2 integrate
.. //depot/projects/sack/pc98/conf/NOTES#2 integrate
.. //depot/projects/sack/pc98/i386/machdep.c#3 integrate
.. //depot/projects/sack/pc98/pc98/fd.c#2 integrate
.. //depot/projects/sack/pc98/pc98/mse.c#2 integrate
.. //depot/projects/sack/pc98/pc98/olpt.c#2 integrate
.. //depot/projects/sack/pc98/pc98/pc98gdc.c#3 integrate
.. //depot/projects/sack/pc98/pc98/sio.c#3 integrate
.. //depot/projects/sack/pc98/pc98/wd_cd.c#2 integrate
.. //depot/projects/sack/pccard/pccard.c#2 integrate
.. //depot/projects/sack/pccard/slot.h#2 integrate
.. //depot/projects/sack/pci/agp.c#2 integrate
.. //depot/projects/sack/pci/agppriv.h#2 integrate
.. //depot/projects/sack/pci/if_ti.c#2 integrate
.. //depot/projects/sack/pci/if_tireg.h#2 integrate
.. //depot/projects/sack/pci/xrpu.c#2 integrate
.. //depot/projects/sack/powerpc/ofw/ofw_syscons.h#2 integrate
.. //depot/projects/sack/security/mac/mac_vfs.c#2 integrate
.. //depot/projects/sack/security/mac_biba/mac_biba.c#2 integrate
.. //depot/projects/sack/security/mac_lomac/mac_lomac.c#2 integrate
.. //depot/projects/sack/security/mac_mls/mac_mls.c#2 integrate
.. //depot/projects/sack/security/mac_stub/mac_stub.c#2 integrate
.. //depot/projects/sack/security/mac_test/mac_test.c#2 integrate
.. //depot/projects/sack/sparc64/creator/creator.h#2 integrate
.. //depot/projects/sack/sparc64/creator/creator_upa.c#2 integrate
.. //depot/projects/sack/sparc64/include/cpu.h#2 integrate
.. //depot/projects/sack/sparc64/sbus/lsi64854.c#1 branch
.. //depot/projects/sack/sparc64/sbus/lsi64854reg.h#1 branch
.. //depot/projects/sack/sparc64/sbus/lsi64854var.h#1 branch
.. //depot/projects/sack/sparc64/sparc64/mem.c#2 integrate
.. //depot/projects/sack/sys/_lock.h#2 integrate
.. //depot/projects/sack/sys/_types.h#3 integrate
.. //depot/projects/sack/sys/acct.h#2 integrate
.. //depot/projects/sack/sys/bio.h#2 integrate
.. //depot/projects/sack/sys/conf.h#2 integrate
.. //depot/projects/sack/sys/file.h#2 integrate
.. //depot/projects/sack/sys/kernel.h#2 integrate
.. //depot/projects/sack/sys/linedisc.h#2 integrate
.. //depot/projects/sack/sys/mac.h#2 integrate
.. //depot/projects/sack/sys/mac_policy.h#2 integrate
.. //depot/projects/sack/sys/mbuf.h#3 integrate
.. //depot/projects/sack/sys/mount.h#2 integrate
.. //depot/projects/sack/sys/mutex.h#2 integrate
.. //depot/projects/sack/sys/param.h#3 integrate
.. //depot/projects/sack/sys/proc.h#2 integrate
.. //depot/projects/sack/sys/sched.h#2 integrate
.. //depot/projects/sack/sys/snoop.h#2 integrate
.. //depot/projects/sack/sys/socketvar.h#3 integrate
.. //depot/projects/sack/sys/stat.h#2 integrate
.. //depot/projects/sack/sys/sysctl.h#2 integrate
.. //depot/projects/sack/sys/systm.h#2 integrate
.. //depot/projects/sack/sys/tty.h#3 integrate
.. //depot/projects/sack/sys/types.h#3 integrate
.. //depot/projects/sack/sys/user.h#2 integrate
.. //depot/projects/sack/sys/vnode.h#2 integrate
.. //depot/projects/sack/ufs/ffs/ffs_alloc.c#2 integrate
.. //depot/projects/sack/ufs/ffs/ffs_snapshot.c#3 integrate
.. //depot/projects/sack/ufs/ffs/ffs_vfsops.c#2 integrate
.. //depot/projects/sack/ufs/ufs/dinode.h#2 integrate
.. //depot/projects/sack/ufs/ufs/ufs_extern.h#2 integrate
.. //depot/projects/sack/ufs/ufs/ufs_ihash.c#2 integrate
.. //depot/projects/sack/ufs/ufs/ufsmount.h#2 integrate
.. //depot/projects/sack/vm/device_pager.c#2 integrate
.. //depot/projects/sack/vm/swap_pager.c#2 integrate
.. //depot/projects/sack/vm/vm_contig.c#2 integrate
.. //depot/projects/sack/vm/vm_glue.c#2 integrate
.. //depot/projects/sack/vm/vm_page.c#2 integrate
.. //depot/projects/sack/vm/vm_pageout.c#2 integrate
.. //depot/projects/sack/vm/vm_param.h#2 integrate

Differences ...

==== //depot/projects/sack/alpha/alpha/mem.c#2 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/mem.c,v 1.49 2004/06/03 05:58:27 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/mem.c,v 1.50 2004/06/16 09:46:26 phk Exp $");
 
 /*
  * Memory special file
@@ -67,9 +67,9 @@
 #include <vm/pmap.h>
 #include <vm/vm_extern.h>
 
-static dev_t memdev, kmemdev;
+static struct cdev *memdev, *kmemdev;
 #ifdef PERFMON
-static dev_t perfdev;
+static struct cdev *perfdev;
 #endif /* PERFMON */
 
 static	d_open_t	mmopen;
@@ -95,7 +95,7 @@
 struct mem_range_softc mem_range_softc;
 
 static int
-mmclose(dev_t dev, int flags, int fmt, struct thread *td)
+mmclose(struct cdev *dev, int flags, int fmt, struct thread *td)
 {
 	switch (minor(dev)) {
 #ifdef PERFMON
@@ -109,7 +109,7 @@
 }
 
 static int
-mmopen(dev_t dev, int flags, int fmt, struct thread *td)
+mmopen(struct cdev *dev, int flags, int fmt, struct thread *td)
 {
 	int error;
 
@@ -136,7 +136,7 @@
 
 /*ARGSUSED*/
 static int
-mmrw(dev_t dev, struct uio *uio, int flags)
+mmrw(struct cdev *dev, struct uio *uio, int flags)
 {
 	vm_offset_t o, v;
 	int c = 0;
@@ -219,7 +219,7 @@
 * instead of going through read/write			*
 \*******************************************************/
 static int
-memmmap(dev_t dev, vm_offset_t offset, vm_paddr_t *paddr, int prot)
+memmmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int prot)
 {
 	/*
 	 * /dev/mem is the only one that makes sense through this
@@ -240,7 +240,7 @@
 }
 
 static int
-mmioctl(dev_t dev, u_long cmd, caddr_t cmdarg, int flags, struct thread *td)
+mmioctl(struct cdev *dev, u_long cmd, caddr_t cmdarg, int flags, struct thread *td)
 {
 	switch(minor(dev)) {
 #ifdef PERFMON

==== //depot/projects/sack/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.149 2004/06/12 06:03:27 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.150 2004/06/15 19:28:39 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1425,12 +1425,6 @@
 	return uma_zalloc(pvzone, M_NOWAIT);
 }
 
-/*
- * If it is the first entry on the list, it is actually
- * in the header and we must copy the following entry up
- * to the header.  Otherwise we must search the list for
- * the entry.  In either case we free the now unused entry.
- */
 
 static int
 pmap_remove_entry(pmap_t pmap, vm_page_t m, vm_offset_t va)

==== //depot/projects/sack/alpha/alpha/promcons.c#2 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.38 2004/06/04 16:02:48 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.39 2004/06/16 09:46:26 phk Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -86,7 +86,7 @@
 
 int
 promopen(dev, flag, mode, td)
-	dev_t dev;
+	struct cdev *dev;
 	int flag, mode;
 	struct thread *td;
 {
@@ -137,7 +137,7 @@
  
 int
 promclose(dev, flag, mode, td)
-	dev_t dev;
+	struct cdev *dev;
 	int flag, mode;
 	struct thread *td;
 {

==== //depot/projects/sack/alpha/include/cpu.h#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/alpha/include/cpu.h,v 1.37 2004/04/05 21:00:50 imp Exp $ */
+/* $FreeBSD: src/sys/alpha/include/cpu.h,v 1.39 2004/06/20 03:52:48 bde Exp $ */
 /* From: NetBSD: cpu.h,v 1.18 1997/09/23 23:17:49 mjacob Exp */
 
 /*

==== //depot/projects/sack/alpha/tlsb/zs_tlsb.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.44 2004/06/04 16:02:48 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.45 2004/06/16 09:46:27 phk Exp $");
 
 #include "opt_ddb.h"
 
@@ -258,7 +258,7 @@
 
 
 static int
-zsopen(dev_t dev, int flag, int mode, struct thread *td)
+zsopen(struct cdev *dev, int flag, int mode, struct thread *td)
 {
 	struct zs_softc *sc = ZS_SOFTC(minor(dev));
 	struct tty *tp;
@@ -305,7 +305,7 @@
 }
  
 static int
-zsclose(dev_t dev, int flag, int mode, struct thread *td)
+zsclose(struct cdev *dev, int flag, int mode, struct thread *td)
 {
 	struct zs_softc *sc = ZS_SOFTC(minor(dev));
 	struct tty *tp;

==== //depot/projects/sack/amd64/amd64/fpu.c#3 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.153 2004/06/08 01:35:48 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.154 2004/06/18 04:01:54 peter Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -125,6 +125,8 @@
 	ldmxcsr(mxcsr);
 	fxsave(&fpu_cleanstate);
 	start_emulating();
+	bzero(fpu_cleanstate.sv_fp, sizeof(fpu_cleanstate.sv_fp));
+	bzero(fpu_cleanstate.sv_xmm, sizeof(fpu_cleanstate.sv_xmm));
 	fpu_cleanstate_ready = 1;
 	intr_restore(savecrit);
 }
@@ -384,7 +386,6 @@
 {
 	struct pcb *pcb;
 	register_t s;
-	u_short control;
 
 	if (PCPU_GET(fpcurthread) == curthread) {
 		printf("fpudna: fpcurthread == curthread %d times\n",
@@ -409,13 +410,10 @@
 
 	if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) {
 		/*
-		 * This is the first time this thread has used the FPU or
-		 * the PCB doesn't contain a clean FPU state.  Explicitly
-		 * initialize the FPU and load the default control word.
+		 * This is the first time this thread has used the FPU,
+		 * explicitly load sanitized registers.
 		 */
-		fninit();
-		control = __INITIAL_FPUCW__;
-		fldcw(&control);
+		fxrstor(&fpu_cleanstate);
 		pcb->pcb_flags |= PCB_FPUINITDONE;
 	} else
 		fxrstor(&pcb->pcb_save);

==== //depot/projects/sack/amd64/amd64/mem.c#2 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.115 2004/06/03 05:58:30 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.116 2004/06/16 09:46:27 phk Exp $");
 
 /*
  * Memory special file
@@ -68,7 +68,7 @@
 #include <vm/pmap.h>
 #include <vm/vm_extern.h>
 
-static dev_t memdev, kmemdev, iodev;
+static struct cdev *memdev, *kmemdev, *iodev;
 
 static	d_open_t	mmopen;
 static	d_close_t	mmclose;
@@ -95,7 +95,7 @@
 struct mem_range_softc mem_range_softc;
 
 static int
-mmclose(dev_t dev, int flags, int fmt, struct thread *td)
+mmclose(struct cdev *dev, int flags, int fmt, struct thread *td)
 {
 	switch (minor(dev)) {
 	case 14:
@@ -105,7 +105,7 @@
 }
 
 static int
-mmopen(dev_t dev, int flags, int fmt, struct thread *td)
+mmopen(struct cdev *dev, int flags, int fmt, struct thread *td)
 {
 	int error;
 
@@ -133,7 +133,7 @@
 
 /*ARGSUSED*/
 static int
-mmrw(dev_t dev, struct uio *uio, int flags)
+mmrw(struct cdev *dev, struct uio *uio, int flags)
 {
 	int o;
 	u_long c = 0, v;
@@ -214,7 +214,7 @@
 * instead of going through read/write			*
 \*******************************************************/
 static int
-memmmap(dev_t dev, vm_offset_t offset, vm_paddr_t *paddr, int prot)
+memmmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int prot)
 {
 	switch (minor(dev))
 	{
@@ -242,7 +242,7 @@
  * and mem_range_attr_set.
  */
 static int 
-mmioctl(dev_t dev, u_long cmd, caddr_t data, int flags, struct thread *td)
+mmioctl(struct cdev *dev, u_long cmd, caddr_t data, int flags, struct thread *td)
 {
 	int nd, error = 0;
 	struct mem_range_op *mo = (struct mem_range_op *)data;

==== //depot/projects/sack/amd64/amd64/pmap.c#3 (text+ko) ====

@@ -75,7 +75,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.470 2004/06/14 01:17:50 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.478 2004/06/20 20:57:05 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -196,13 +196,11 @@
  */
 pt_entry_t *CMAP1 = 0;
 caddr_t CADDR1 = 0;
-static pt_entry_t *msgbufmap;
 struct msgbuf *msgbufp = 0;
 
 /*
  * Crashdump maps.
  */
-static pt_entry_t *pt_crashdumpmap;
 static caddr_t crashdumpmap;
 
 static PMAP_INLINE void	free_pv_entry(pv_entry_t pv);
@@ -441,7 +439,7 @@
 	vm_paddr_t *firstaddr;
 {
 	vm_offset_t va;
-	pt_entry_t *pte;
+	pt_entry_t *pte, *unused;
 
 	avail_start = *firstaddr;
 
@@ -493,14 +491,12 @@
 	/*
 	 * Crashdump maps.
 	 */
-	SYSMAP(caddr_t, pt_crashdumpmap, crashdumpmap, MAXDUMPPGS);
+	SYSMAP(caddr_t, unused, crashdumpmap, MAXDUMPPGS)
 
 	/*
 	 * msgbufp is used to map the system message buffer.
-	 * XXX msgbufmap is not used.
 	 */
-	SYSMAP(struct msgbuf *, msgbufmap, msgbufp,
-	       atop(round_page(MSGBUF_SIZE)))
+	SYSMAP(struct msgbuf *, unused, msgbufp, atop(round_page(MSGBUF_SIZE)))
 
 	virtual_avail = va;
 
@@ -774,19 +770,23 @@
 
 	if (pmap == 0)
 		return 0;
+	PMAP_LOCK(pmap);
 	pdep = pmap_pde(pmap, va);
 	if (pdep) {
 		pde = *pdep;
 		if (pde) {
 			if ((pde & PG_PS) != 0) {
 				rtval = (pde & ~PDRMASK) | (va & PDRMASK);
+				PMAP_UNLOCK(pmap);
 				return rtval;
 			}
 			pte = pmap_pte(pmap, va);
 			rtval = ((*pte & PG_FRAME) | (va & PAGE_MASK));
+			PMAP_UNLOCK(pmap);
 			return rtval;
 		}
 	}
+	PMAP_UNLOCK(pmap);
 	return 0;
 
 }
@@ -1223,10 +1223,6 @@
 		*pd = VM_PAGE_TO_PHYS(m) | PG_U | PG_RW | PG_V | PG_A | PG_M;
 	}
 
-	vm_page_lock_queues();
-	vm_page_wakeup(m);
-	vm_page_unlock_queues();
-
 	return m;
 }
 
@@ -1427,12 +1423,6 @@
 	return uma_zalloc(pvzone, M_NOWAIT);
 }
 
-/*
- * If it is the first entry on the list, it is actually
- * in the header and we must copy the following entry up
- * to the header.  Otherwise we must search the list for
- * the entry.  In either case we free the now unused entry.
- */
 
 static int
 pmap_remove_entry(pmap_t pmap, vm_page_t m, vm_offset_t va)
@@ -1440,6 +1430,7 @@
 	pv_entry_t pv;
 	int rtval;
 
+	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	if (m->md.pv_list_count < pmap->pm_stats.resident_count) {
 		TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
@@ -1500,6 +1491,7 @@
 	pt_entry_t oldpte;
 	vm_page_t m, mpte;
 
+	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 	oldpte = pte_load_clear(ptq);
 	if (oldpte & PG_W)
 		pmap->pm_stats.wired_count -= 1;
@@ -1540,6 +1532,7 @@
 {
 	pt_entry_t *pte;
 
+	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 	pte = pmap_pte(pmap, va);
 	if (pte == NULL || (*pte & PG_V) == 0)
 		return;
@@ -1566,8 +1559,12 @@
 	if (pmap == NULL)
 		return;
 
+	/*
+	 * Perform an unsynchronized read.  This is, however, safe.
+	 */
 	if (pmap->pm_stats.resident_count == 0)
 		return;
+	PMAP_LOCK(pmap);
 
 	/*
 	 * special handling of removing one page.  a very
@@ -1578,6 +1575,7 @@
 		pde = pmap_pde(pmap, sva);
 		if (pde && (*pde & PG_PS) == 0) {
 			pmap_remove_page(pmap, sva);
+			PMAP_UNLOCK(pmap);
 			return;
 		}
 	}
@@ -1648,6 +1646,7 @@
 
 	if (anyvalid)
 		pmap_invalidate_all(pmap);
+	PMAP_UNLOCK(pmap);
 }
 
 /*
@@ -1938,7 +1937,9 @@
 	if (opa) {
 		int err;
 		vm_page_lock_queues();
+		PMAP_LOCK(pmap);
 		err = pmap_remove_pte(pmap, pte, va);
+		PMAP_UNLOCK(pmap);
 		vm_page_unlock_queues();
 		if (err)
 			panic("pmap_enter: pte vanished, va: 0x%lx", va);
@@ -2460,7 +2461,7 @@
 #ifdef PMAP_REMOVE_PAGES_CURPROC_ONLY
 		pte = vtopte(pv->pv_va);
 #else
-		pte = pmap_pte(pv->pv_pmap, pv->pv_va);
+		pte = pmap_pte(pmap, pv->pv_va);
 #endif
 		tpte = *pte;
 
@@ -2486,7 +2487,7 @@
 		KASSERT(m < &vm_page_array[vm_page_array_size],
 			("pmap_remove_pages: bad tpte %#jx", (uintmax_t)tpte));
 
-		pv->pv_pmap->pm_stats.resident_count--;
+		pmap->pm_stats.resident_count--;
 
 		pte_clear(pte);
 
@@ -2498,15 +2499,14 @@
 		}
 
 		npv = TAILQ_NEXT(pv, pv_plist);
-		TAILQ_REMOVE(&pv->pv_pmap->pm_pvlist, pv, pv_plist);
+		TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist);
 
 		m->md.pv_list_count--;
 		TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
-		if (TAILQ_FIRST(&m->md.pv_list) == NULL) {
+		if (TAILQ_EMPTY(&m->md.pv_list))
 			vm_page_flag_clear(m, PG_WRITEABLE);
-		}
 
-		pmap_unuse_pt(pv->pv_pmap, pv->pv_va, pv->pv_ptem);
+		pmap_unuse_pt(pmap, pv->pv_va, pv->pv_ptem);
 		free_pv_entry(pv);
 	}
 	pmap_invalidate_all(pmap);
@@ -2524,9 +2524,11 @@
 {
 	pv_entry_t pv;
 	pt_entry_t *pte;
+	boolean_t rv;
 
+	rv = FALSE;
 	if (!pmap_initialized || (m->flags & PG_FICTITIOUS))
-		return FALSE;
+		return (rv);
 
 	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
 	TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
@@ -2545,13 +2547,12 @@
 #endif
 		PMAP_LOCK(pv->pv_pmap);
 		pte = pmap_pte(pv->pv_pmap, pv->pv_va);
-		if (*pte & PG_M) {
-			PMAP_UNLOCK(pv->pv_pmap);
-			return TRUE;
-		}
+		rv = (*pte & PG_M) != 0;
 		PMAP_UNLOCK(pv->pv_pmap);
+		if (rv)
+			break;
 	}
-	return (FALSE);
+	return (rv);
 }
 
 /*
@@ -2565,14 +2566,17 @@
 {
 	pd_entry_t *pde;
 	pt_entry_t *pte;
+	boolean_t rv;
 
+	rv = FALSE;
+	PMAP_LOCK(pmap);
 	pde = pmap_pde(pmap, addr);
-	if (pde == NULL || (*pde & PG_V) == 0) 
-		return (FALSE);
-	pte = vtopte(addr);
-	if ((*pte & PG_V) == 0)
-		return (FALSE);
-	return (TRUE);
+	if (pde != NULL && (*pde & PG_V)) {
+		pte = vtopte(addr);
+		rv = (*pte & PG_V) == 0;
+	}
+	PMAP_UNLOCK(pmap);
+	return (rv);
 }
 
 /*
@@ -2791,12 +2795,12 @@
 	vm_page_t m;
 	int val = 0;
 	
+	PMAP_LOCK(pmap);
 	ptep = pmap_pte(pmap, addr);
-	if (ptep == 0) {
-		return 0;
-	}
+	pte = (ptep != NULL) ? *ptep : 0;
+	PMAP_UNLOCK(pmap);
 

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


More information about the p4-projects mailing list