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