PERFORCE change 38239 for review

John Baldwin jhb at FreeBSD.org
Thu Sep 18 10:59:38 PDT 2003


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

Change 38239 by jhb at jhb_laptop on 2003/09/18 10:59:04

	IFC @38237.

Affected files ...

.. //depot/projects/smpng/sys/alpha/alpha/pmap.c#52 integrate
.. //depot/projects/smpng/sys/alpha/alpha/vm_machdep.c#28 integrate
.. //depot/projects/smpng/sys/alpha/include/db_machdep.h#5 integrate
.. //depot/projects/smpng/sys/alpha/include/varargs.h#5 integrate
.. //depot/projects/smpng/sys/amd64/amd64/exception.S#5 integrate
.. //depot/projects/smpng/sys/amd64/amd64/machdep.c#12 integrate
.. //depot/projects/smpng/sys/amd64/amd64/pmap.c#12 integrate
.. //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#8 integrate
.. //depot/projects/smpng/sys/amd64/conf/GENERIC#7 integrate
.. //depot/projects/smpng/sys/amd64/include/signal.h#2 integrate
.. //depot/projects/smpng/sys/amd64/include/ucontext.h#3 integrate
.. //depot/projects/smpng/sys/amd64/include/varargs.h#2 integrate
.. //depot/projects/smpng/sys/amd64/pci/pci_bus.c#4 integrate
.. //depot/projects/smpng/sys/boot/forth/beastie.4th#3 integrate
.. //depot/projects/smpng/sys/boot/i386/libi386/comconsole.c#3 integrate
.. //depot/projects/smpng/sys/boot/i386/pxeldr/Makefile#4 integrate
.. //depot/projects/smpng/sys/boot/i386/pxeldr/pxeldr.s#3 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/acpi_stub.c#2 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/bootinfo.c#5 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/devicename.c#2 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/efi_stub.c#2 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/elf_freebsd.c#7 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/module.c#3 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/sal_stub.c#2 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/skifs.c#2 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/ssc.c#3 integrate
.. //depot/projects/smpng/sys/boot/ia64/libski/time.c#4 integrate
.. //depot/projects/smpng/sys/boot/pc98/boot2/boot.c#4 integrate
.. //depot/projects/smpng/sys/boot/pc98/boot2/disk.c#6 integrate
.. //depot/projects/smpng/sys/boot/pc98/boot2/io.c#4 integrate
.. //depot/projects/smpng/sys/boot/pc98/boot2/probe_keyboard.c#2 integrate
.. //depot/projects/smpng/sys/boot/pc98/boot2/sys.c#4 integrate
.. //depot/projects/smpng/sys/boot/pc98/boot2/table.c#2 integrate
.. //depot/projects/smpng/sys/boot/pc98/libpc98/biosdisk.c#8 integrate
.. //depot/projects/smpng/sys/boot/pc98/libpc98/biosmem.c#3 integrate
.. //depot/projects/smpng/sys/boot/pc98/libpc98/comconsole.c#2 integrate
.. //depot/projects/smpng/sys/boot/pc98/libpc98/gatea20.c#2 integrate
.. //depot/projects/smpng/sys/boot/pc98/libpc98/i386_module.c#2 integrate
.. //depot/projects/smpng/sys/boot/pc98/libpc98/time.c#2 integrate
.. //depot/projects/smpng/sys/boot/pc98/libpc98/vidconsole.c#4 integrate
.. //depot/projects/smpng/sys/boot/pc98/loader/conf.c#2 integrate
.. //depot/projects/smpng/sys/boot/pc98/loader/main.c#4 integrate
.. //depot/projects/smpng/sys/cam/cam_periph.c#12 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#19 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#45 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_sa.c#17 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_target.c#10 integrate
.. //depot/projects/smpng/sys/coda/cnode.h#5 integrate
.. //depot/projects/smpng/sys/coda/coda.h#2 integrate
.. //depot/projects/smpng/sys/coda/coda_namecache.c#8 integrate
.. //depot/projects/smpng/sys/coda/coda_namecache.h#4 integrate
.. //depot/projects/smpng/sys/coda/coda_psdev.c#11 integrate
.. //depot/projects/smpng/sys/coda/coda_subr.c#9 integrate
.. //depot/projects/smpng/sys/coda/coda_subr.h#2 integrate
.. //depot/projects/smpng/sys/coda/coda_venus.c#7 integrate
.. //depot/projects/smpng/sys/coda/coda_venus.h#2 integrate
.. //depot/projects/smpng/sys/coda/coda_vfsops.c#13 integrate
.. //depot/projects/smpng/sys/coda/coda_vfsops.h#4 integrate
.. //depot/projects/smpng/sys/coda/coda_vnops.c#13 integrate
.. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#32 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_misc.c#41 integrate
.. //depot/projects/smpng/sys/conf/NOTES#54 integrate
.. //depot/projects/smpng/sys/conf/files#86 integrate
.. //depot/projects/smpng/sys/conf/files.alpha#25 integrate
.. //depot/projects/smpng/sys/conf/files.amd64#7 integrate
.. //depot/projects/smpng/sys/conf/files.i386#47 integrate
.. //depot/projects/smpng/sys/conf/files.ia64#33 integrate
.. //depot/projects/smpng/sys/conf/files.pc98#48 integrate
.. //depot/projects/smpng/sys/conf/files.sparc64#31 integrate
.. //depot/projects/smpng/sys/conf/kmod.mk#22 integrate
.. //depot/projects/smpng/sys/conf/ldscript.ia64#6 integrate
.. //depot/projects/smpng/sys/conf/options#61 integrate
.. //depot/projects/smpng/sys/conf/options.i386#31 integrate
.. //depot/projects/smpng/sys/conf/options.ia64#18 integrate
.. //depot/projects/smpng/sys/crypto/rijndael/rijndael-api-fst.c#5 integrate
.. //depot/projects/smpng/sys/crypto/sha2/sha2.c#6 integrate
.. //depot/projects/smpng/sys/ddb/db_ps.c#23 integrate
.. //depot/projects/smpng/sys/dev/aac/aac.c#30 integrate
.. //depot/projects/smpng/sys/dev/aac/aac_pci.c#25 integrate
.. //depot/projects/smpng/sys/dev/acpica/Osd/OsdHardware.c#11 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi.c#48 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_acad.c#11 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_cmbat.c#14 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_ec.c#21 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_pci.c#6 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_resource.c#13 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpica_support.c#7 delete
.. //depot/projects/smpng/sys/dev/acpica/acpica_support.h#2 delete
.. //depot/projects/smpng/sys/dev/acpica/acpiio.h#4 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpivar.h#29 integrate
.. //depot/projects/smpng/sys/dev/acpica/madt.h#1 branch
.. //depot/projects/smpng/sys/dev/adlink/adlink.c#4 integrate
.. //depot/projects/smpng/sys/dev/advansys/adv_pci.c#6 integrate
.. //depot/projects/smpng/sys/dev/advansys/adw_pci.c#6 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/ahc_pci.c#12 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/ahd_pci.c#10 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.h#13 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_pci.c#13 integrate
.. //depot/projects/smpng/sys/dev/amr/amr_pci.c#12 integrate
.. //depot/projects/smpng/sys/dev/an/if_an_pci.c#15 integrate
.. //depot/projects/smpng/sys/dev/asr/asr.c#20 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-all.c#39 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#18 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-lowlevel.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.h#12 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-queue.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-raid.c#22 integrate
.. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#12 integrate
.. //depot/projects/smpng/sys/dev/ata/atapi-cd.c#36 integrate
.. //depot/projects/smpng/sys/dev/ata/atapi-cd.h#11 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath.c#8 integrate
.. //depot/projects/smpng/sys/dev/ath/if_athioctl.h#3 integrate
.. //depot/projects/smpng/sys/dev/ath/if_athvar.h#5 integrate
.. //depot/projects/smpng/sys/dev/awi/awi_wep.c#13 integrate
.. //depot/projects/smpng/sys/dev/bfe/if_bfe.c#1 branch
.. //depot/projects/smpng/sys/dev/bfe/if_bfereg.h#1 branch
.. //depot/projects/smpng/sys/dev/bktr/bktr_os.c#16 integrate
.. //depot/projects/smpng/sys/dev/buslogic/bt_pci.c#6 integrate
.. //depot/projects/smpng/sys/dev/cardbus/cardbus_cis.c#17 integrate
.. //depot/projects/smpng/sys/dev/ciss/ciss.c#21 integrate
.. //depot/projects/smpng/sys/dev/dpt/dpt_pci.c#6 integrate
.. //depot/projects/smpng/sys/dev/drm/drmP.h#5 integrate
.. //depot/projects/smpng/sys/dev/drm/drm_context.h#5 integrate
.. //depot/projects/smpng/sys/dev/drm/drm_memory.h#7 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon.h#5 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_cp.c#6 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_drm.h#5 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_drv.c#5 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_drv.h#6 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_mem.c#4 integrate
.. //depot/projects/smpng/sys/dev/drm/radeon_state.c#6 integrate
.. //depot/projects/smpng/sys/dev/drm/sis.h#1 branch
.. //depot/projects/smpng/sys/dev/drm/sis_drm.h#3 branch
.. //depot/projects/smpng/sys/dev/drm/sis_drv.c#1 branch
.. //depot/projects/smpng/sys/dev/drm/sis_drv.h#1 branch
.. //depot/projects/smpng/sys/dev/drm/sis_ds.c#1 branch
.. //depot/projects/smpng/sys/dev/drm/sis_ds.h#1 branch
.. //depot/projects/smpng/sys/dev/drm/sis_mm.c#1 branch
.. //depot/projects/smpng/sys/dev/ed/if_ed_pci.c#5 integrate
.. //depot/projects/smpng/sys/dev/ep/if_ep.c#10 integrate
.. //depot/projects/smpng/sys/dev/ep/if_ep_isa.c#6 integrate
.. //depot/projects/smpng/sys/dev/ep/if_ep_pccard.c#10 integrate
.. //depot/projects/smpng/sys/dev/exca/exca.c#10 integrate
.. //depot/projects/smpng/sys/dev/firewire/sbp.c#25 integrate
.. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#45 integrate
.. //depot/projects/smpng/sys/dev/fxp/if_fxpvar.h#11 integrate
.. //depot/projects/smpng/sys/dev/gem/if_gem_pci.c#11 integrate
.. //depot/projects/smpng/sys/dev/hatm/if_hatm.c#7 integrate
.. //depot/projects/smpng/sys/dev/hea/hea_pci.c#6 integrate
.. //depot/projects/smpng/sys/dev/hifn/hifn7751.c#11 integrate
.. //depot/projects/smpng/sys/dev/hifn/hifn7751reg.h#2 integrate
.. //depot/projects/smpng/sys/dev/hme/if_hme_pci.c#9 integrate
.. //depot/projects/smpng/sys/dev/hme/if_hme_sbus.c#6 integrate
.. //depot/projects/smpng/sys/dev/ic/ns16550.h#3 integrate
.. //depot/projects/smpng/sys/dev/ichsmb/ichsmb_pci.c#6 integrate
.. //depot/projects/smpng/sys/dev/ida/ida_pci.c#7 integrate
.. //depot/projects/smpng/sys/dev/iir/iir_pci.c#9 integrate
.. //depot/projects/smpng/sys/dev/ips/ips.h#4 integrate
.. //depot/projects/smpng/sys/dev/ips/ips_pci.c#6 integrate
.. //depot/projects/smpng/sys/dev/isp/isp.c#30 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#24 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_freebsd.h#19 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_inline.h#10 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_sbus.c#7 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_target.c#10 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_target.h#7 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_tpublic.h#4 integrate
.. //depot/projects/smpng/sys/dev/isp/ispvar.h#19 integrate
.. //depot/projects/smpng/sys/dev/lnc/if_lnc_pci.c#6 integrate
.. //depot/projects/smpng/sys/dev/mii/bmtphy.c#6 integrate
.. //depot/projects/smpng/sys/dev/mii/miidevs#11 integrate
.. //depot/projects/smpng/sys/dev/mii/rgephy.c#1 branch
.. //depot/projects/smpng/sys/dev/mii/rgephyreg.h#1 branch
.. //depot/projects/smpng/sys/dev/mii/rlphy.c#13 integrate
.. //depot/projects/smpng/sys/dev/mlx/mlx.c#12 integrate
.. //depot/projects/smpng/sys/dev/mlx/mlxvar.h#7 integrate
.. //depot/projects/smpng/sys/dev/mly/mly.c#19 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpt_pci.c#7 integrate
.. //depot/projects/smpng/sys/dev/musycc/musycc.c#7 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccard.c#23 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccardvar.h#14 integrate
.. //depot/projects/smpng/sys/dev/pci/pci.c#33 integrate
.. //depot/projects/smpng/sys/dev/pci/pci_private.h#9 integrate
.. //depot/projects/smpng/sys/dev/pci/pcireg.h#5 integrate
.. //depot/projects/smpng/sys/dev/pci/pcivar.h#11 integrate
.. //depot/projects/smpng/sys/dev/pst/pst-raid.c#8 integrate
.. //depot/projects/smpng/sys/dev/puc/puc.c#15 integrate
.. //depot/projects/smpng/sys/dev/puc/puc_ebus.c#1 branch
.. //depot/projects/smpng/sys/dev/puc/puc_pci.c#3 integrate
.. //depot/projects/smpng/sys/dev/puc/puc_sbus.c#1 branch
.. //depot/projects/smpng/sys/dev/puc/pucdata.c#18 integrate
.. //depot/projects/smpng/sys/dev/puc/pucvar.h#9 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#1 branch
.. //depot/projects/smpng/sys/dev/sbni/if_sbni_pci.c#7 integrate
.. //depot/projects/smpng/sys/dev/sbsh/if_sbsh.c#4 integrate
.. //depot/projects/smpng/sys/dev/sio/sio.c#34 integrate
.. //depot/projects/smpng/sys/dev/sio/sioreg.h#6 integrate
.. //depot/projects/smpng/sys/dev/smbus/smbus.c#6 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/ad1816.c#11 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/ess.c#8 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/mpu.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/mss.c#14 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/sb16.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/sb8.c#8 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/sndbuf_dma.c#2 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/uartsio.c#8 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/als4000.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/au88x0.c#4 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/aureal.c#7 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/aureal.h#2 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/cmi.c#16 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/cs4281.c#9 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/csa.c#8 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/csamidi.c#7 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/csapcm.c#6 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/ds1.c#11 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/emu10k1.c#14 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/es137x.c#9 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/fm801.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/ich.c#24 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/maestro.c#9 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/maestro3.c#15 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/neomagic-coeff.h#2 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/neomagic.c#5 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/neomagic.h#2 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/solo.c#8 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/t4dwave.c#14 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/t4dwave.h#3 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/via8233.c#9 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/via82c686.c#14 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97.c#19 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97.h#7 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/buffer.c#8 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/buffer.h#4 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/channel.c#21 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/channel.h#8 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/dsp.c#16 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/dsp.h#3 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/fake.c#4 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder.h#5 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder_fmt.c#9 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/mixer.c#11 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/mixer.h#3 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/sndstat.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/sound.c#19 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/sound.h#13 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/vchan.c#7 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/vchan.h#3 integrate
.. //depot/projects/smpng/sys/dev/stg/tmc18c30_pci.c#3 integrate
.. //depot/projects/smpng/sys/dev/sym/sym_hipd.c#15 integrate
.. //depot/projects/smpng/sys/dev/tdfx/tdfx_pci.c#14 integrate
.. //depot/projects/smpng/sys/dev/trm/trm.c#12 integrate
.. //depot/projects/smpng/sys/dev/tx/if_txreg.h#4 integrate
.. //depot/projects/smpng/sys/dev/uart/uart.h#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_bus.h#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_bus_acpi.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_bus_ebus.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_bus_isa.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_bus_pccard.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_bus_pci.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_bus_puc.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_core.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_cpu.h#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_cpu_alpha.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_cpu_amd64.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_cpu_i386.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_cpu_ia64.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_cpu_pc98.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_cpu_sparc64.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_dev_i8251.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_dev_i8251.h#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_dev_ns8250.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_dev_ns8250.h#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_dev_sab82532.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_dev_sab82532.h#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_dev_z8530.c#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_dev_z8530.h#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_if.m#1 branch
.. //depot/projects/smpng/sys/dev/uart/uart_tty.c#1 branch
.. //depot/projects/smpng/sys/dev/usb/if_aue.c#24 integrate
.. //depot/projects/smpng/sys/dev/usb/ohci_pci.c#5 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_mem.h#5 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_subr.c#17 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#38 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs.h#38 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs_data.h#38 integrate
.. //depot/projects/smpng/sys/dev/vx/if_vx_pci.c#4 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi.c#56 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi_pccard.c#24 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi_pci.c#17 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wireg.h#19 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wivar.h#16 integrate
.. //depot/projects/smpng/sys/geom/bde/g_bde_crypt.c#13 integrate
.. //depot/projects/smpng/sys/geom/geom.h#31 integrate
.. //depot/projects/smpng/sys/geom/geom_bsd.c#33 integrate
.. //depot/projects/smpng/sys/geom/geom_dev.c#30 integrate
.. //depot/projects/smpng/sys/geom/geom_disk.c#29 integrate
.. //depot/projects/smpng/sys/geom/geom_io.c#23 integrate
.. //depot/projects/smpng/sys/geom/geom_mbr.c#24 integrate
.. //depot/projects/smpng/sys/geom/geom_pc98.c#21 integrate
.. //depot/projects/smpng/sys/i386/acpica/acpi_machdep.c#11 integrate
.. //depot/projects/smpng/sys/i386/acpica/acpi_wakeup.c#20 integrate
.. //depot/projects/smpng/sys/i386/conf/GENERIC#41 integrate
.. //depot/projects/smpng/sys/i386/conf/NOTES#63 integrate
.. //depot/projects/smpng/sys/i386/i386/db_interface.c#19 integrate
.. //depot/projects/smpng/sys/i386/i386/elan-mmcr.c#9 integrate
.. //depot/projects/smpng/sys/i386/i386/geode.c#1 branch
.. //depot/projects/smpng/sys/i386/i386/identcpu.c#25 integrate
.. //depot/projects/smpng/sys/i386/i386/machdep.c#64 integrate
.. //depot/projects/smpng/sys/i386/i386/mp_clock.c#9 integrate
.. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#52 integrate
.. //depot/projects/smpng/sys/i386/i386/pmap.c#47 integrate
.. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#34 integrate
.. //depot/projects/smpng/sys/i386/i386/trap.c#62 integrate
.. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#42 integrate
.. //depot/projects/smpng/sys/i386/include/acpica_machdep.h#5 integrate
.. //depot/projects/smpng/sys/i386/include/apic.h#11 integrate
.. //depot/projects/smpng/sys/i386/include/pci_cfgreg.h#5 integrate
.. //depot/projects/smpng/sys/i386/include/segments.h#7 integrate
.. //depot/projects/smpng/sys/i386/include/varargs.h#5 integrate
.. //depot/projects/smpng/sys/i386/isa/clock.c#28 integrate
.. //depot/projects/smpng/sys/i386/isa/isa.h#2 integrate
.. //depot/projects/smpng/sys/i386/isa/isa_compat.c#3 integrate
.. //depot/projects/smpng/sys/i386/isa/isa_device.h#4 integrate
.. //depot/projects/smpng/sys/i386/isa/npx.c#36 integrate
.. //depot/projects/smpng/sys/i386/linux/imgact_linux.c#13 integrate
.. //depot/projects/smpng/sys/i386/pci/pci_bus.c#18 integrate
.. //depot/projects/smpng/sys/i386/pci/pci_cfgreg.c#20 integrate
.. //depot/projects/smpng/sys/i4b/layer1/ifpi/i4b_ifpi_pci.c#10 integrate
.. //depot/projects/smpng/sys/i4b/layer1/ifpi2/i4b_ifpi2_pci.c#11 integrate
.. //depot/projects/smpng/sys/i4b/layer1/isic/i4b_elsa_qs1p.c#6 integrate
.. //depot/projects/smpng/sys/i4b/layer1/itjc/i4b_itjc_pci.c#11 integrate
.. //depot/projects/smpng/sys/i4b/layer1/iwic/i4b_iwic_pci.c#6 integrate
.. //depot/projects/smpng/sys/ia64/acpica/madt.c#10 integrate
.. //depot/projects/smpng/sys/ia64/conf/GENERIC#34 integrate
.. //depot/projects/smpng/sys/ia64/conf/GENERIC.hints#4 integrate
.. //depot/projects/smpng/sys/ia64/conf/NOTES#2 integrate
.. //depot/projects/smpng/sys/ia64/ia64/exception.S#5 integrate
.. //depot/projects/smpng/sys/ia64/ia64/genassym.c#22 integrate
.. //depot/projects/smpng/sys/ia64/ia64/interrupt.c#21 integrate
.. //depot/projects/smpng/sys/ia64/ia64/locore.S#2 integrate
.. //depot/projects/smpng/sys/ia64/ia64/machdep.c#65 integrate
.. //depot/projects/smpng/sys/ia64/ia64/nexus.c#5 integrate
.. //depot/projects/smpng/sys/ia64/ia64/pmap.c#52 integrate
.. //depot/projects/smpng/sys/ia64/ia64/sapic.c#12 integrate
.. //depot/projects/smpng/sys/ia64/ia64/vm_machdep.c#32 integrate
.. //depot/projects/smpng/sys/ia64/include/md_var.h#11 integrate
.. //depot/projects/smpng/sys/ia64/include/sapicvar.h#4 integrate
.. //depot/projects/smpng/sys/ia64/include/vmparam.h#6 integrate
.. //depot/projects/smpng/sys/isa/fd.c#24 integrate
.. //depot/projects/smpng/sys/isa/isareg.h#4 integrate
.. //depot/projects/smpng/sys/kern/bus_if.m#8 integrate
.. //depot/projects/smpng/sys/kern/init_sysent.c#32 integrate
.. //depot/projects/smpng/sys/kern/kern_ktr.c#24 integrate
.. //depot/projects/smpng/sys/kern/kern_prot.c#74 integrate
.. //depot/projects/smpng/sys/kern/kern_tc.c#25 integrate
.. //depot/projects/smpng/sys/kern/kern_umtx.c#8 integrate
.. //depot/projects/smpng/sys/kern/kern_xxx.c#11 integrate
.. //depot/projects/smpng/sys/kern/subr_bus.c#25 integrate
.. //depot/projects/smpng/sys/kern/subr_msgbuf.c#2 integrate
.. //depot/projects/smpng/sys/kern/subr_taskqueue.c#12 integrate
.. //depot/projects/smpng/sys/kern/subr_trap.c#58 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#104 integrate
.. //depot/projects/smpng/sys/kern/sys_pipe.c#33 integrate
.. //depot/projects/smpng/sys/kern/syscalls.c#32 integrate
.. //depot/projects/smpng/sys/kern/syscalls.master#31 integrate
.. //depot/projects/smpng/sys/kern/uipc_domain.c#8 integrate
.. //depot/projects/smpng/sys/kern/uipc_mbuf.c#21 integrate
.. //depot/projects/smpng/sys/kern/uipc_syscalls.c#38 integrate
.. //depot/projects/smpng/sys/kern/vfs_aio.c#41 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#49 integrate
.. //depot/projects/smpng/sys/kern/vfs_mount.c#17 integrate
.. //depot/projects/smpng/sys/modules/Makefile#61 integrate
.. //depot/projects/smpng/sys/modules/acpi/Makefile#14 integrate
.. //depot/projects/smpng/sys/modules/bfe/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/coda/Makefile#3 integrate
.. //depot/projects/smpng/sys/modules/coda5/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/drm/Makefile#3 integrate
.. //depot/projects/smpng/sys/modules/drm/sis/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/mii/Makefile#7 integrate
.. //depot/projects/smpng/sys/modules/pst/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/re/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/uart/Makefile#1 branch
.. //depot/projects/smpng/sys/net/bpf.c#26 integrate
.. //depot/projects/smpng/sys/net/bridge.c#19 integrate
.. //depot/projects/smpng/sys/net/if_ethersubr.c#36 integrate
.. //depot/projects/smpng/sys/net/if_iso88025subr.c#13 integrate
.. //depot/projects/smpng/sys/net/if_vlan.c#19 integrate
.. //depot/projects/smpng/sys/net/raw_usrreq.c#12 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211.c#5 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211.h#2 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_input.c#5 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#4 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_node.c#6 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_output.c#4 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_radiotap.h#1 branch
.. //depot/projects/smpng/sys/net80211/ieee80211_var.h#4 integrate
.. //depot/projects/smpng/sys/netatalk/aarp.c#7 integrate
.. //depot/projects/smpng/sys/netatalk/ddp_output.c#4 integrate
.. //depot/projects/smpng/sys/netinet/igmp.c#10 integrate
.. //depot/projects/smpng/sys/netinet/ip_divert.c#24 integrate
.. //depot/projects/smpng/sys/netinet/ip_dummynet.c#20 integrate
.. //depot/projects/smpng/sys/netinet/ip_flow.c#3 integrate
.. //depot/projects/smpng/sys/netinet/ip_flow.h#2 integrate
.. //depot/projects/smpng/sys/netinet/ip_fw2.c#18 integrate
.. //depot/projects/smpng/sys/netinet/ip_input.c#38 integrate
.. //depot/projects/smpng/sys/netinet/ip_mroute.c#25 integrate
.. //depot/projects/smpng/sys/netinet/ip_output.c#42 integrate
.. //depot/projects/smpng/sys/netinet/raw_ip.c#29 integrate
.. //depot/projects/smpng/sys/netinet/tcp_subr.c#33 integrate
.. //depot/projects/smpng/sys/netinet/udp_usrreq.c#29 integrate
.. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#6 integrate
.. //depot/projects/smpng/sys/netinet6/in6_pcb.c#21 integrate
.. //depot/projects/smpng/sys/netinet6/nd6.c#12 integrate
.. //depot/projects/smpng/sys/netinet6/nd6_nbr.c#7 integrate
.. //depot/projects/smpng/sys/netipsec/ipsec.c#6 integrate
.. //depot/projects/smpng/sys/netipsec/ipsec.h#3 integrate
.. //depot/projects/smpng/sys/netipsec/ipsec_input.c#6 integrate
.. //depot/projects/smpng/sys/netipsec/ipsec_output.c#7 integrate
.. //depot/projects/smpng/sys/netipsec/key.c#5 integrate
.. //depot/projects/smpng/sys/netipsec/key.h#2 integrate
.. //depot/projects/smpng/sys/netipsec/keydb.h#2 integrate
.. //depot/projects/smpng/sys/netipsec/xform_ah.c#4 integrate
.. //depot/projects/smpng/sys/netipsec/xform_esp.c#4 integrate
.. //depot/projects/smpng/sys/netipsec/xform_ipcomp.c#4 integrate
.. //depot/projects/smpng/sys/netipx/ipx_input.c#8 integrate
.. //depot/projects/smpng/sys/netipx/spx_usrreq.c#9 integrate
.. //depot/projects/smpng/sys/nfsclient/bootp_subr.c#19 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_node.c#11 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_subs.c#11 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#32 integrate
.. //depot/projects/smpng/sys/nfsclient/nfsnode.h#5 integrate
.. //depot/projects/smpng/sys/pc98/conf/GENERIC#36 integrate
.. //depot/projects/smpng/sys/pc98/conf/NOTES#12 integrate
.. //depot/projects/smpng/sys/pc98/i386/machdep.c#58 integrate
.. //depot/projects/smpng/sys/pc98/pc98/clock.c#20 integrate
.. //depot/projects/smpng/sys/pc98/pc98/fd.c#25 integrate
.. //depot/projects/smpng/sys/pccard/i82365.h#9 integrate
.. //depot/projects/smpng/sys/pccard/pcic.c#22 integrate
.. //depot/projects/smpng/sys/pci/agp_intel.c#13 integrate
.. //depot/projects/smpng/sys/pci/amdpm.c#9 integrate
.. //depot/projects/smpng/sys/pci/if_dc.c#44 integrate
.. //depot/projects/smpng/sys/pci/if_mn.c#8 integrate
.. //depot/projects/smpng/sys/pci/if_rl.c#37 integrate
.. //depot/projects/smpng/sys/pci/if_rlreg.h#13 integrate
.. //depot/projects/smpng/sys/pci/if_sis.c#31 integrate
.. //depot/projects/smpng/sys/pci/if_sisreg.h#9 integrate
.. //depot/projects/smpng/sys/pci/if_xl.c#34 integrate
.. //depot/projects/smpng/sys/pci/if_xlreg.h#10 integrate
.. //depot/projects/smpng/sys/pci/xrpu.c#10 integrate
.. //depot/projects/smpng/sys/posix4/ksched.c#13 integrate
.. //depot/projects/smpng/sys/powerpc/include/varargs.h#5 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/vm_machdep.c#29 integrate
.. //depot/projects/smpng/sys/sparc64/conf/GENERIC#34 integrate
.. //depot/projects/smpng/sys/sparc64/include/ofw_machdep.h#3 integrate
.. //depot/projects/smpng/sys/sparc64/include/varargs.h#5 integrate
.. //depot/projects/smpng/sys/sparc64/pci/psycho.c#26 integrate
.. //depot/projects/smpng/sys/sparc64/pci/psychoreg.h#7 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#56 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/mp_machdep.c#19 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/ofw_machdep.c#4 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#43 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/vm_machdep.c#36 integrate
.. //depot/projects/smpng/sys/sys/ata.h#16 integrate
.. //depot/projects/smpng/sys/sys/buf.h#23 integrate
.. //depot/projects/smpng/sys/sys/bus.h#11 integrate
.. //depot/projects/smpng/sys/sys/interrupt.h#8 integrate
.. //depot/projects/smpng/sys/sys/ioctl_bt848.h#1 branch
.. //depot/projects/smpng/sys/sys/ioctl_meteor.h#1 branch
.. //depot/projects/smpng/sys/sys/mac.h#18 integrate
.. //depot/projects/smpng/sys/sys/mbuf.h#25 integrate
.. //depot/projects/smpng/sys/sys/param.h#48 integrate
.. //depot/projects/smpng/sys/sys/syscall.h#32 integrate
.. //depot/projects/smpng/sys/sys/syscall.mk#32 integrate
.. //depot/projects/smpng/sys/sys/syslimits.h#6 integrate
.. //depot/projects/smpng/sys/sys/sysproto.h#34 integrate
.. //depot/projects/smpng/sys/sys/taskqueue.h#6 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#27 integrate
.. //depot/projects/smpng/sys/vm/pmap.h#21 integrate
.. //depot/projects/smpng/sys/vm/swap_pager.c#32 integrate
.. //depot/projects/smpng/sys/vm/vm_fault.c#28 integrate
.. //depot/projects/smpng/sys/vm/vm_init.c#10 integrate
.. //depot/projects/smpng/sys/vm/vm_kern.c#19 integrate
.. //depot/projects/smpng/sys/vm/vm_map.c#43 integrate
.. //depot/projects/smpng/sys/vm/vm_map.h#21 integrate
.. //depot/projects/smpng/sys/vm/vm_mmap.c#32 integrate
.. //depot/projects/smpng/sys/vm/vm_object.c#43 integrate
.. //depot/projects/smpng/sys/vm/vm_page.c#41 integrate
.. //depot/projects/smpng/sys/vm/vm_pageout.c#37 integrate
.. //depot/projects/smpng/sys/vm/vnode_pager.c#34 integrate

Differences ...

==== //depot/projects/smpng/sys/alpha/alpha/pmap.c#52 (text+ko) ====

@@ -148,7 +148,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.134 2003/08/20 20:12:05 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.138 2003/09/12 07:07:47 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -340,7 +340,6 @@
 
 static int pmap_release_free_page(pmap_t pmap, vm_page_t p);
 static vm_page_t _pmap_allocpte(pmap_t pmap, unsigned ptepindex);
-static vm_page_t pmap_page_lookup(vm_object_t object, vm_pindex_t pindex);
 static int pmap_unuse_pt(pmap_t, vm_offset_t, vm_page_t);
 #ifdef SMP
 static void pmap_invalidate_page_action(void *arg);
@@ -812,7 +811,31 @@
 		return 0;
 }
 
+/*
+ *	Routine:	pmap_extract_and_hold
+ *	Function:
+ *		Atomically extract and hold the physical page
+ *		with the given pmap and virtual address pair
+ *		if that mapping permits the given protection.
+ */
+vm_page_t
+pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot)
+{
+	vm_paddr_t pa;
+	vm_page_t m;
 
+	m = NULL;
+	mtx_lock(&Giant);
+	if ((pa = pmap_extract(pmap, va)) != 0) {
+		m = PHYS_TO_VM_PAGE(pa);
+		vm_page_lock_queues();
+		vm_page_hold(m);
+		vm_page_unlock_queues();
+	}
+	mtx_unlock(&Giant);
+	return (m);
+}
+
 /***************************************************
  * Low level mapping routines.....
  ***************************************************/
@@ -914,22 +937,6 @@
 	return ALPHA_PHYS_TO_K0SEG(start);
 }
 
-
-static vm_page_t
-pmap_page_lookup(vm_object_t object, vm_pindex_t pindex)
-{
-	vm_page_t m;
-retry:
-	m = vm_page_lookup(object, pindex);
-	if (m != NULL) {
-		vm_page_lock_queues();
-		if (vm_page_sleep_if_busy(m, FALSE, "pplookp"))
-			goto retry;
-		vm_page_unlock_queues();
-	}
-	return m;
-}
-
 /***************************************************
  * Page table page management routines.....
  ***************************************************/
@@ -967,10 +974,8 @@
 		if (m->pindex < NUSERLEV3MAPS) {
 			/* unhold the level 2 page table */
 			vm_page_t lev2pg;
-			lev2pg = vm_page_lookup(pmap->pm_pteobj,
-						  NUSERLEV3MAPS + pmap_lev1_index(va));
-			while (vm_page_sleep_if_busy(lev2pg, FALSE, "pulook"))
-				vm_page_lock_queues();
+
+			lev2pg = PHYS_TO_VM_PAGE(pmap_pte_pa(pmap_lev1pte(pmap, va)));
 			vm_page_unhold(lev2pg);
 			if (lev2pg->hold_count == 0)
 				_pmap_unwire_pte_hold(pmap, va, lev2pg);
@@ -1027,9 +1032,7 @@
 			(pmap->pm_ptphint->pindex == ptepindex)) {
 			mpte = pmap->pm_ptphint;
 		} else {
-			while ((mpte = vm_page_lookup(pmap->pm_pteobj, ptepindex)) != NULL &&
-			       vm_page_sleep_if_busy(mpte, FALSE, "pulook"))
-				vm_page_lock_queues();
+			mpte = PHYS_TO_VM_PAGE(pmap_pte_pa(pmap_lev2pte(pmap, va)));
 			pmap->pm_ptphint = mpte;
 		}
 	}
@@ -1240,9 +1243,9 @@
 		if (!pmap_pte_v(l1pte))
 			_pmap_allocpte(pmap, NUSERLEV3MAPS + l1index);
 		else {
-			vm_page_t l2page =
-				pmap_page_lookup(pmap->pm_pteobj,
-						 NUSERLEV3MAPS + l1index);
+			vm_page_t l2page;
+
+			l2page = PHYS_TO_VM_PAGE(pmap_pte_pa(l1pte));
 			l2page->hold_count++;
 		}
 		l2map = (pt_entry_t*) ALPHA_PHYS_TO_K0SEG(pmap_pte_pa(l1pte));
@@ -1297,7 +1300,7 @@
 			(pmap->pm_ptphint->pindex == ptepindex)) {
 			m = pmap->pm_ptphint;
 		} else {
-			m = pmap_page_lookup(pmap->pm_pteobj, ptepindex);
+			m = PHYS_TO_VM_PAGE(pmap_pte_pa(lev2pte));
 			pmap->pm_ptphint = m;
 		}
 		m->hold_count++;
@@ -1999,7 +2002,6 @@
 		if (mpte && (mpte->pindex == ptepindex)) {
 			mpte->hold_count++;
 		} else {
-retry:
 			/*
 			 * Get the level 2 entry
 			 */
@@ -2014,12 +2016,9 @@
 				    (pmap->pm_ptphint->pindex == ptepindex)) {
 					mpte = pmap->pm_ptphint;
 				} else {
-					mpte = pmap_page_lookup(pmap->pm_pteobj,
-					    ptepindex);
+					mpte = PHYS_TO_VM_PAGE(pmap_pte_pa(l2pte));
 					pmap->pm_ptphint = mpte;
 				}
-				if (mpte == NULL)
-					goto retry;
 				mpte->hold_count++;
 			} else {
 				mpte = _pmap_allocpte(pmap, ptepindex);
@@ -2774,23 +2773,30 @@
 		 */
 		if ((*pte & PG_FOW) == 0)
 			val |= MINCORE_MODIFIED|MINCORE_MODIFIED_OTHER;
-		/*
-		 * Modified by someone
-		 */
-		else if (m->dirty || pmap_is_modified(m))
-			val |= MINCORE_MODIFIED_OTHER;
+		else {
+			/*
+			 * Modified by someone
+			 */
+			vm_page_lock_queues();
+			if (m->dirty || pmap_is_modified(m))
+				val |= MINCORE_MODIFIED_OTHER;
+			vm_page_unlock_queues();
+		}
 		/*
 		 * Referenced by us
 		 */
 		if ((*pte & (PG_FOR | PG_FOE)) == 0)
 			val |= MINCORE_REFERENCED|MINCORE_REFERENCED_OTHER;
-
-		/*
-		 * Referenced by someone
-		 */
-		else if ((m->flags & PG_REFERENCED) || pmap_ts_referenced(m)) {
-			val |= MINCORE_REFERENCED_OTHER;
-			vm_page_flag_set(m, PG_REFERENCED);
+		else {
+			/*
+			 * Referenced by someone
+			 */
+			vm_page_lock_queues();
+			if ((m->flags & PG_REFERENCED) || pmap_ts_referenced(m)) {
+				val |= MINCORE_REFERENCED_OTHER;
+				vm_page_flag_set(m, PG_REFERENCED);
+			}
+			vm_page_unlock_queues();
 		}
 	} 
 	return val;

==== //depot/projects/smpng/sys/alpha/alpha/vm_machdep.c#28 (text+ko) ====

@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.93 2003/08/16 23:15:13 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.94 2003/08/29 20:04:09 alc Exp $");
 
 #include "opt_kstack_pages.h"
 
@@ -82,6 +82,8 @@
 #include <sys/vnode.h>
 #include <sys/vmmeter.h>
 #include <sys/kernel.h>
+#include <sys/mbuf.h>
+#include <sys/socketvar.h>
 #include <sys/sysctl.h>
 #include <sys/unistd.h>
 
@@ -101,6 +103,20 @@
 
 #include <sys/user.h>
 
+static void	sf_buf_init(void *arg);
+SYSINIT(sock_sf, SI_SUB_MBUF, SI_ORDER_ANY, sf_buf_init, NULL)
+
+/*
+ * Expanded sf_freelist head. Really an SLIST_HEAD() in disguise, with the
+ * sf_freelist head with the sf_lock mutex.
+ */
+static struct {
+	SLIST_HEAD(, sf_buf) sf_head;
+	struct mtx sf_lock;
+} sf_freelist;
+
+static u_int	sf_buf_alloc_want;
+
 /*
  * Finish a fork operation, with process p2 nearly set up.
  * Copy and update the pcb, set up the stack so that the child
@@ -370,6 +386,91 @@
 }
 
 /*
+ * Allocate a pool of sf_bufs (sendfile(2) or "super-fast" if you prefer. :-))
+ */
+static void
+sf_buf_init(void *arg)
+{
+	struct sf_buf *sf_bufs;
+	vm_offset_t sf_base;
+	int i;
+
+	mtx_init(&sf_freelist.sf_lock, "sf_bufs list lock", NULL, MTX_DEF);
+	mtx_lock(&sf_freelist.sf_lock);
+	SLIST_INIT(&sf_freelist.sf_head);
+	sf_base = kmem_alloc_nofault(kernel_map, nsfbufs * PAGE_SIZE);
+	sf_bufs = malloc(nsfbufs * sizeof(struct sf_buf), M_TEMP,
+	    M_NOWAIT | M_ZERO);
+	for (i = 0; i < nsfbufs; i++) {
+		sf_bufs[i].kva = sf_base + i * PAGE_SIZE;
+		SLIST_INSERT_HEAD(&sf_freelist.sf_head, &sf_bufs[i], free_list);
+	}
+	sf_buf_alloc_want = 0;
+	mtx_unlock(&sf_freelist.sf_lock);
+}
+
+/*
+ * Get an sf_buf from the freelist. Will block if none are available.
+ */
+struct sf_buf *
+sf_buf_alloc(struct vm_page *m)
+{
+	struct sf_buf *sf;
+	int error;
+
+	mtx_lock(&sf_freelist.sf_lock);
+	while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) {
+		sf_buf_alloc_want++;
+		error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH,
+		    "sfbufa", 0);
+		sf_buf_alloc_want--;
+
+		/*
+		 * If we got a signal, don't risk going back to sleep. 
+		 */
+		if (error)
+			break;
+	}
+	if (sf != NULL) {
+		SLIST_REMOVE_HEAD(&sf_freelist.sf_head, free_list);
+		sf->m = m;
+		pmap_qenter(sf->kva, &sf->m, 1);
+	}
+	mtx_unlock(&sf_freelist.sf_lock);
+	return (sf);
+}
+
+/*
+ * Detatch mapped page and release resources back to the system.
+ */
+void
+sf_buf_free(void *addr, void *args)
+{
+	struct sf_buf *sf;
+	struct vm_page *m;
+
+	sf = args;
+	pmap_qremove((vm_offset_t)addr, 1);
+	m = sf->m;
+	vm_page_lock_queues();
+	vm_page_unwire(m, 0);
+	/*
+	 * Check for the object going away on us. This can
+	 * happen since we don't hold a reference to it.
+	 * If so, we're responsible for freeing the page.
+	 */
+	if (m->wire_count == 0 && m->object == NULL)
+		vm_page_free(m);
+	vm_page_unlock_queues();
+	sf->m = NULL;
+	mtx_lock(&sf_freelist.sf_lock);
+	SLIST_INSERT_HEAD(&sf_freelist.sf_head, sf, free_list);
+	if (sf_buf_alloc_want > 0)
+		wakeup_one(&sf_freelist);
+	mtx_unlock(&sf_freelist.sf_lock);
+}
+
+/*
  * Software interrupt handler for queued VM system processing.
  */   
 void  

==== //depot/projects/smpng/sys/alpha/include/db_machdep.h#5 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/alpha/include/db_machdep.h,v 1.7 2003/02/25 00:42:39 marcel Exp $ */
+/* $FreeBSD: src/sys/alpha/include/db_machdep.h,v 1.8 2003/09/07 05:33:46 marcel Exp $ */
 /* $NetBSD: db_machdep.h,v 1.6 1997/09/06 02:02:25 thorpej Exp $ */
 
 /*
@@ -34,8 +34,9 @@
 /*
  * Machine-dependent defines for new kernel debugger.
  */
-
+#ifndef KLD_MODULE
 #include "opt_ddb.h"
+#endif
 
 #include <sys/param.h>
 #include <vm/vm.h>

==== //depot/projects/smpng/sys/alpha/include/varargs.h#5 (text+ko) ====

@@ -38,11 +38,11 @@
  *
  *	@(#)varargs.h	8.2 (Berkeley) 3/22/94
  *	$NetBSD: varargs.h,v 1.7 1997/04/06 08:47:46 cgd Exp $
- * $FreeBSD: src/sys/alpha/include/varargs.h,v 1.5 2002/10/06 22:02:06 mike Exp $
+ * $FreeBSD: src/sys/alpha/include/varargs.h,v 1.6 2003/09/01 03:01:45 kan Exp $
  */
 
-#ifndef _ALPHA_VARARGS_H_
-#define	_ALPHA_VARARGS_H_
+#ifndef _MACHINE_VARARGS_H_
+#define	_MACHINE_VARARGS_H_
 
 #if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
 
@@ -80,4 +80,4 @@
 
 #endif /* __GNUC__ post GCC 2.95 */
 
-#endif /* !_ALPHA_VARARGS_H_ */
+#endif /* !_MACHINE_VARARGS_H_ */

==== //depot/projects/smpng/sys/amd64/amd64/exception.S#5 (text+ko) ====

@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.110 2003/05/14 04:10:47 peter Exp $
+ * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.111 2003/09/09 19:32:09 peter Exp $
  */
 
 #include <machine/asmacros.h>
@@ -227,8 +227,8 @@
 	swapgs
 	movq	%rsp,PCPU(SCRATCH_RSP)
 	movq	common_tss+COMMON_TSS_RSP0,%rsp
-	/* Now emulate a trapframe. Ugh. */
-	subq	$TF_SIZE,%rsp
+	/* Now emulate a trapframe. Make the 8 byte alignment odd for call. */
+	subq	$TF_SIZE+8,%rsp
 	/* defer TF_RSP till we have a spare register */
 	movq	%r11,TF_RFLAGS(%rsp)
 	movq	%rcx,TF_RIP(%rsp)	/* %rcx original value is in %r10 */

==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#12 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.588 2003/07/31 01:26:39 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.589 2003/09/09 19:32:09 peter Exp $");
 
 #include "opt_atalk.h"
 #include "opt_compat.h"
@@ -1217,6 +1217,8 @@
 
 	/* make an initial tss so cpu can get interrupt stack on syscall! */
 	common_tss.tss_rsp0 = thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE - sizeof(struct pcb);
+	/* Ensure the stack is aligned to 16 bytes */
+	common_tss.tss_rsp0 &= ~0xF;
 
 	/* doublefault stack space, runs on ist1 */
 	common_tss.tss_ist1 = (long)&dblfault_stack[sizeof(dblfault_stack)];
@@ -1434,7 +1436,6 @@
 	struct trapframe *tp;
 
 	tp = td->td_frame;
-
 	PROC_LOCK(curthread->td_proc);
 	mcp->mc_onstack = sigonstack(tp->tf_rsp);
 	PROC_UNLOCK(curthread->td_proc);
@@ -1486,66 +1487,42 @@
 		return (EINVAL);
 	rflags = (mcp->mc_rflags & PSL_USERCHANGE) |
 	    (tp->tf_rflags & ~PSL_USERCHANGE);
-	if ((ret = set_fpcontext(td, mcp)) == 0) {
-		tp->tf_r15 = mcp->mc_r15;
-		tp->tf_r14 = mcp->mc_r14;
-		tp->tf_r13 = mcp->mc_r13;
-		tp->tf_r12 = mcp->mc_r12;
-		tp->tf_r11 = mcp->mc_r11;
-		tp->tf_r10 = mcp->mc_r10;
-		tp->tf_r9  = mcp->mc_r9;
-		tp->tf_r8  = mcp->mc_r8;
-		tp->tf_rdi = mcp->mc_rdi;
-		tp->tf_rsi = mcp->mc_rsi;
-		tp->tf_rbp = mcp->mc_rbp;
-		tp->tf_rbx = mcp->mc_rbx;
-		tp->tf_rdx = mcp->mc_rdx;
-		tp->tf_rcx = mcp->mc_rcx;
-		tp->tf_rax = mcp->mc_rax;
-		tp->tf_rip = mcp->mc_rip;
-		tp->tf_rflags = rflags;
-		tp->tf_rsp = mcp->mc_rsp;
-		tp->tf_ss = mcp->mc_ss;
-		ret = 0;
-	}
-	return (ret);
+	ret = set_fpcontext(td, mcp);
+	if (ret != 0)
+		return (ret);
+	tp->tf_r15 = mcp->mc_r15;
+	tp->tf_r14 = mcp->mc_r14;
+	tp->tf_r13 = mcp->mc_r13;
+	tp->tf_r12 = mcp->mc_r12;
+	tp->tf_r11 = mcp->mc_r11;
+	tp->tf_r10 = mcp->mc_r10;
+	tp->tf_r9  = mcp->mc_r9;
+	tp->tf_r8  = mcp->mc_r8;
+	tp->tf_rdi = mcp->mc_rdi;
+	tp->tf_rsi = mcp->mc_rsi;
+	tp->tf_rbp = mcp->mc_rbp;
+	tp->tf_rbx = mcp->mc_rbx;
+	tp->tf_rdx = mcp->mc_rdx;
+	tp->tf_rcx = mcp->mc_rcx;
+	tp->tf_rax = mcp->mc_rax;
+	tp->tf_rip = mcp->mc_rip;
+	tp->tf_rflags = rflags;
+	tp->tf_rsp = mcp->mc_rsp;
+	tp->tf_ss = mcp->mc_ss;
+	return (0);
 }
 
 static void
 get_fpcontext(struct thread *td, mcontext_t *mcp)
 {
-	struct savefpu *addr;
 
-	/*
-	 * XXX mc_fpstate might be misaligned, since its declaration is not
-	 * unportabilized using __attribute__((aligned(16))) like the
-	 * declaration of struct savemm, and anyway, alignment doesn't work
-	 * for auto variables since we don't use gcc's pessimal stack
-	 * alignment.  Work around this by abusing the spare fields after
-	 * mcp->mc_fpstate.
-	 *
-	 * XXX unpessimize most cases by only aligning when fxsave might be
-	 * called, although this requires knowing too much about
-	 * npxgetregs()'s internals.
-	 */
-	addr = (struct savefpu *)&mcp->mc_fpstate;
-	if (td == PCPU_GET(fpcurthread) && ((uintptr_t)(void *)addr & 0xF)) {
-		do
-			addr = (void *)((char *)addr + 4);
-		while ((uintptr_t)(void *)addr & 0xF);
-	}
-	mcp->mc_ownedfp = npxgetregs(td, addr);
-	if (addr != (struct savefpu *)&mcp->mc_fpstate) {
-		bcopy(addr, &mcp->mc_fpstate, sizeof(mcp->mc_fpstate));
-		bzero(&mcp->mc_spare2, sizeof(mcp->mc_spare2));
-	}
+	mcp->mc_ownedfp = npxgetregs(td, (struct savefpu *)&mcp->mc_fpstate);
 	mcp->mc_fpformat = npxformat();
 }
 
 static int

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


More information about the p4-projects mailing list