PERFORCE change 181953 for review
John Baldwin
jhb at FreeBSD.org
Fri Aug 6 15:24:34 UTC 2010
http://p4web.freebsd.org/@@181953?ac=10
Change 181953 by jhb at 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 at jp.freebsd.org>
* Copyright (c) 2001 Mitsuru IWASAKI <iwasaki at jp.freebsd.org>
- * Copyright (c) 2008-2009 Jung-uk Kim <jkim at FreeBSD.org>
+ * Copyright (c) 2008-2010 Jung-uk Kim <jkim at 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 at jp.freebsd.org>
* Copyright (c) 2001 Mitsuru IWASAKI <iwasaki at jp.freebsd.org>
* Copyright (c) 2003 Peter Wemm
- * Copyright (c) 2008-2009 Jung-uk Kim <jkim at FreeBSD.org>
+ * Copyright (c) 2008-2010 Jung-uk Kim <jkim at 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 at jp.freebsd.org>
* Copyright (c) 2001 Mitsuru IWASAKI <iwasaki at jp.freebsd.org>
* Copyright (c) 2003 Peter Wemm
- * Copyright (c) 2008-2009 Jung-uk Kim <jkim at FreeBSD.org>
+ * Copyright (c) 2008-2010 Jung-uk Kim <jkim at 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) <<<
More information about the p4-projects
mailing list