Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Aug 2010 15:24:32 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 181953 for review
Message-ID:  <201008061524.o76FOWhq005579@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@181953?ac=10

Change 181953 by jhb@jhb_jhbbsd on 2010/08/06 15:24:11

	IFC @181952

Affected files ...

.. //depot/projects/smpng/share/man/man9/DEVICE_PROBE.9#3 integrate
.. //depot/projects/smpng/share/man/man9/VFS_VGET.9#3 integrate
.. //depot/projects/smpng/share/man/man9/VOP_VPTOCNP.9#3 integrate
.. //depot/projects/smpng/share/man/man9/bios.9#2 integrate
.. //depot/projects/smpng/share/man/man9/ifnet.9#5 integrate
.. //depot/projects/smpng/share/man/man9/kproc.9#3 integrate
.. //depot/projects/smpng/share/man/man9/locking.9#3 integrate
.. //depot/projects/smpng/share/man/man9/make_dev.9#5 integrate
.. //depot/projects/smpng/share/man/man9/netisr.9#5 integrate
.. //depot/projects/smpng/share/man/man9/sglist.9#3 integrate
.. //depot/projects/smpng/share/man/man9/taskqueue.9#3 integrate
.. //depot/projects/smpng/share/man/man9/timeout.9#3 integrate
.. //depot/projects/smpng/share/man/man9/usbdi.9#6 integrate
.. //depot/projects/smpng/sys/amd64/acpica/acpi_switch.S#4 integrate
.. //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#7 integrate
.. //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#13 integrate
.. //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#29 integrate
.. //depot/projects/smpng/sys/amd64/amd64/fpu.c#17 integrate
.. //depot/projects/smpng/sys/amd64/amd64/genassym.c#30 integrate
.. //depot/projects/smpng/sys/amd64/amd64/initcpu.c#14 integrate
.. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#65 integrate
.. //depot/projects/smpng/sys/amd64/amd64/mptable_pci.c#9 integrate
.. //depot/projects/smpng/sys/amd64/amd64/support.S#23 integrate
.. //depot/projects/smpng/sys/amd64/conf/GENERIC#91 integrate
.. //depot/projects/smpng/sys/amd64/include/pcb.h#20 integrate
.. //depot/projects/smpng/sys/amd64/include/pcpu.h#15 integrate
.. //depot/projects/smpng/sys/amd64/include/specialreg.h#27 integrate
.. //depot/projects/smpng/sys/amd64/include/vmparam.h#15 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux32_machdep.c#35 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux32_proto.h#28 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux32_syscall.h#27 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux32_sysent.c#29 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux32_sysvec.c#46 integrate
.. //depot/projects/smpng/sys/amd64/linux32/syscalls.master#31 integrate
.. //depot/projects/smpng/sys/arm/include/vmparam.h#13 integrate
.. //depot/projects/smpng/sys/arm/s3c2xx0/files.s3c2xx0#2 integrate
.. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0.c#2 integrate
.. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0_machdep.c#2 integrate
.. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0_rtc.c#1 branch
.. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0reg.h#2 integrate
.. //depot/projects/smpng/sys/arm/s3c2xx0/s3c2xx0_space.c#2 integrate
.. //depot/projects/smpng/sys/arm/s3c2xx0/s3c2xx0var.h#2 integrate
.. //depot/projects/smpng/sys/boot/common/load_elf_obj.c#3 integrate
.. //depot/projects/smpng/sys/boot/common/loader.8#49 integrate
.. //depot/projects/smpng/sys/boot/i386/loader/Makefile#29 integrate
.. //depot/projects/smpng/sys/boot/pc98/loader/Makefile#22 integrate
.. //depot/projects/smpng/sys/boot/zfs/zfstest.c#1 branch
.. //depot/projects/smpng/sys/cam/ata/ata_da.c#8 integrate
.. //depot/projects/smpng/sys/cam/cam.c#13 integrate
.. //depot/projects/smpng/sys/cam/cam_ccb.h#18 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#45 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#92 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_target.c#31 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#15 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c#2 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c#3 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#13 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#22 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#13 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#69 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_util.h#7 integrate
.. //depot/projects/smpng/sys/compat/x86bios/x86bios.c#6 integrate
.. //depot/projects/smpng/sys/compat/x86bios/x86bios.h#4 integrate
.. //depot/projects/smpng/sys/conf/NOTES#187 integrate
.. //depot/projects/smpng/sys/conf/files#263 integrate
.. //depot/projects/smpng/sys/conf/files.amd64#79 integrate
.. //depot/projects/smpng/sys/conf/files.i386#137 integrate
.. //depot/projects/smpng/sys/conf/files.mips#10 integrate
.. //depot/projects/smpng/sys/conf/files.powerpc#60 integrate
.. //depot/projects/smpng/sys/conf/files.sparc64#78 integrate
.. //depot/projects/smpng/sys/conf/files.sun4v#12 integrate
.. //depot/projects/smpng/sys/conf/kern.mk#27 integrate
.. //depot/projects/smpng/sys/conf/kern.pre.mk#68 integrate
.. //depot/projects/smpng/sys/conf/kmod.mk#78 integrate
.. //depot/projects/smpng/sys/conf/options#184 integrate
.. //depot/projects/smpng/sys/conf/options.powerpc#13 integrate
.. //depot/projects/smpng/sys/crypto/aesni/aesencdec_amd64.S#1 branch
.. //depot/projects/smpng/sys/crypto/aesni/aesencdec_i386.S#1 branch
.. //depot/projects/smpng/sys/crypto/aesni/aeskeys_amd64.S#1 branch
.. //depot/projects/smpng/sys/crypto/aesni/aeskeys_i386.S#1 branch
.. //depot/projects/smpng/sys/crypto/aesni/aesni.c#1 branch
.. //depot/projects/smpng/sys/crypto/aesni/aesni.h#1 branch
.. //depot/projects/smpng/sys/crypto/aesni/aesni_wrap.c#1 branch
.. //depot/projects/smpng/sys/dev/acpi_support/acpi_aiboost.c#6 delete
.. //depot/projects/smpng/sys/dev/acpica/acpi_pcib.c#37 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_acpi.c#31 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_pci.c#16 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_pcibvar.h#6 integrate
.. //depot/projects/smpng/sys/dev/ahci/ahci.c#10 integrate
.. //depot/projects/smpng/sys/dev/alc/if_alcreg.h#2 integrate
.. //depot/projects/smpng/sys/dev/amr/amrvar.h#28 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-all.c#105 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-disk.c#77 integrate
.. //depot/projects/smpng/sys/dev/bce/if_bce.c#38 integrate
.. //depot/projects/smpng/sys/dev/bwn/if_bwn.c#6 integrate
.. //depot/projects/smpng/sys/dev/coretemp/coretemp.c#7 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#34 integrate
.. //depot/projects/smpng/sys/dev/drm/drm_pciids.h#19 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_osdep.h#5 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_igb.c#23 integrate
.. //depot/projects/smpng/sys/dev/et/if_et.c#4 integrate
.. //depot/projects/smpng/sys/dev/et/if_etreg.h#3 integrate
.. //depot/projects/smpng/sys/dev/et/if_etvar.h#3 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.c#11 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.h#4 integrate
.. //depot/projects/smpng/sys/dev/ichwd/ichwd.c#16 integrate
.. //depot/projects/smpng/sys/dev/ipmi/ipmi_smbios.c#6 integrate
.. //depot/projects/smpng/sys/dev/md/md.c#95 integrate
.. //depot/projects/smpng/sys/dev/mvs/mvs.c#3 integrate
.. //depot/projects/smpng/sys/dev/null/null.c#22 integrate
.. //depot/projects/smpng/sys/dev/pci/pci.c#119 integrate
.. //depot/projects/smpng/sys/dev/pci/pci_user.c#22 integrate
.. //depot/projects/smpng/sys/dev/pci/pcib_private.h#16 integrate
.. //depot/projects/smpng/sys/dev/siis/siis.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#45 integrate
.. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/u3g.c#18 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uftdi.c#15 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uipaq.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uplcom.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uslcom.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#155 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs.h#23 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_rule.c#20 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_vfsops.c#33 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#87 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfs_var.h#10 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_cllock.c#2 delete
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clnfsiod.c#4 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clport.c#9 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clstate.c#12 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clsubs.c#8 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#16 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_lock.h#2 delete
.. //depot/projects/smpng/sys/geom/geom_disk.c#58 integrate
.. //depot/projects/smpng/sys/geom/geom_disk.h#10 integrate
.. //depot/projects/smpng/sys/geom/part/g_part.c#28 integrate
.. //depot/projects/smpng/sys/geom/sched/g_sched.c#2 integrate
.. //depot/projects/smpng/sys/i386/conf/GENERIC#121 integrate
.. //depot/projects/smpng/sys/i386/conf/NOTES#153 integrate
.. //depot/projects/smpng/sys/i386/i386/genassym.c#41 integrate
.. //depot/projects/smpng/sys/i386/i386/initcpu.c#37 integrate
.. //depot/projects/smpng/sys/i386/i386/mptable_pci.c#9 integrate
.. //depot/projects/smpng/sys/i386/i386/swtch.s#34 integrate
.. //depot/projects/smpng/sys/i386/include/pcpu.h#25 integrate
.. //depot/projects/smpng/sys/i386/include/specialreg.h#31 integrate
.. //depot/projects/smpng/sys/i386/include/vm86.h#6 integrate
.. //depot/projects/smpng/sys/i386/include/vmparam.h#16 integrate
.. //depot/projects/smpng/sys/i386/isa/npx.c#70 integrate
.. //depot/projects/smpng/sys/i386/linux/linux_sysvec.c#74 integrate
.. //depot/projects/smpng/sys/i386/pci/pci_bus.c#37 integrate
.. //depot/projects/smpng/sys/ia64/conf/GENERIC#73 integrate
.. //depot/projects/smpng/sys/ia64/include/pcpu.h#12 integrate
.. //depot/projects/smpng/sys/ia64/include/vmparam.h#19 integrate
.. //depot/projects/smpng/sys/kern/imgact_shell.c#13 integrate
.. //depot/projects/smpng/sys/kern/kern_conf.c#66 integrate
.. //depot/projects/smpng/sys/kern/kern_cpu.c#16 integrate
.. //depot/projects/smpng/sys/kern/kern_exec.c#130 integrate
.. //depot/projects/smpng/sys/kern/kern_malloc.c#58 integrate
.. //depot/projects/smpng/sys/kern/link_elf_obj.c#29 integrate
.. //depot/projects/smpng/sys/kern/subr_param.c#33 integrate
.. //depot/projects/smpng/sys/kern/subr_taskqueue.c#45 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#185 integrate
.. //depot/projects/smpng/sys/kern/tty.c#103 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#131 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#180 integrate
.. //depot/projects/smpng/sys/mips/atheros/ar71xx_pci.c#2 integrate
.. //depot/projects/smpng/sys/mips/include/_stdint.h#2 integrate
.. //depot/projects/smpng/sys/mips/include/param.h#10 integrate
.. //depot/projects/smpng/sys/mips/include/pmap.h#12 integrate
.. //depot/projects/smpng/sys/mips/include/profile.h#4 integrate
.. //depot/projects/smpng/sys/mips/include/runq.h#3 integrate
.. //depot/projects/smpng/sys/mips/include/smp.h#8 integrate
.. //depot/projects/smpng/sys/mips/include/vmparam.h#6 integrate
.. //depot/projects/smpng/sys/mips/mips/exception.S#7 integrate
.. //depot/projects/smpng/sys/mips/mips/genassym.c#4 integrate
.. //depot/projects/smpng/sys/mips/mips/locore.S#5 integrate
.. //depot/projects/smpng/sys/mips/mips/machdep.c#13 integrate
.. //depot/projects/smpng/sys/mips/mips/mp_machdep.c#11 integrate
.. //depot/projects/smpng/sys/mips/mips/pm_machdep.c#8 integrate
.. //depot/projects/smpng/sys/mips/mips/pmap.c#21 integrate
.. //depot/projects/smpng/sys/mips/mips/support.S#7 integrate
.. //depot/projects/smpng/sys/mips/mips/swtch.S#6 integrate
.. //depot/projects/smpng/sys/mips/mips/tick.c#6 integrate
.. //depot/projects/smpng/sys/mips/mips/trap.c#9 integrate
.. //depot/projects/smpng/sys/mips/mips/vm_machdep.c#9 integrate
.. //depot/projects/smpng/sys/mips/rmi/dev/xlr/rge.c#5 integrate
.. //depot/projects/smpng/sys/mips/rmi/files.xlr#3 integrate
.. //depot/projects/smpng/sys/mips/rmi/intr_machdep.c#3 integrate
.. //depot/projects/smpng/sys/mips/rmi/on_chip.c#4 integrate
.. //depot/projects/smpng/sys/mips/rmi/tick.c#2 integrate
.. //depot/projects/smpng/sys/mips/rmi/xlr_machdep.c#4 integrate
.. //depot/projects/smpng/sys/mips/sibyte/sb_machdep.c#5 integrate
.. //depot/projects/smpng/sys/mips/sibyte/sb_scd.c#3 integrate
.. //depot/projects/smpng/sys/mips/sibyte/sb_zbpci.c#2 integrate
.. //depot/projects/smpng/sys/modules/Makefile#174 integrate
.. //depot/projects/smpng/sys/modules/acpi/Makefile#35 integrate
.. //depot/projects/smpng/sys/modules/acpi/acpi_aiboost/Makefile#3 delete
.. //depot/projects/smpng/sys/modules/aesni/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/ata/atacore/Makefile#2 integrate
.. //depot/projects/smpng/sys/modules/nfscl/Makefile#2 integrate
.. //depot/projects/smpng/sys/modules/nfsclient/Makefile#19 integrate
.. //depot/projects/smpng/sys/modules/nfslock/Makefile#1 branch
.. //depot/projects/smpng/sys/net/if.c#134 integrate
.. //depot/projects/smpng/sys/net/if_llatbl.c#12 integrate
.. //depot/projects/smpng/sys/net/if_vlan.c#75 integrate
.. //depot/projects/smpng/sys/net/rtsock.c#82 integrate
.. //depot/projects/smpng/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h#5 integrate
.. //depot/projects/smpng/sys/netgraph/netflow/netflow.c#20 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ipfw.c#12 integrate
.. //depot/projects/smpng/sys/netinet/if_ether.c#83 integrate
.. //depot/projects/smpng/sys/netinet/in_rmx.c#31 integrate
.. //depot/projects/smpng/sys/netinet/ipfw/ip_fw2.c#14 integrate
.. //depot/projects/smpng/sys/netinet/sctp_indata.c#33 integrate
.. //depot/projects/smpng/sys/netinet/sctp_output.c#40 integrate
.. //depot/projects/smpng/sys/netinet/sctp_pcb.c#41 integrate
.. //depot/projects/smpng/sys/netinet/sctp_structs.h#22 integrate
.. //depot/projects/smpng/sys/netinet/sctp_timer.c#22 integrate
.. //depot/projects/smpng/sys/netinet/tcp_syncache.c#78 integrate
.. //depot/projects/smpng/sys/netinet6/nd6.c#67 integrate
.. //depot/projects/smpng/sys/nfs/nfs_lock.c#6 branch
.. //depot/projects/smpng/sys/nfs/nfs_lock.h#3 branch
.. //depot/projects/smpng/sys/nfsclient/nfs_lock.c#40 delete
.. //depot/projects/smpng/sys/nfsclient/nfs_lock.h#7 delete
.. //depot/projects/smpng/sys/nfsclient/nfs_nfsiod.c#24 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_node.c#35 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#79 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#101 integrate
.. //depot/projects/smpng/sys/opencrypto/cryptodev.c#29 integrate
.. //depot/projects/smpng/sys/pc98/conf/GENERIC#92 integrate
.. //depot/projects/smpng/sys/powerpc/aim/mmu_oea64.c#12 integrate
.. //depot/projects/smpng/sys/powerpc/aim/slb.c#2 integrate
.. //depot/projects/smpng/sys/powerpc/conf/GENERIC#69 integrate
.. //depot/projects/smpng/sys/powerpc/conf/GENERIC64#2 integrate
.. //depot/projects/smpng/sys/powerpc/conf/NOTES#18 integrate
.. //depot/projects/smpng/sys/powerpc/include/slb.h#2 integrate
.. //depot/projects/smpng/sys/powerpc/include/vmparam.h#15 integrate
.. //depot/projects/smpng/sys/powerpc/mambo/mambo.c#1 branch
.. //depot/projects/smpng/sys/powerpc/mambo/mambo_console.c#1 branch
.. //depot/projects/smpng/sys/powerpc/mambo/mambo_disk.c#1 branch
.. //depot/projects/smpng/sys/powerpc/mambo/mambo_openpic.c#1 branch
.. //depot/projects/smpng/sys/powerpc/mambo/mambocall.S#1 branch
.. //depot/projects/smpng/sys/powerpc/mambo/mambocall.h#1 branch
.. //depot/projects/smpng/sys/sparc64/conf/GENERIC#105 integrate
.. //depot/projects/smpng/sys/sparc64/include/intr_machdep.h#20 integrate
.. //depot/projects/smpng/sys/sparc64/include/pcpu.h#16 integrate
.. //depot/projects/smpng/sys/sparc64/include/smp.h#26 integrate
.. //depot/projects/smpng/sys/sparc64/include/tick.h#8 integrate
.. //depot/projects/smpng/sys/sparc64/include/vmparam.h#19 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/clock.c#12 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/intr_machdep.c#34 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/mp_machdep.c#41 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/tick.c#25 integrate
.. //depot/projects/smpng/sys/sun4v/conf/GENERIC#23 integrate
.. //depot/projects/smpng/sys/sun4v/include/clock.h#3 integrate
.. //depot/projects/smpng/sys/sun4v/include/intr_machdep.h#5 integrate
.. //depot/projects/smpng/sys/sun4v/include/pcpu.h#10 integrate
.. //depot/projects/smpng/sys/sun4v/include/smp.h#9 integrate
.. //depot/projects/smpng/sys/sun4v/include/tick.h#2 integrate
.. //depot/projects/smpng/sys/sun4v/include/vmparam.h#7 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/clock.c#4 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/intr_machdep.c#11 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#11 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/tick.c#4 integrate
.. //depot/projects/smpng/sys/sys/conf.h#66 integrate
.. //depot/projects/smpng/sys/sys/imgact.h#20 integrate
.. //depot/projects/smpng/sys/sys/imgact_elf.h#17 integrate
.. //depot/projects/smpng/sys/sys/ktr.h#30 integrate
.. //depot/projects/smpng/sys/sys/malloc.h#30 integrate
.. //depot/projects/smpng/sys/sys/param.h#164 integrate
.. //depot/projects/smpng/sys/sys/pcpu.h#35 integrate
.. //depot/projects/smpng/sys/sys/vnode.h#110 integrate
.. //depot/projects/smpng/sys/vm/device_pager.c#32 integrate
.. //depot/projects/smpng/sys/vm/vm_init.c#19 integrate
.. //depot/projects/smpng/sys/vm/vm_mmap.c#85 integrate
.. //depot/projects/smpng/sys/vm/vm_phys.c#10 integrate
.. //depot/projects/smpng/sys/vm/vm_phys.h#6 integrate
.. //depot/projects/smpng/sys/x86/acpica/srat.c#1 branch
.. //depot/projects/smpng/sys/x86/x86/local_apic.c#4 integrate
.. //depot/projects/smpng/sys/x86/x86/mca.c#3 integrate

Differences ...

==== //depot/projects/smpng/share/man/man9/DEVICE_PROBE.9#3 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/DEVICE_PROBE.9,v 1.23 2010/02/27 01:17:44 delphij Exp $
+.\" $FreeBSD: src/share/man/man9/DEVICE_PROBE.9,v 1.24 2010/07/31 10:01:15 joel Exp $
 .\"
 .Dd March 3, 2008
 .Dt DEVICE_PROBE 9
@@ -114,7 +114,7 @@
 return BUS_PROBE_DEFAULT.
 .It BUS_PROBE_GENERIC
 The driver matches the type of device generally.
-This allows drivers to match all serial ports generally, with sepcialized
+This allows drivers to match all serial ports generally, with specialized
 drivers matching particular types of serial ports that need special
 treatment for some reason.
 .It BUS_PROBE_HOOVER

==== //depot/projects/smpng/share/man/man9/VFS_VGET.9#3 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/VFS_VGET.9,v 1.19 2010/04/14 19:08:06 uqs Exp $
+.\" $FreeBSD: src/share/man/man9/VFS_VGET.9,v 1.20 2010/07/31 10:01:15 joel Exp $
 .\"
 .Dd January 7, 2005
 .Dt VFS_VGET 9
@@ -43,7 +43,7 @@
 .Sh DESCRIPTION
 The
 .Fn VFS_VGET
-looks up or creates a vnode from a (mount, inode#) tupple.
+looks up or creates a vnode from a (mount, inode#) tuple.
 .Pp
 Its arguments are:
 .Bl -tag -width ".Fa flags"

==== //depot/projects/smpng/share/man/man9/VOP_VPTOCNP.9#3 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/VOP_VPTOCNP.9,v 1.4 2010/04/14 19:08:06 uqs Exp $
+.\" $FreeBSD: src/share/man/man9/VOP_VPTOCNP.9,v 1.5 2010/07/31 12:14:28 joel Exp $
 .\"
 .Dd December 7, 2008
 .Dt VOP_VPTOCNP 9
@@ -50,7 +50,7 @@
 The vnode of the parent directory of
 .Fa vp .
 .It Fa buf
-The buffer into which to preprend the component name.
+The buffer into which to prepend the component name.
 .It Fa buflen
 The remaining size of the buffer.
 .El

==== //depot/projects/smpng/share/man/man9/bios.9#2 (text+ko) ====

@@ -1,4 +1,4 @@
-.\" $FreeBSD: src/share/man/man9/bios.9,v 1.16 2005/11/18 10:52:24 ru Exp $
+.\" $FreeBSD: src/share/man/man9/bios.9,v 1.17 2010/07/31 10:01:15 joel Exp $
 .\"
 .\" Copyright (c) 1997 Michael Smith
 .\" All rights reserved.
@@ -124,7 +124,7 @@
 .Fa maxlen
 bytes (including trailing
 .Ql \e0 ,
-and any trailing space surpressed).
+and any trailing space suppressed).
 If an error is encountered, i.e.\& trying to read out of said BIOS range,
 other invalid input, or
 .Fa buffer

==== //depot/projects/smpng/share/man/man9/ifnet.9#5 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/ifnet.9,v 1.57 2010/04/14 19:08:06 uqs Exp $
+.\" $FreeBSD: src/share/man/man9/ifnet.9,v 1.58 2010/07/27 08:45:29 simon Exp $
 .\"
 .Dd December 1, 2009
 .Dt IFNET 9
@@ -588,6 +588,31 @@
 .It Dv IFCAP_JUMBO_MTU
 This Ethernet interface can transmit and receive frames up to
 9000 bytes long.
+.It Dv IFCAP_TSO4
+This Ethernet interface supports TCP Segmentation offloading.
+.It Dv IFCAP_TSO6
+This Ethernet interface supports TCP6 Segmentation offloading.
+.It Dv IFCAP_TSO
+A shorthand for 
+.Pq Dv IFCAP_TSO4 | IFCAP_TSO6 .
+.It Dv IFCAP_TOE4
+This Ethernet interface supports TCP offloading.
+.It Dv IFCAP_TOE6
+This Ethernet interface supports TCP6 offloading.
+.It Dv ICAP_TOE
+A Shorthand for 
+.Pq Dv IFCAP_TOE4 | IFCAP_TOE6 .
+.It Dv IFCAP_WOL_UCAST
+This Ethernet interface supports waking up on any Unicast packet.
+.It Dv IFCAP_WOL_MCAST
+This Ethernet interface supports waking up on any Multicast packet.
+.It Dv IFCAP_WOL_MAGIC
+This Ethernet interface supports waking up on any Magic packet such
+as those sent by
+.Xr wake 8 .
+.It Dv IFCAP_WOL
+A shorthand for
+.Pq Dv IFCAP_WOL_UCAST | IFCAP_WOL_MCAST | IFCAP_WOL_MAGIC .
 .El
 .Pp
 The ability of advanced network interfaces to offload certain

==== //depot/projects/smpng/share/man/man9/kproc.9#3 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/kproc.9,v 1.4 2009/08/23 07:48:11 julian Exp $
+.\" $FreeBSD: src/share/man/man9/kproc.9,v 1.5 2010/07/31 10:01:15 joel Exp $
 .\"
 .Dd October 19, 2007
 .Dt KPROC 9
@@ -248,7 +248,7 @@
 pointer that is the location to be updated with the new proc pointer
 if a new process is created, or if not
 .Dv NULL ,
-must contain the process pointer for the already exisiting process.
+must contain the process pointer for the already existing process.
 If this argument points to
 .Dv NULL ,
 then a new process is created and the field updated.

==== //depot/projects/smpng/share/man/man9/locking.9#3 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/locking.9,v 1.19 2010/02/15 17:41:59 trasz Exp $
+.\" $FreeBSD: src/share/man/man9/locking.9,v 1.20 2010/07/31 12:14:28 joel Exp $
 .\"
 .Dd February 15, 2010
 .Dt LOCKING 9
@@ -53,12 +53,12 @@
 for the thread holding the lock, which runs on another CPU, to release it.
 Differently from ordinary mutex, spin mutexes disable interrupts when acquired.
 Since disabling interrupts is expensive, they are also generally slower.
-Spin mutexes should be used only when neccessary, e.g. to protect data shared
+Spin mutexes should be used only when necessary, e.g. to protect data shared
 with interrupt filter code (see
 .Xr bus_setup_intr 9
 for details).
 .Ss Pool mutexes
-With most synchronisaton primitives, such as mutexes, programmer must
+With most synchronization primitives, such as mutexes, programmer must
 provide a piece of allocated memory to hold the primitive.
 For example, a mutex may be embedded inside the structure it protects.
 Pool mutex is a variant of mutex without this requirement - to lock or unlock

==== //depot/projects/smpng/share/man/man9/make_dev.9#5 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/make_dev.9,v 1.29 2010/06/02 10:20:23 uqs Exp $
+.\" $FreeBSD: src/share/man/man9/make_dev.9,v 1.30 2010/08/01 21:54:25 pjd Exp $
 .\"
 .Dd May 6, 2010
 .Dt MAKE_DEV 9
@@ -244,7 +244,7 @@
 .Fn destroy_dev_sched
 function is the same as
 .Bd -literal -offset indent
-destroy_dev_sched(cdev, NULL, NULL);
+destroy_dev_sched_cb(cdev, NULL, NULL);
 .Ed
 .Pp
 The

==== //depot/projects/smpng/share/man/man9/netisr.9#5 (text+ko) ====

@@ -25,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/netisr.9,v 1.5 2010/02/22 16:02:17 rwatson Exp $
+.\" $FreeBSD: src/share/man/man9/netisr.9,v 1.6 2010/07/31 12:14:28 joel Exp $
 .\"
 .Dd February 22, 2010
 .Dt NETISR 9
@@ -173,7 +173,7 @@
 .Vt mbuf
 argument, but while
 .Fn netisr_queue
-will always execute the protocol handler asynchonously in a deferred
+will always execute the protocol handler asynchronously in a deferred
 context,
 .Fn netisr_dispatch
 will optionally direct dispatch if permitted by global and per-protocol

==== //depot/projects/smpng/share/man/man9/sglist.9#3 (text+ko) ====

@@ -24,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/sglist.9,v 1.3 2009/08/21 02:59:07 jhb Exp $
+.\" $FreeBSD: src/share/man/man9/sglist.9,v 1.4 2010/07/31 10:01:15 joel Exp $
 .\"
 .Dd May 15, 2009
 .Dt SGLIST 9
@@ -151,7 +151,7 @@
 .Pp
 The
 .Nm sglist_clone
-function returns a copy of an exising scatter/gather list object
+function returns a copy of an existing scatter/gather list object
 .Fa sg .
 The
 .Fa mflags

==== //depot/projects/smpng/share/man/man9/taskqueue.9#3 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.27 2009/08/18 13:55:48 pjd Exp $
+.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.29 2010/07/31 10:01:15 joel Exp $
 .\"
 .Dd August 18, 2009
 .Dt TASKQUEUE 9
@@ -64,10 +64,6 @@
 .Ft int
 .Fn taskqueue_enqueue_fast "struct taskqueue *queue" "struct task *task"
 .Ft void
-.Fn taskqueue_run "struct taskqueue *queue"
-.Ft void
-.Fn taskqueue_run_fast "struct taskqueue *queue"
-.Ft void
 .Fn taskqueue_drain "struct taskqueue *queue" "struct task *task"
 .Ft int
 .Fn taskqueue_member "struct taskqueue *queue" "struct thread *td"
@@ -143,12 +139,6 @@
 This method uses spin locks to avoid the possibility of sleeping in the fast
 interrupt context.
 .Pp
-To execute all the tasks on a queue,
-call
-.Fn taskqueue_run
-or
-.Fn taskqueue_run_fast
-depending on the flavour of the queue.
 When a task is executed,
 first it is removed from the queue,
 the value of
@@ -182,7 +172,7 @@
 .No 1
 if the given thread
 .Fa td
-is part of the given taskqeueue
+is part of the given taskqueue
 .Fa queue
 and
 .No 0

==== //depot/projects/smpng/share/man/man9/timeout.9#3 (text+ko) ====

@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/timeout.9,v 1.34 2010/03/02 21:50:36 joel Exp $
+.\" $FreeBSD: src/share/man/man9/timeout.9,v 1.35 2010/07/31 10:01:15 joel Exp $
 .\"
 .Dd August 2, 2008
 .Dt TIMEOUT 9
@@ -234,7 +234,7 @@
 .Pp
 The
 .Fn callout_init_rw
-function serves the need of using rwlocks in conujunction with callouts.
+function serves the need of using rwlocks in conjunction with callouts.
 The function does basically the same as
 .Fn callout_init_mtx
 with the possibility of specifying an extra
@@ -249,7 +249,7 @@
 .Bl -tag -width ".Dv CALLOUT_SHAREDLOCK"
 .It Dv CALLOUT_SHAREDLOCK
 The lock is only acquired in read mode when running the callout handler.
-It has no effects when used in conjuction with
+It has no effects when used in conjunction with
 .Fa mtx .
 .El
 .Pp

==== //depot/projects/smpng/share/man/man9/usbdi.9#6 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	$FreeBSD: src/share/man/man9/usbdi.9,v 1.6 2010/05/19 08:57:53 uqs Exp $
+.\"	$FreeBSD: src/share/man/man9/usbdi.9,v 1.7 2010/07/31 10:01:15 joel Exp $
 .Dd June 24, 2009
 .Dt USBDI 9
 .Os
@@ -294,7 +294,7 @@
 		/* 
 		 * Read	usb frame data, if any.
 		 * "actlen" has the total length for all frames
-		 * transfered.
+		 * transferred.
 		 */
 		break;
 

==== //depot/projects/smpng/sys/amd64/acpica/acpi_switch.S#4 (text+ko) ====

@@ -1,7 +1,7 @@
 /*-
  * Copyright (c) 2001 Takanori Watanabe <takawata@jp.freebsd.org>
  * Copyright (c) 2001 Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
- * Copyright (c) 2008-2009 Jung-uk Kim <jkim@FreeBSD.org>
+ * Copyright (c) 2008-2010 Jung-uk Kim <jkim@FreeBSD.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/acpica/acpi_switch.S,v 1.5 2009/12/08 22:38:42 jkim Exp $
+ * $FreeBSD: src/sys/amd64/acpica/acpi_switch.S,v 1.10 2010/08/03 16:08:58 jkim Exp $
  */
 
 #include <machine/asmacros.h>
@@ -34,14 +34,11 @@
 #include "acpi_wakedata.h"
 #include "assym.s"
 
-#define	WAKEUP_CTX(member)	wakeup_ ## member - wakeup_ctx(%rdi)
-#define	WAKEUP_PCB(member)	PCB_ ## member(%r11)
-#define	WAKEUP_XPCB(member)	XPCB_ ## member(%r11)
+#define	WAKEUP_CTX(member)	wakeup_ ## member - wakeup_ctx(%rsi)
 
 ENTRY(acpi_restorecpu)
 	/* Switch to KPML4phys. */
-	movq	%rsi, %rax
-	movq	%rax, %cr3
+	movq	%rdi, %cr3
 
 	/* Restore GDT. */
 	lgdt	WAKEUP_CTX(gdt)
@@ -49,7 +46,7 @@
 1:
 
 	/* Fetch PCB. */
-	movq	WAKEUP_CTX(xpcb), %r11
+	movq	WAKEUP_CTX(pcb), %rdi
 
 	/* Force kernel segment registers. */
 	movl	$KDSEL, %eax
@@ -62,16 +59,16 @@
 	movw	%ax, %gs
 
 	movl	$MSR_FSBASE, %ecx
-	movl	WAKEUP_PCB(FSBASE), %eax
-	movl	4 + WAKEUP_PCB(FSBASE), %edx
+	movl	PCB_FSBASE(%rdi), %eax
+	movl	4 + PCB_FSBASE(%rdi), %edx
 	wrmsr
 	movl	$MSR_GSBASE, %ecx
-	movl	WAKEUP_PCB(GSBASE), %eax
-	movl	4 + WAKEUP_PCB(GSBASE), %edx
+	movl	PCB_GSBASE(%rdi), %eax
+	movl	4 + PCB_GSBASE(%rdi), %edx
 	wrmsr
 	movl	$MSR_KGSBASE, %ecx
-	movl	WAKEUP_XPCB(KGSBASE), %eax
-	movl	4 + WAKEUP_XPCB(KGSBASE), %edx
+	movl	PCB_KGSBASE(%rdi), %eax
+	movl	4 + PCB_KGSBASE(%rdi), %edx
 	wrmsr
 
 	/* Restore EFER. */
@@ -102,17 +99,21 @@
 	movl	WAKEUP_CTX(sfmask), %eax
 	wrmsr
 
-	/* Restore CR0, CR2 and CR4. */
-	movq	WAKEUP_XPCB(CR0), %rax
+	/* Restore CR0 except for FPU mode. */
+	movq	PCB_CR0(%rdi), %rax
+	movq	%rax, %rcx
+	andq	$~(CR0_EM | CR0_TS), %rax
 	movq	%rax, %cr0
-	movq	WAKEUP_XPCB(CR2), %rax
+
+	/* Restore CR2 and CR4. */
+	movq	PCB_CR2(%rdi), %rax
 	movq	%rax, %cr2
-	movq	WAKEUP_XPCB(CR4), %rax
+	movq	PCB_CR4(%rdi), %rax
 	movq	%rax, %cr4
 
 	/* Restore descriptor tables. */
-	lidt	WAKEUP_XPCB(IDT)
-	lldt	WAKEUP_XPCB(LDT)
+	lidt	PCB_IDT(%rdi)
+	lldt	PCB_LDT(%rdi)
 
 #define	SDT_SYSTSS	9
 #define	SDT_SYSBSY	11
@@ -120,37 +121,44 @@
 	/* Clear "task busy" bit and reload TR. */
 	movq	PCPU(TSS), %rax
 	andb	$(~SDT_SYSBSY | SDT_SYSTSS), 5(%rax)
-	movw	WAKEUP_XPCB(TR), %ax
+	movw	PCB_TR(%rdi), %ax
 	ltr	%ax
 
 #undef	SDT_SYSTSS
 #undef	SDT_SYSBSY
 
 	/* Restore other callee saved registers. */
-	movq	WAKEUP_PCB(R15), %r15
-	movq	WAKEUP_PCB(R14), %r14
-	movq	WAKEUP_PCB(R13), %r13
-	movq	WAKEUP_PCB(R12), %r12
-	movq	WAKEUP_PCB(RBP), %rbp
-	movq	WAKEUP_PCB(RSP), %rsp
-	movq	WAKEUP_PCB(RBX), %rbx
+	movq	PCB_R15(%rdi), %r15
+	movq	PCB_R14(%rdi), %r14
+	movq	PCB_R13(%rdi), %r13
+	movq	PCB_R12(%rdi), %r12
+	movq	PCB_RBP(%rdi), %rbp
+	movq	PCB_RSP(%rdi), %rsp
+	movq	PCB_RBX(%rdi), %rbx
 
 	/* Restore debug registers. */
-	movq	WAKEUP_PCB(DR0), %rax
+	movq	PCB_DR0(%rdi), %rax
 	movq	%rax, %dr0
-	movq	WAKEUP_PCB(DR1), %rax
+	movq	PCB_DR1(%rdi), %rax
 	movq	%rax, %dr1
-	movq	WAKEUP_PCB(DR2), %rax
+	movq	PCB_DR2(%rdi), %rax
 	movq	%rax, %dr2
-	movq	WAKEUP_PCB(DR3), %rax
+	movq	PCB_DR3(%rdi), %rax
 	movq	%rax, %dr3
-	movq	WAKEUP_PCB(DR6), %rax
+	movq	PCB_DR6(%rdi), %rax
 	movq	%rax, %dr6
-	movq	WAKEUP_PCB(DR7), %rax
+	movq	PCB_DR7(%rdi), %rax
 	movq	%rax, %dr7
 
+	/* Restore FPU state. */
+	fninit
+	fxrstor	PCB_USERFPU(%rdi)
+
+	/* Reload CR0. */
+	movq	%rcx, %cr0
+
 	/* Restore return address. */
-	movq	WAKEUP_PCB(RIP), %rax
+	movq	PCB_RIP(%rdi), %rax
 	movq	%rax, (%rsp)
 
 	/* Indicate the CPU is resumed. */
@@ -159,19 +167,3 @@
 
 	ret
 END(acpi_restorecpu)
-
-ENTRY(acpi_savecpu)
-	/* Fetch XPCB and save CPU context. */
-	movq	%rdi, %r10
-	call	savectx2
-	movq	%r10, %r11
-
-	/* Patch caller's return address and stack pointer. */
-	movq	(%rsp), %rax
-	movq	%rax, WAKEUP_PCB(RIP)
-	movq	%rsp, %rax
-	movq	%rax, WAKEUP_PCB(RSP)
-
-	movl	$1, %eax
-	ret
-END(acpi_savecpu)

==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#7 (text+ko) ====

@@ -2,7 +2,7 @@
  * Copyright (c) 2001 Takanori Watanabe <takawata@jp.freebsd.org>
  * Copyright (c) 2001 Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
  * Copyright (c) 2003 Peter Wemm
- * Copyright (c) 2008-2009 Jung-uk Kim <jkim@FreeBSD.org>
+ * Copyright (c) 2008-2010 Jung-uk Kim <jkim@FreeBSD.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.6 2010/07/12 21:08:35 jkim Exp $
+ * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.8 2010/08/03 15:32:08 jkim Exp $
  */
 
 #include <machine/asmacros.h>
@@ -210,8 +210,8 @@
 	mov	%ax, %ds
 
 	/* Restore arguments and return. */
-	movq	wakeup_ctx - wakeup_start(%rbx), %rdi
-	movq	wakeup_kpml4 - wakeup_start(%rbx), %rsi
+	movq	wakeup_kpml4 - wakeup_start(%rbx), %rdi
+	movq	wakeup_ctx - wakeup_start(%rbx), %rsi
 	movq	wakeup_retaddr - wakeup_start(%rbx), %rax
 	jmp	*%rax
 
@@ -265,7 +265,7 @@
 
 wakeup_ctx:
 	.quad	0
-wakeup_xpcb:
+wakeup_pcb:
 	.quad	0
 wakeup_gdt:
 	.word	0

==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#13 (text+ko) ====

@@ -2,7 +2,7 @@
  * Copyright (c) 2001 Takanori Watanabe <takawata@jp.freebsd.org>
  * Copyright (c) 2001 Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
  * Copyright (c) 2003 Peter Wemm
- * Copyright (c) 2008-2009 Jung-uk Kim <jkim@FreeBSD.org>
+ * Copyright (c) 2008-2010 Jung-uk Kim <jkim@FreeBSD.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.31 2010/06/15 18:51:41 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.33 2010/08/02 17:35:00 jkim Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -66,13 +66,12 @@
 extern int		acpi_reset_video;
 
 #ifdef SMP
-extern struct xpcb	**stopxpcbs;
+extern struct pcb	**susppcbs;
 #else
-static struct xpcb	**stopxpcbs;
+static struct pcb	**susppcbs;
 #endif
 
-int			acpi_restorecpu(struct xpcb *, vm_offset_t);
-int			acpi_savecpu(struct xpcb *);
+int			acpi_restorecpu(struct pcb *, vm_offset_t);
 
 static void		*acpi_alloc_wakeup_handler(void);
 static void		acpi_stop_beep(void *);
@@ -105,10 +104,10 @@
 	int		apic_id = cpu_apic_ids[cpu];
 	int		ms;
 
-	WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[cpu]);
-	WAKECODE_FIXUP(wakeup_gdt, uint16_t, stopxpcbs[cpu]->xpcb_gdt.rd_limit);
+	WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[cpu]);
+	WAKECODE_FIXUP(wakeup_gdt, uint16_t, susppcbs[cpu]->pcb_gdt.rd_limit);
 	WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t,
-	    stopxpcbs[cpu]->xpcb_gdt.rd_base);
+	    susppcbs[cpu]->pcb_gdt.rd_base);
 	WAKECODE_FIXUP(wakeup_cpu, int, cpu);
 
 	/* do an INIT IPI: assert RESET */
@@ -216,7 +215,6 @@
 int
 acpi_sleep_machdep(struct acpi_softc *sc, int state)
 {
-	struct savefpu	*stopfpu;
 #ifdef SMP
 	cpumask_t	wakeup_cpus;
 #endif
@@ -246,10 +244,7 @@
 	cr3 = rcr3();
 	load_cr3(KPML4phys);
 
-	stopfpu = &stopxpcbs[0]->xpcb_pcb.pcb_user_save;
-	if (acpi_savecpu(stopxpcbs[0])) {
-		fpugetregs(curthread, stopfpu);
-
+	if (savectx(susppcbs[0])) {
 #ifdef SMP
 		if (wakeup_cpus != 0 && suspend_cpus(wakeup_cpus) == 0) {
 			device_printf(sc->acpi_dev,
@@ -262,11 +257,11 @@
 		WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0));
 		WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0));
 
-		WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[0]);
+		WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[0]);
 		WAKECODE_FIXUP(wakeup_gdt, uint16_t,
-		    stopxpcbs[0]->xpcb_gdt.rd_limit);
+		    susppcbs[0]->pcb_gdt.rd_limit);
 		WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t,
-		    stopxpcbs[0]->xpcb_gdt.rd_base);
+		    susppcbs[0]->pcb_gdt.rd_base);
 		WAKECODE_FIXUP(wakeup_cpu, int, 0);
 
 		/* Call ACPICA to enter the desired sleep state */
@@ -285,7 +280,6 @@
 		for (;;)
 			ia32_pause();
 	} else {
-		fpusetregs(curthread, stopfpu);
 #ifdef SMP
 		if (wakeup_cpus != 0)
 			acpi_wakeup_cpus(sc, wakeup_cpus);
@@ -337,9 +331,9 @@
 		printf("%s: can't alloc wake memory\n", __func__);
 		return (NULL);
 	}
-	stopxpcbs = malloc(mp_ncpus * sizeof(*stopxpcbs), M_DEVBUF, M_WAITOK);
+	susppcbs = malloc(mp_ncpus * sizeof(*susppcbs), M_DEVBUF, M_WAITOK);
 	for (i = 0; i < mp_ncpus; i++)
-		stopxpcbs[i] = malloc(sizeof(**stopxpcbs), M_DEVBUF, M_WAITOK);
+		susppcbs[i] = malloc(sizeof(**susppcbs), M_DEVBUF, M_WAITOK);
 
 	return (wakeaddr);
 }

==== //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#29 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.172 2010/07/12 19:59:15 kib Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.177 2010/08/03 15:32:08 jkim Exp $
  */
 
 #include <machine/asmacros.h>
@@ -302,121 +302,65 @@
  * Update pcb, saving current processor state.
  */
 ENTRY(savectx)
-	/* Fetch PCB. */
-	movq	%rdi,%rcx
-
 	/* Save caller's return address. */
 	movq	(%rsp),%rax
-	movq	%rax,PCB_RIP(%rcx)
+	movq	%rax,PCB_RIP(%rdi)
 
-	movq	%cr3,%rax
-	movq	%rax,PCB_CR3(%rcx)
+	movq	%rbx,PCB_RBX(%rdi)
+	movq	%rsp,PCB_RSP(%rdi)
+	movq	%rbp,PCB_RBP(%rdi)
+	movq	%r12,PCB_R12(%rdi)
+	movq	%r13,PCB_R13(%rdi)
+	movq	%r14,PCB_R14(%rdi)
+	movq	%r15,PCB_R15(%rdi)
 
-	movq	%rbx,PCB_RBX(%rcx)
-	movq	%rsp,PCB_RSP(%rcx)
-	movq	%rbp,PCB_RBP(%rcx)
-	movq	%r12,PCB_R12(%rcx)
-	movq	%r13,PCB_R13(%rcx)
-	movq	%r14,PCB_R14(%rcx)
-	movq	%r15,PCB_R15(%rcx)
-
-	/*
-	 * If fpcurthread == NULL, then the fpu h/w state is irrelevant and the
-	 * state had better already be in the pcb.  This is true for forks
-	 * but not for dumps (the old book-keeping with FP flags in the pcb
-	 * always lost for dumps because the dump pcb has 0 flags).
-	 *
-	 * If fpcurthread != NULL, then we have to save the fpu h/w state to
-	 * fpcurthread's pcb and copy it to the requested pcb, or save to the
-	 * requested pcb and reload.  Copying is easier because we would
-	 * have to handle h/w bugs for reloading.  We used to lose the
-	 * parent's fpu state for forks by forgetting to reload.
-	 */

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008061524.o76FOWhq005579>