PERFORCE change 199897 for review

Zheng Liu lz at FreeBSD.org
Sat Oct 8 09:10:18 UTC 2011


http://p4web.freebsd.org/@@199897?ac=10

Change 199897 by lz at freebsd-dev on 2011/10/08 09:10:12

	IFC.

Affected files ...

.. //depot/projects/soc2010/extfs/amd64/amd64/exception.S#2 integrate
.. //depot/projects/soc2010/extfs/amd64/amd64/genassym.c#2 integrate
.. //depot/projects/soc2010/extfs/amd64/amd64/machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/amd64/amd64/pmap.c#2 integrate
.. //depot/projects/soc2010/extfs/amd64/amd64/trap.c#2 integrate
.. //depot/projects/soc2010/extfs/amd64/conf/GENERIC#2 integrate
.. //depot/projects/soc2010/extfs/amd64/ia32/ia32_syscall.c#2 integrate
.. //depot/projects/soc2010/extfs/amd64/include/md_var.h#2 integrate
.. //depot/projects/soc2010/extfs/amd64/include/proc.h#2 integrate
.. //depot/projects/soc2010/extfs/amd64/linux32/linux32_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/amd64/linux32/linux32_sysent.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/arm/elf_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/arm/elf_trampoline.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/arm/machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/arm/pmap.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/arm/trap.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/at91/at91_mci.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/at91/at91_pio.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/at91/at91_rtc.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/at91/at91_spi.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/at91/at91_ssc.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/at91/at91_twi.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/at91/uart_dev_at91usart.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/conf/HL200#2 integrate
.. //depot/projects/soc2010/extfs/arm/conf/HL201#2 integrate
.. //depot/projects/soc2010/extfs/arm/conf/KB920X#2 integrate
.. //depot/projects/soc2010/extfs/arm/conf/QILA9G20#2 integrate
.. //depot/projects/soc2010/extfs/arm/conf/SAM9G20EK#2 integrate
.. //depot/projects/soc2010/extfs/arm/econa/if_ece.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/include/proc.h#2 integrate
.. //depot/projects/soc2010/extfs/arm/include/vmparam.h#2 integrate
.. //depot/projects/soc2010/extfs/arm/mv/common.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/mv/mv_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/arm/xscale/ixp425/avila_gpio.c#2 integrate
.. //depot/projects/soc2010/extfs/boot/arm/ixp425/boot2/boot2.c#2 integrate
.. //depot/projects/soc2010/extfs/boot/forth/menu.4th#2 integrate
.. //depot/projects/soc2010/extfs/boot/forth/menu.4th.8#2 integrate
.. //depot/projects/soc2010/extfs/boot/i386/gptboot/Makefile#2 integrate
.. //depot/projects/soc2010/extfs/boot/i386/gptzfsboot/Makefile#2 integrate
.. //depot/projects/soc2010/extfs/boot/i386/zfsboot/Makefile#2 integrate
.. //depot/projects/soc2010/extfs/boot/zfs/zfstest.c#2 delete
.. //depot/projects/soc2010/extfs/cam/cam_ccb.h#2 integrate
.. //depot/projects/soc2010/extfs/cam/cam_periph.c#2 integrate
.. //depot/projects/soc2010/extfs/cam/scsi/scsi_all.c#2 integrate
.. //depot/projects/soc2010/extfs/cam/scsi/scsi_all.h#2 integrate
.. //depot/projects/soc2010/extfs/cam/scsi/scsi_cd.c#2 integrate
.. //depot/projects/soc2010/extfs/cam/scsi/scsi_da.c#2 integrate
.. //depot/projects/soc2010/extfs/cam/scsi/scsi_low.c#2 integrate
.. //depot/projects/soc2010/extfs/cam/scsi/scsi_sa.c#2 integrate
.. //depot/projects/soc2010/extfs/cam/scsi/scsi_targ_bh.c#2 integrate
.. //depot/projects/soc2010/extfs/cddl/boot/zfs/zfssubr.c#2 integrate
.. //depot/projects/soc2010/extfs/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#2 integrate
.. //depot/projects/soc2010/extfs/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate
.. //depot/projects/soc2010/extfs/cddl/contrib/opensolaris/uts/sparc/dtrace/fasttrap_isa.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/freebsd32/freebsd32_ioctl.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/freebsd32/freebsd32_misc.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/freebsd32/freebsd32_proto.h#2 integrate
.. //depot/projects/soc2010/extfs/compat/freebsd32/freebsd32_syscall.h#2 integrate
.. //depot/projects/soc2010/extfs/compat/freebsd32/freebsd32_syscalls.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/freebsd32/freebsd32_sysent.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/freebsd32/freebsd32_util.h#2 integrate
.. //depot/projects/soc2010/extfs/compat/linux/linux_emul.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/linux/linux_file.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/linux/linux_ioctl.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/linux/linux_ipc.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/linux/linux_misc.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/linux/linux_signal.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/linux/linux_socket.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/linux/linux_uid16.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/svr4/svr4_fcntl.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/svr4/svr4_filio.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/svr4/svr4_ipc.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/svr4/svr4_misc.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/svr4/svr4_signal.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/svr4/svr4_socket.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/svr4/svr4_stat.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/svr4/svr4_stream.c#2 integrate
.. //depot/projects/soc2010/extfs/compat/svr4/svr4_sysent.c#2 integrate
.. //depot/projects/soc2010/extfs/conf/NOTES#2 integrate
.. //depot/projects/soc2010/extfs/conf/files#2 integrate
.. //depot/projects/soc2010/extfs/conf/makeLINT.sed#2 integrate
.. //depot/projects/soc2010/extfs/conf/newvers.sh#2 integrate
.. //depot/projects/soc2010/extfs/conf/options#2 integrate
.. //depot/projects/soc2010/extfs/dev/acpica/acpi.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ahci/ahci.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ata/ata-all.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ah_osdep.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ah.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ah.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ah_internal.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ah_regdomain.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5210/ar5210.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5210/ar5210_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5210/ar5210_beacon.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5211/ar5211.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5211/ar5211_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5211/ar5211_beacon.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5212/ar5112.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5212/ar5212.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5212/ar5212_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5212/ar5212_beacon.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5312/ar5312_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416.ini#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416_beacon.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416_cal.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416_interrupts.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416_misc.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416_recv.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416_reset.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416phy.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar5416/ar5416reg.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar9001/ar9130_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar9001/ar9160_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar9002/ar9280_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar9002/ar9285_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_hal/ar9002/ar9287_attach.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/ath_rate/sample/sample.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/if_ath.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ath/if_athvar.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/bce/if_bce.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/bce/if_bcereg.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/bktr/bktr_core.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/bwi/if_bwi.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/bxe/if_bxe.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/cardbus/cardbus_cis.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ciss/ciss.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/coretemp/coretemp.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/e1000/if_lem.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/esp/ncr53c9x.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/fb/machfb.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/firewire/sbp.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/firewire/sbp_targ.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/hwpmc/hwpmc_logging.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/hwpmc/hwpmc_mips24k.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/hwpmc/hwpmc_mod.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ichwd/ichwd.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/iir/iir.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/iscsi/initiator/isc_soc.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/iscsi/initiator/iscsi_subr.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/isp/isp_freebsd.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/iwn/if_iwn.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ixgbe/ixgbe.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/le/lebuffer_sbus.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/mfi/mfi.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/mfi/mfivar.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/mly/mly.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/mps/mps_sas.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/mpt/mpt_cam.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/ppbus/ppb_msq.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/puc/pucdata.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/smc/if_smc.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/sound/midi/midi.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/sound/pcm/dsp.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/sound/usb/uaudio.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/sym/sym_hipd.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/syscons/scmouse.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/syscons/syscons.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/tws/tws.c#1 branch
.. //depot/projects/soc2010/extfs/dev/tws/tws.h#1 branch
.. //depot/projects/soc2010/extfs/dev/tws/tws_cam.c#1 branch
.. //depot/projects/soc2010/extfs/dev/tws/tws_hdm.c#1 branch
.. //depot/projects/soc2010/extfs/dev/tws/tws_hdm.h#1 branch
.. //depot/projects/soc2010/extfs/dev/tws/tws_services.c#1 branch
.. //depot/projects/soc2010/extfs/dev/tws/tws_services.h#1 branch
.. //depot/projects/soc2010/extfs/dev/tws/tws_user.c#1 branch
.. //depot/projects/soc2010/extfs/dev/tws/tws_user.h#1 branch
.. //depot/projects/soc2010/extfs/dev/usb/input/uhid.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/quirk/usb_quirk.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/storage/umass.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usb_dev.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usb_device.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usb_device.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usb_dynamic.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usb_dynamic.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usb_freebsd.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usb_msctest.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usb_msctest.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usb_transfer.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usbdevs#2 integrate
.. //depot/projects/soc2010/extfs/dev/usb/usbdi.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/vge/if_vge.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/vge/if_vgereg.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/xen/blkfront/blkfront.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/xen/blkfront/block.h#2 integrate
.. //depot/projects/soc2010/extfs/dev/xen/console/console.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/xen/control/control.c#2 integrate
.. //depot/projects/soc2010/extfs/dev/xen/netfront/netfront.c#2 integrate
.. //depot/projects/soc2010/extfs/fs/devfs/devfs_devs.c#2 integrate
.. //depot/projects/soc2010/extfs/fs/nfsserver/nfs_nfsdport.c#2 integrate
.. //depot/projects/soc2010/extfs/fs/procfs/procfs_ctl.c#2 integrate
.. //depot/projects/soc2010/extfs/fs/procfs/procfs_ioctl.c#2 integrate
.. //depot/projects/soc2010/extfs/fs/tmpfs/tmpfs_vnops.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/conf/GENERIC#2 integrate
.. //depot/projects/soc2010/extfs/i386/i386/machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/i386/pmap.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/i386/trap.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_ioctl.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_ipc.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_isc_sysent.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_misc.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_other.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_signal.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_socksys.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_sysent.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_xenix.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_xenix.h#2 integrate
.. //depot/projects/soc2010/extfs/i386/ibcs2/ibcs2_xenix_sysent.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/include/proc.h#2 integrate
.. //depot/projects/soc2010/extfs/i386/linux/linux_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/linux/linux_sysent.c#2 integrate
.. //depot/projects/soc2010/extfs/i386/xen/pmap.c#2 integrate
.. //depot/projects/soc2010/extfs/ia64/ia32/ia32_signal.c#2 integrate
.. //depot/projects/soc2010/extfs/ia64/ia32/ia32_trap.c#2 integrate
.. //depot/projects/soc2010/extfs/ia64/ia64/machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/ia64/ia64/pmap.c#2 integrate
.. //depot/projects/soc2010/extfs/ia64/ia64/trap.c#2 integrate
.. //depot/projects/soc2010/extfs/ia64/include/proc.h#2 integrate
.. //depot/projects/soc2010/extfs/kern/init_main.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/init_sysent.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_acct.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_clock.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_context.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_cpuset.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_ctf.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_descrip.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_environment.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_event.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_exec.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_exit.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_fork.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_jail.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_ktrace.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_linker.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_loginclass.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_module.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_ntptime.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_proc.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_prot.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_racct.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_rctl.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_resource.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_shutdown.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_sig.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_synch.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_sysctl.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_thr.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_time.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_umtx.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/kern_uuid.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/makesyscalls.sh#2 integrate
.. //depot/projects/soc2010/extfs/kern/p1003_1b.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/sched_ule.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/subr_acl_nfs4.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/subr_bus.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/subr_kdb.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/subr_prof.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/subr_syscall.c#1 branch
.. //depot/projects/soc2010/extfs/kern/subr_taskqueue.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/subr_trap.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/sys_capability.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/sys_generic.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/sys_pipe.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/sys_procdesc.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/sys_process.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/sysv_msg.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/sysv_sem.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/sysv_shm.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/tty.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/tty_pts.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/uipc_mqueue.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/uipc_sem.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/uipc_shm.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/uipc_syscalls.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/uipc_usrreq.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_acl.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_aio.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_bio.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_cache.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_extattr.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_init.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_mount.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_subr.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_syscalls.c#2 integrate
.. //depot/projects/soc2010/extfs/kern/vfs_vnops.c#2 integrate
.. //depot/projects/soc2010/extfs/kgssapi/gss_impl.c#2 integrate
.. //depot/projects/soc2010/extfs/libkern/strnlen.c#1 branch
.. //depot/projects/soc2010/extfs/mips/cavium/asm_octeon.S#2 integrate
.. //depot/projects/soc2010/extfs/mips/cavium/if_octm.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/cavium/octe/ethernet-common.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/cavium/octe/ethernet.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/cavium/octeon_ebt3000_cf.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/cavium/octeon_mp.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/cavium/octeon_pcmap_regs.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/conf/OCTEON1#2 integrate
.. //depot/projects/soc2010/extfs/mips/conf/XLP#2 integrate
.. //depot/projects/soc2010/extfs/mips/conf/XLP64#2 integrate
.. //depot/projects/soc2010/extfs/mips/conf/XLPN32#2 integrate
.. //depot/projects/soc2010/extfs/mips/include/param.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/include/proc.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/mips/elf64_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/mips/elf_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/mips/machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/mips/pm_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/mips/pmap.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/mips/trap.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/board.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/board.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/bus_space_rmi.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/bus_space_rmi_pci.c#1 branch
.. //depot/projects/soc2010/extfs/mips/nlm/clock.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/cms.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/files.xlp#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/bridge.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/cop0.h#2 delete
.. //depot/projects/soc2010/extfs/mips/nlm/hal/cop2.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/cpucontrol.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/fmn.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/fmn.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/haldefs.h#1 branch
.. //depot/projects/soc2010/extfs/mips/nlm/hal/iomap.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/mips-extns.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/mmio.h#2 delete
.. //depot/projects/soc2010/extfs/mips/nlm/hal/mmu.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/pcibus.h#1 branch
.. //depot/projects/soc2010/extfs/mips/nlm/hal/pic.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/sys.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/uart.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/hal/usb.h#1 branch
.. //depot/projects/soc2010/extfs/mips/nlm/intern_dev.c#1 branch
.. //depot/projects/soc2010/extfs/mips/nlm/interrupt.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/intr_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/iodi.c#2 delete
.. //depot/projects/soc2010/extfs/mips/nlm/mpreset.S#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/msgring.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/uart_bus_xlp_iodi.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/uart_cpu_mips_xlp.c#2 delete
.. //depot/projects/soc2010/extfs/mips/nlm/uart_cpu_xlp.c#1 branch
.. //depot/projects/soc2010/extfs/mips/nlm/uart_pci_xlp.c#1 branch
.. //depot/projects/soc2010/extfs/mips/nlm/usb_init.c#1 branch
.. //depot/projects/soc2010/extfs/mips/nlm/xlp.h#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/xlp_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/mips/nlm/xlp_pci.c#1 branch
.. //depot/projects/soc2010/extfs/modules/Makefile#2 integrate
.. //depot/projects/soc2010/extfs/modules/ipfw/Makefile#2 integrate
.. //depot/projects/soc2010/extfs/modules/netgraph/ipfw/Makefile#2 integrate
.. //depot/projects/soc2010/extfs/modules/tws/Makefile#1 branch
.. //depot/projects/soc2010/extfs/net/if_bridge.c#2 integrate
.. //depot/projects/soc2010/extfs/net/if_llatbl.h#2 integrate
.. //depot/projects/soc2010/extfs/net/radix.h#2 integrate
.. //depot/projects/soc2010/extfs/net/raw_cb.h#2 integrate
.. //depot/projects/soc2010/extfs/net/raw_usrreq.c#2 integrate
.. //depot/projects/soc2010/extfs/net/route.c#2 integrate
.. //depot/projects/soc2010/extfs/net/route.h#2 integrate
.. //depot/projects/soc2010/extfs/net/rtsock.c#2 integrate
.. //depot/projects/soc2010/extfs/net80211/ieee80211_proto.c#2 integrate
.. //depot/projects/soc2010/extfs/net80211/ieee80211_sta.c#2 integrate
.. //depot/projects/soc2010/extfs/net80211/ieee80211_tdma.c#2 integrate
.. //depot/projects/soc2010/extfs/netgraph/ng_ipfw.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/in.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/ipfw/ip_fw2.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/ipfw/ip_fw_dynamic.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/ipfw/ip_fw_log.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/ipfw/ip_fw_pfil.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/ipfw/ip_fw_sockopt.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/ipfw/ip_fw_table.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/raw_ip.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctp.h#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctp_asconf.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctp_bsd_addr.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctp_constants.h#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctp_output.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctp_pcb.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctp_pcb.h#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctp_structs.h#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctp_usrreq.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/sctputil.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/tcp_input.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet/tcp_reass.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet6/in6.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet6/in6.h#2 integrate
.. //depot/projects/soc2010/extfs/netinet6/in6_proto.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet6/ip6_output.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet6/ip6_var.h#2 integrate
.. //depot/projects/soc2010/extfs/netinet6/nd6.c#2 integrate
.. //depot/projects/soc2010/extfs/netinet6/nd6_rtr.c#2 integrate
.. //depot/projects/soc2010/extfs/netipsec/key.c#2 integrate
.. //depot/projects/soc2010/extfs/nfs/nfs_nfssvc.c#2 integrate
.. //depot/projects/soc2010/extfs/nfsserver/nfs_serv.c#2 integrate
.. //depot/projects/soc2010/extfs/nlm/nlm_prot_impl.c#2 integrate
.. //depot/projects/soc2010/extfs/pc98/conf/GENERIC#2 integrate
.. //depot/projects/soc2010/extfs/pc98/pc98/machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/aim/mmu_oea.c#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/aim/mmu_oea64.c#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/aim/trap.c#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/booke/pmap.c#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/booke/trap.c#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/include/proc.h#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/powerpc/cpu.c#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/powerpc/exec_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/powerpc/mmu_if.m#2 integrate
.. //depot/projects/soc2010/extfs/powerpc/ps3/ps3cdrom.c#2 integrate
.. //depot/projects/soc2010/extfs/rpc/rpcsec_gss/svc_rpcsec_gss.c#2 integrate
.. //depot/projects/soc2010/extfs/security/audit/audit_syscalls.c#2 integrate
.. //depot/projects/soc2010/extfs/security/mac/mac_framework.h#2 integrate
.. //depot/projects/soc2010/extfs/security/mac/mac_policy.h#2 integrate
.. //depot/projects/soc2010/extfs/security/mac/mac_posix_shm.c#2 integrate
.. //depot/projects/soc2010/extfs/security/mac/mac_syscalls.c#2 integrate
.. //depot/projects/soc2010/extfs/security/mac_biba/mac_biba.c#2 integrate
.. //depot/projects/soc2010/extfs/security/mac_mls/mac_mls.c#2 integrate
.. //depot/projects/soc2010/extfs/security/mac_stub/mac_stub.c#2 integrate
.. //depot/projects/soc2010/extfs/security/mac_test/mac_test.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/central/central.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/conf/DEFAULTS#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/conf/GENERIC#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/ebus/ebus.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/fhc/fhc.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/include/asmacros.h#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/include/atomic.h#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/include/bus.h#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/include/bus_private.h#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/include/proc.h#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/pci/apb.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/pci/fire.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/pci/firevar.h#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/pci/ofw_pcib_subr.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/pci/psycho.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/pci/psychovar.h#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/pci/sbbc.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/pci/schizo.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/pci/schizovar.h#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sbus/dma_sbus.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sbus/sbus.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sparc64/bus_machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sparc64/exception.S#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sparc64/genassym.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sparc64/machdep.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sparc64/nexus.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sparc64/pmap.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sparc64/swtch.S#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sparc64/trap.c#2 integrate
.. //depot/projects/soc2010/extfs/sparc64/sparc64/upa.c#2 integrate
.. //depot/projects/soc2010/extfs/sys/buf.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/conf.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/libkern.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/msgbuf.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/param.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/pipe.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/posix4.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/proc.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/racct.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/signalvar.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/sysent.h#2 integrate
.. //depot/projects/soc2010/extfs/sys/sysproto.h#2 integrate
.. //depot/projects/soc2010/extfs/teken/libteken/Symbol.map#2 integrate
.. //depot/projects/soc2010/extfs/teken/stress/teken_stress.c#2 integrate
.. //depot/projects/soc2010/extfs/teken/teken_subr.h#2 integrate
.. //depot/projects/soc2010/extfs/ufs/ffs/ffs_snapshot.c#2 integrate
.. //depot/projects/soc2010/extfs/ufs/ffs/ffs_softdep.c#2 integrate
.. //depot/projects/soc2010/extfs/vm/swap_pager.c#2 integrate
.. //depot/projects/soc2010/extfs/vm/vm_fault.c#2 integrate
.. //depot/projects/soc2010/extfs/vm/vm_mmap.c#2 integrate
.. //depot/projects/soc2010/extfs/vm/vm_object.c#2 integrate
.. //depot/projects/soc2010/extfs/vm/vm_page.c#2 integrate
.. //depot/projects/soc2010/extfs/vm/vm_page.h#2 integrate
.. //depot/projects/soc2010/extfs/vm/vm_pageout.c#2 integrate
.. //depot/projects/soc2010/extfs/vm/vm_unix.c#2 integrate
.. //depot/projects/soc2010/extfs/vm/vnode_pager.c#2 integrate
.. //depot/projects/soc2010/extfs/x86/acpica/srat.c#2 integrate
.. //depot/projects/soc2010/extfs/xen/xenbus/xenbusb.c#2 integrate
.. //depot/projects/soc2010/extfs/xen/xenbus/xenbusb_back.c#2 integrate
.. //depot/projects/soc2010/extfs/xen/xenbus/xenbusb_front.c#2 integrate
.. //depot/projects/soc2010/extfs/xen/xenstore/xenstore.c#2 integrate

Differences ...

==== //depot/projects/soc2010/extfs/amd64/amd64/exception.S#2 (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.155 2011/04/08 21:26:50 kib Exp $
+ * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.158 2011/09/15 09:53:04 kib Exp $
  */
 
 #include "opt_atpic.h"
@@ -380,8 +380,11 @@
 	movl	$TF_HASSEGS,TF_FLAGS(%rsp)
 	cld
 	FAKE_MCOUNT(TF_RIP(%rsp))
-	movq	%rsp,%rdi
-	call	syscall
+	movq	PCPU(CURTHREAD),%rdi
+	movq	%rsp,TD_FRAME(%rdi)
+	movl	TF_RFLAGS(%rsp),%esi
+	andl	$PSL_T,%esi
+	call	amd64_syscall
 1:	movq	PCPU(CURPCB),%rax
 	/* Disable interrupts before testing PCB_FULL_IRET. */
 	cli
@@ -390,29 +393,25 @@
 	/* Check for and handle AST's on return to userland. */
 	movq	PCPU(CURTHREAD),%rax
 	testl	$TDF_ASTPENDING | TDF_NEEDRESCHED,TD_FLAGS(%rax)
-	je	2f
-	sti
-	movq	%rsp, %rdi
-	call	ast
-	jmp	1b
-2:	/* Restore preserved registers. */
+	jne	2f
+	/* Restore preserved registers. */
 	MEXITCOUNT
 	movq	TF_RDI(%rsp),%rdi	/* bonus; preserve arg 1 */
 	movq	TF_RSI(%rsp),%rsi	/* bonus: preserve arg 2 */
 	movq	TF_RDX(%rsp),%rdx	/* return value 2 */
 	movq	TF_RAX(%rsp),%rax	/* return value 1 */
-	movq	TF_RBX(%rsp),%rbx	/* C preserved */
-	movq	TF_RBP(%rsp),%rbp	/* C preserved */
-	movq	TF_R12(%rsp),%r12	/* C preserved */
-	movq	TF_R13(%rsp),%r13	/* C preserved */
-	movq	TF_R14(%rsp),%r14	/* C preserved */
-	movq	TF_R15(%rsp),%r15	/* C preserved */
 	movq	TF_RFLAGS(%rsp),%r11	/* original %rflags */
 	movq	TF_RIP(%rsp),%rcx	/* original %rip */
-	movq	TF_RSP(%rsp),%r9	/* user stack pointer */
-	movq	%r9,%rsp		/* original %rsp */
+	movq	TF_RSP(%rsp),%rsp	/* user stack pointer */
 	swapgs
 	sysretq
+
+2:	/* AST scheduled. */
+	sti
+	movq	%rsp,%rdi
+	call	ast
+	jmp	1b
+
 3:	/* Requested full context restore, use doreti for that. */
 	MEXITCOUNT
 	jmp	doreti

==== //depot/projects/soc2010/extfs/amd64/amd64/genassym.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.186 2011/07/18 15:19:40 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.187 2011/09/11 16:08:10 kib Exp $");
 
 #include "opt_compat.h"
 #include "opt_hwpmc_hooks.h"
@@ -87,6 +87,7 @@
 ASSYM(TD_PFLAGS, offsetof(struct thread, td_pflags));
 ASSYM(TD_PROC, offsetof(struct thread, td_proc));
 ASSYM(TD_TID, offsetof(struct thread, td_tid));
+ASSYM(TD_FRAME, offsetof(struct thread, td_frame));
 
 ASSYM(TDF_ASTPENDING, TDF_ASTPENDING);
 ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED);

==== //depot/projects/soc2010/extfs/amd64/amd64/machdep.c#2 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.753 2011/08/20 19:21:46 bz Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.755 2011/10/03 14:23:00 attilio Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -421,7 +421,7 @@
  * MPSAFE
  */
 int
-sigreturn(td, uap)
+sys_sigreturn(td, uap)
 	struct thread *td;
 	struct sigreturn_args /* {
 		const struct __ucontext *sigcntxp;
@@ -517,7 +517,7 @@
 freebsd4_sigreturn(struct thread *td, struct freebsd4_sigreturn_args *uap)
 {
  
-	return sigreturn(td, (struct sigreturn_args *)uap);
+	return sys_sigreturn(td, (struct sigreturn_args *)uap);
 }
 #endif
 
@@ -609,7 +609,7 @@
 cpu_halt(void)
 {
 	for (;;)
-		__asm__ ("hlt");
+		halt();
 }
 
 void (*cpu_idle_hook)(void) = NULL;	/* ACPI idle hook. */
@@ -630,6 +630,8 @@
 
 	state = (int *)PCPU_PTR(monitorbuf);
 	*state = STATE_SLEEPING;
+
+	/* See comments in cpu_idle_hlt(). */
 	disable_intr();
 	if (sched_runnable())
 		enable_intr();
@@ -647,9 +649,22 @@
 
 	state = (int *)PCPU_PTR(monitorbuf);
 	*state = STATE_SLEEPING;
+
 	/*
-	 * We must absolutely guarentee that hlt is the next instruction
-	 * after sti or we introduce a timing window.
+	 * Since we may be in a critical section from cpu_idle(), if
+	 * an interrupt fires during that critical section we may have
+	 * a pending preemption.  If the CPU halts, then that thread
+	 * may not execute until a later interrupt awakens the CPU.
+	 * To handle this race, check for a runnable thread after
+	 * disabling interrupts and immediately return if one is
+	 * found.  Also, we must absolutely guarentee that hlt is
+	 * the next instruction after sti.  This ensures that any
+	 * interrupt that fires after the call to disable_intr() will
+	 * immediately awaken the CPU from hlt.  Finally, please note
+	 * that on x86 this works fine because of interrupts enabled only
+	 * after the instruction following sti takes place, while IF is set
+	 * to 1 immediately, allowing hlt instruction to acknowledge the
+	 * interrupt.
 	 */
 	disable_intr();
 	if (sched_runnable())
@@ -675,11 +690,19 @@
 
 	state = (int *)PCPU_PTR(monitorbuf);
 	*state = STATE_MWAIT;
-	if (!sched_runnable()) {
-		cpu_monitor(state, 0, 0);
-		if (*state == STATE_MWAIT)
-			cpu_mwait(0, MWAIT_C1);
+
+	/* See comments in cpu_idle_hlt(). */
+	disable_intr();
+	if (sched_runnable()) {
+		enable_intr();
+		*state = STATE_RUNNING;
+		return;
 	}
+	cpu_monitor(state, 0, 0);
+	if (*state == STATE_MWAIT)
+		__asm __volatile("sti; mwait" : : "a" (MWAIT_C1), "c" (0));
+	else
+		enable_intr();
 	*state = STATE_RUNNING;
 }
 
@@ -691,6 +714,12 @@
 
 	state = (int *)PCPU_PTR(monitorbuf);
 	*state = STATE_RUNNING;
+
+	/*
+	 * The sched_runnable() call is racy but as long as there is
+	 * a loop missing it one time will have just a little impact if any
+	 * (and it is much better than missing the check at all).
+	 */
 	for (i = 0; i < 1000; i++) {
 		if (sched_runnable())
 			return;

==== //depot/projects/soc2010/extfs/amd64/amd64/pmap.c#2 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.725 2011/08/09 21:01:36 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.726 2011/09/06 10:30:11 kib Exp $");
 
 /*
  *	Manages physical address maps.
@@ -2123,7 +2123,7 @@
 			KASSERT((tpte & PG_W) == 0,
 			    ("pmap_collect: wired pte %#lx", tpte));
 			if (tpte & PG_A)
-				vm_page_flag_set(m, PG_REFERENCED);
+				vm_page_aflag_set(m, PGA_REFERENCED);
 			if ((tpte & (PG_M | PG_RW)) == (PG_M | PG_RW))
 				vm_page_dirty(m);
 			free = NULL;
@@ -2137,7 +2137,7 @@
 		}
 		if (TAILQ_EMPTY(&m->md.pv_list) &&
 		    TAILQ_EMPTY(&pa_to_pvh(VM_PAGE_TO_PHYS(m))->pv_list))
-			vm_page_flag_clear(m, PG_WRITEABLE);
+			vm_page_aflag_clear(m, PGA_WRITEABLE);
 	}
 }
 
@@ -2391,7 +2391,7 @@
 	if (TAILQ_EMPTY(&m->md.pv_list)) {
 		pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
 		if (TAILQ_EMPTY(&pvh->pv_list))
-			vm_page_flag_clear(m, PG_WRITEABLE);
+			vm_page_aflag_clear(m, PGA_WRITEABLE);
 	}
 }
 
@@ -2615,10 +2615,10 @@
 			if ((oldpde & (PG_M | PG_RW)) == (PG_M | PG_RW))
 				vm_page_dirty(m);
 			if (oldpde & PG_A)
-				vm_page_flag_set(m, PG_REFERENCED);
+				vm_page_aflag_set(m, PGA_REFERENCED);
 			if (TAILQ_EMPTY(&m->md.pv_list) &&
 			    TAILQ_EMPTY(&pvh->pv_list))
-				vm_page_flag_clear(m, PG_WRITEABLE);
+				vm_page_aflag_clear(m, PGA_WRITEABLE);
 		}
 	}
 	if (pmap == kernel_pmap) {
@@ -2659,7 +2659,7 @@
 		if ((oldpte & (PG_M | PG_RW)) == (PG_M | PG_RW))
 			vm_page_dirty(m);
 		if (oldpte & PG_A)
-			vm_page_flag_set(m, PG_REFERENCED);
+			vm_page_aflag_set(m, PGA_REFERENCED);
 		pmap_remove_entry(pmap, m, va);
 	}
 	return (pmap_unuse_pt(pmap, va, ptepde, free));
@@ -2872,7 +2872,7 @@
 		if (tpte & PG_W)
 			pmap->pm_stats.wired_count--;
 		if (tpte & PG_A)
-			vm_page_flag_set(m, PG_REFERENCED);
+			vm_page_aflag_set(m, PGA_REFERENCED);
 
 		/*
 		 * Update the vm_page_t clean and reference bits.
@@ -2885,7 +2885,7 @@
 		free_pv_entry(pmap, pv);
 		PMAP_UNLOCK(pmap);
 	}
-	vm_page_flag_clear(m, PG_WRITEABLE);
+	vm_page_aflag_clear(m, PGA_WRITEABLE);
 	vm_page_unlock_queues();
 	pmap_free_zero_pages(free);
 }
@@ -3301,7 +3301,7 @@
 	if ((prot & VM_PROT_WRITE) != 0) {
 		newpte |= PG_RW;
 		if ((newpte & PG_MANAGED) != 0)
-			vm_page_flag_set(m, PG_WRITEABLE);
+			vm_page_aflag_set(m, PGA_WRITEABLE);
 	}
 	if ((prot & VM_PROT_EXECUTE) == 0)
 		newpte |= pg_nx;
@@ -3325,7 +3325,7 @@
 			origpte = pte_load_store(pte, newpte);
 			if (origpte & PG_A) {
 				if (origpte & PG_MANAGED)
-					vm_page_flag_set(om, PG_REFERENCED);
+					vm_page_aflag_set(om, PGA_REFERENCED);
 				if (opa != VM_PAGE_TO_PHYS(m) || ((origpte &
 				    PG_NX) == 0 && (newpte & PG_NX)))
 					invlva = TRUE;
@@ -3339,7 +3339,7 @@
 			if ((origpte & PG_MANAGED) != 0 &&
 			    TAILQ_EMPTY(&om->md.pv_list) &&
 			    TAILQ_EMPTY(&pa_to_pvh(opa)->pv_list))
-				vm_page_flag_clear(om, PG_WRITEABLE);
+				vm_page_aflag_clear(om, PGA_WRITEABLE);
 			if (invlva)
 				pmap_invalidate_page(pmap, va);
 		} else
@@ -4147,7 +4147,7 @@
 					if (TAILQ_EMPTY(&pvh->pv_list)) {
 						for (mt = m; mt < &m[NBPDR / PAGE_SIZE]; mt++)
 							if (TAILQ_EMPTY(&mt->md.pv_list))
-								vm_page_flag_clear(mt, PG_WRITEABLE);
+								vm_page_aflag_clear(mt, PGA_WRITEABLE);
 					}
 					mpte = pmap_lookup_pt_page(pmap, pv->pv_va);
 					if (mpte != NULL) {
@@ -4165,7 +4165,7 @@
 					if (TAILQ_EMPTY(&m->md.pv_list)) {
 						pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
 						if (TAILQ_EMPTY(&pvh->pv_list))
-							vm_page_flag_clear(m, PG_WRITEABLE);
+							vm_page_aflag_clear(m, PGA_WRITEABLE);
 					}
 				}
 				pmap_unuse_pt(pmap, pv->pv_va, ptepde, &free);
@@ -4203,13 +4203,13 @@
 	    ("pmap_is_modified: page %p is not managed", m));
 
 	/*
-	 * If the page is not VPO_BUSY, then PG_WRITEABLE cannot be
-	 * concurrently set while the object is locked.  Thus, if PG_WRITEABLE
+	 * If the page is not VPO_BUSY, then PGA_WRITEABLE cannot be
+	 * concurrently set while the object is locked.  Thus, if PGA_WRITEABLE
 	 * is clear, no PTEs can have PG_M set.
 	 */
 	VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
 	if ((m->oflags & VPO_BUSY) == 0 &&
-	    (m->flags & PG_WRITEABLE) == 0)
+	    (m->aflags & PGA_WRITEABLE) == 0)
 		return (FALSE);
 	vm_page_lock_queues();
 	rv = pmap_is_modified_pvh(&m->md) ||
@@ -4332,13 +4332,13 @@
 	    ("pmap_remove_write: page %p is not managed", m));
 
 	/*
-	 * If the page is not VPO_BUSY, then PG_WRITEABLE cannot be set by
-	 * another thread while the object is locked.  Thus, if PG_WRITEABLE
+	 * If the page is not VPO_BUSY, then PGA_WRITEABLE cannot be set by
+	 * another thread while the object is locked.  Thus, if PGA_WRITEABLE
 	 * is clear, no page table entries need updating.
 	 */
 	VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
 	if ((m->oflags & VPO_BUSY) == 0 &&
-	    (m->flags & PG_WRITEABLE) == 0)
+	    (m->aflags & PGA_WRITEABLE) == 0)
 		return;
 	vm_page_lock_queues();
 	pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
@@ -4370,7 +4370,7 @@
 		}
 		PMAP_UNLOCK(pmap);
 	}
-	vm_page_flag_clear(m, PG_WRITEABLE);
+	vm_page_aflag_clear(m, PGA_WRITEABLE);
 	vm_page_unlock_queues();
 }
 
@@ -4478,11 +4478,11 @@
 	    ("pmap_clear_modify: page %p is busy", m));
 
 	/*
-	 * If the page is not PG_WRITEABLE, then no PTEs can have PG_M set.
+	 * If the page is not PGA_WRITEABLE, then no PTEs can have PG_M set.
 	 * If the object containing the page is locked and the page is not
-	 * VPO_BUSY, then PG_WRITEABLE cannot be concurrently set.
+	 * VPO_BUSY, then PGA_WRITEABLE cannot be concurrently set.
 	 */
-	if ((m->flags & PG_WRITEABLE) == 0)
+	if ((m->aflags & PGA_WRITEABLE) == 0)
 		return;
 	vm_page_lock_queues();
 	pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));

==== //depot/projects/soc2010/extfs/amd64/amd64/trap.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.354 2011/04/08 14:39:41 rstone Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.358 2011/10/03 17:01:31 kib Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -674,6 +674,19 @@
 			goto nogo;
 
 		map = &vm->vm_map;
+
+		/*
+		 * When accessing a usermode address, kernel must be
+		 * ready to accept the page fault, and provide a
+		 * handling routine.  Since accessing the address
+		 * without the handler is a bug, do not try to handle
+		 * it normally, and panic immediately.
+		 */
+		if (!usermode && (td->td_intr_nesting_level != 0 ||
+		    PCPU_GET(curpcb)->pcb_onfault == NULL)) {
+			trap_fatal(frame, eva);
+			return (-1);
+		}
 	}
 
 	/*
@@ -883,41 +896,37 @@
 	return (error);
 }
 
+#include "../../kern/subr_syscall.c"
+
 /*
  *	syscall -	system call request C handler
  *
  *	A system call is essentially treated as a trap.
  */
 void
-syscall(struct trapframe *frame)
+amd64_syscall(struct thread *td, int traced)
 {
-	struct thread *td;
 	struct syscall_args sa;
-	register_t orig_tf_rflags;
 	int error;
 	ksiginfo_t ksi;
 
 #ifdef DIAGNOSTIC
-	if (ISPL(frame->tf_cs) != SEL_UPL) {
+	if (ISPL(td->td_frame->tf_cs) != SEL_UPL) {
 		panic("syscall");
 		/* NOT REACHED */
 	}
 #endif
-	orig_tf_rflags = frame->tf_rflags;
-	td = curthread;
-	td->td_frame = frame;
-
 	error = syscallenter(td, &sa);
 
 	/*
 	 * Traced syscall.
 	 */
-	if (orig_tf_rflags & PSL_T) {
-		frame->tf_rflags &= ~PSL_T;
+	if (__predict_false(traced)) {
+		td->td_frame->tf_rflags &= ~PSL_T;
 		ksiginfo_init_trap(&ksi);
 		ksi.ksi_signo = SIGTRAP;
 		ksi.ksi_code = TRAP_TRACE;
-		ksi.ksi_addr = (void *)frame->tf_rip;
+		ksi.ksi_addr = (void *)td->td_frame->tf_rip;
 		trapsignal(td, &ksi);
 	}
 

==== //depot/projects/soc2010/extfs/amd64/conf/GENERIC#2 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.567 2011/08/26 21:22:34 jhb Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.569 2011/10/04 21:40:25 delphij Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -151,6 +151,7 @@
 #XXX pointer/int warnings
 #device		pst		# Promise Supertrak SX6000
 device		twe		# 3ware ATA RAID
+device		tws		# LSI 3ware 9750 SATA+SAS 6Gb/s RAID controller
 
 # atkbdc0 controls both the keyboard and the PS/2 mouse
 device		atkbdc		# AT keyboard controller
@@ -326,7 +327,7 @@
 device		upgt		# Conexant/Intersil PrismGT wireless NICs.
 device		ural		# Ralink Technology RT2500USB wireless NICs
 device		urtw		# Realtek RTL8187B/L wireless NICs
-device		zyd		# ZyDAS zb1211/zb1211b wireless NICs
+device		zyd		# ZyDAS zd1211/zd1211b wireless NICs
 
 # FireWire support
 device		firewire	# FireWire bus code

==== //depot/projects/soc2010/extfs/amd64/ia32/ia32_syscall.c#2 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.24 2011/04/01 11:16:29 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.25 2011/09/11 16:05:09 kib Exp $");
 
 /*
  * 386 Trap and System call handling
@@ -163,6 +163,8 @@
 	return (error);
 }
 
+#include "../../kern/subr_syscall.c"
+
 void
 ia32_syscall(struct trapframe *frame)
 {

==== //depot/projects/soc2010/extfs/amd64/include/md_var.h#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *

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


More information about the p4-projects mailing list