From owner-p4-projects@FreeBSD.ORG Fri Aug 6 15:24:34 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA2781065676; Fri, 6 Aug 2010 15:24:33 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ADF45106564A for ; Fri, 6 Aug 2010 15:24:33 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7ECB88FC13 for ; Fri, 6 Aug 2010 15:24:33 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o76FOX8v005581 for ; Fri, 6 Aug 2010 15:24:33 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o76FOWhq005579 for perforce@freebsd.org; Fri, 6 Aug 2010 15:24:32 GMT (envelope-from jhb@freebsd.org) Date: Fri, 6 Aug 2010 15:24:32 GMT Message-Id: <201008061524.o76FOWhq005579@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181953 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 15:24:34 -0000 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 * Copyright (c) 2001 Mitsuru IWASAKI - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * 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 @@ -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 * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * 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 @@ -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 * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,7 +28,7 @@ */ #include -__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 #include @@ -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 @@ -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) <<<