Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Aug 2010 21:52:39 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r211656 - in user/imp/tbemd/sys: amd64/acpica amd64/amd64 amd64/conf amd64/ia32 amd64/include amd64/linux32 arm/arm arm/at91 arm/conf arm/include arm/mv arm/mv/discovery arm/mv/kirkwood...
Message-ID:  <201008222152.o7MLqdVg017639@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: imp
Date: Sun Aug 22 21:52:38 2010
New Revision: 211656
URL: http://svn.freebsd.org/changeset/base/211656

Log:
  Merge to head @211636 -- with hand tweaks [given up] hoping for the best

Added:
  user/imp/tbemd/sys/arm/at91/at91_aicreg.h
     - copied unchanged from r211636, head/sys/arm/at91/at91_aicreg.h
  user/imp/tbemd/sys/arm/at91/at91_pio_sam9.h
     - copied unchanged from r211636, head/sys/arm/at91/at91_pio_sam9.h
  user/imp/tbemd/sys/arm/at91/at91_pit.c
     - copied unchanged from r211636, head/sys/arm/at91/at91_pit.c
  user/imp/tbemd/sys/arm/at91/at91_pitreg.h
     - copied unchanged from r211636, head/sys/arm/at91/at91_pitreg.h
  user/imp/tbemd/sys/arm/at91/at91sam9.c
     - copied unchanged from r211636, head/sys/arm/at91/at91sam9.c
  user/imp/tbemd/sys/arm/at91/at91sam9_machdep.c
     - copied unchanged from r211636, head/sys/arm/at91/at91sam9_machdep.c
  user/imp/tbemd/sys/arm/at91/at91sam9g20reg.h
     - copied unchanged from r211636, head/sys/arm/at91/at91sam9g20reg.h
  user/imp/tbemd/sys/arm/at91/board_hl201.c
     - copied unchanged from r211636, head/sys/arm/at91/board_hl201.c
  user/imp/tbemd/sys/arm/at91/files.at91sam9
     - copied unchanged from r211636, head/sys/arm/at91/files.at91sam9
  user/imp/tbemd/sys/arm/at91/if_macb.c
     - copied unchanged from r211636, head/sys/arm/at91/if_macb.c
  user/imp/tbemd/sys/arm/at91/if_macbreg.h
     - copied unchanged from r211636, head/sys/arm/at91/if_macbreg.h
  user/imp/tbemd/sys/arm/at91/if_macbvar.h
     - copied unchanged from r211636, head/sys/arm/at91/if_macbvar.h
  user/imp/tbemd/sys/arm/at91/std.at91sam9
     - copied unchanged from r211636, head/sys/arm/at91/std.at91sam9
  user/imp/tbemd/sys/arm/at91/std.hl201
     - copied unchanged from r211636, head/sys/arm/at91/std.hl201
  user/imp/tbemd/sys/arm/conf/HL201
     - copied unchanged from r211636, head/sys/arm/conf/HL201
  user/imp/tbemd/sys/arm/conf/HL201.hints
     - copied unchanged from r211636, head/sys/arm/conf/HL201.hints
  user/imp/tbemd/sys/arm/include/fdt.h
     - copied unchanged from r211636, head/sys/arm/include/fdt.h
  user/imp/tbemd/sys/arm/include/ofw_machdep.h
     - copied unchanged from r211636, head/sys/arm/include/ofw_machdep.h
  user/imp/tbemd/sys/arm/s3c2xx0/s3c24x0_rtc.c
     - copied unchanged from r211636, head/sys/arm/s3c2xx0/s3c24x0_rtc.c
  user/imp/tbemd/sys/boot/ofw/libofw/ppc64_elf_freebsd.c
     - copied unchanged from r211636, head/sys/boot/ofw/libofw/ppc64_elf_freebsd.c
  user/imp/tbemd/sys/boot/zfs/zfstest.c
     - copied unchanged from r211636, head/sys/boot/zfs/zfstest.c
  user/imp/tbemd/sys/cddl/compat/opensolaris/kern/opensolaris_uio.c
     - copied unchanged from r211636, head/sys/cddl/compat/opensolaris/kern/opensolaris_uio.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/common/atomic/powerpc64/
     - copied from r211636, head/sys/cddl/contrib/opensolaris/common/atomic/powerpc64/
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h
     - copied unchanged from r211636, head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/intel/dtrace/
     - copied from r211636, head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/sparc/dtrace/
     - copied from r211636, head/sys/cddl/contrib/opensolaris/uts/sparc/dtrace/
  user/imp/tbemd/sys/cddl/dev/dtrace/amd64/regset.h
     - copied unchanged from r211636, head/sys/cddl/dev/dtrace/amd64/regset.h
  user/imp/tbemd/sys/cddl/dev/dtrace/i386/regset.h
     - copied unchanged from r211636, head/sys/cddl/dev/dtrace/i386/regset.h
  user/imp/tbemd/sys/conf/ldscript.mips.64
     - copied unchanged from r211636, head/sys/conf/ldscript.mips.64
  user/imp/tbemd/sys/conf/ldscript.mips.n32
     - copied unchanged from r211636, head/sys/conf/ldscript.mips.n32
  user/imp/tbemd/sys/conf/ldscript.powerpc64
     - copied unchanged from r211636, head/sys/conf/ldscript.powerpc64
  user/imp/tbemd/sys/crypto/aesni/
     - copied from r211636, head/sys/crypto/aesni/
Deleted:
  user/imp/tbemd/sys/amd64/acpica/Makefile
  user/imp/tbemd/sys/amd64/acpica/genwakecode.sh
  user/imp/tbemd/sys/amd64/acpica/genwakedata.sh
  user/imp/tbemd/sys/arm/include/bootinfo.h
  user/imp/tbemd/sys/arm/mv/discovery/db78xxx.c
  user/imp/tbemd/sys/arm/mv/kirkwood/db88f6xxx.c
  user/imp/tbemd/sys/arm/mv/kirkwood/files.db88f6xxx
  user/imp/tbemd/sys/arm/mv/obio.c
Modified:
  user/imp/tbemd/sys/amd64/acpica/acpi_switch.S
  user/imp/tbemd/sys/amd64/acpica/acpi_wakecode.S
  user/imp/tbemd/sys/amd64/acpica/acpi_wakeup.c
  user/imp/tbemd/sys/amd64/acpica/madt.c
  user/imp/tbemd/sys/amd64/amd64/apic_vector.S
  user/imp/tbemd/sys/amd64/amd64/cpu_switch.S
  user/imp/tbemd/sys/amd64/amd64/exception.S
  user/imp/tbemd/sys/amd64/amd64/fpu.c
  user/imp/tbemd/sys/amd64/amd64/genassym.c
  user/imp/tbemd/sys/amd64/amd64/identcpu.c
  user/imp/tbemd/sys/amd64/amd64/initcpu.c
  user/imp/tbemd/sys/amd64/amd64/intr_machdep.c
  user/imp/tbemd/sys/amd64/amd64/legacy.c
  user/imp/tbemd/sys/amd64/amd64/machdep.c
  user/imp/tbemd/sys/amd64/amd64/mp_machdep.c
  user/imp/tbemd/sys/amd64/amd64/mptable_pci.c
  user/imp/tbemd/sys/amd64/amd64/pmap.c
  user/imp/tbemd/sys/amd64/amd64/support.S
  user/imp/tbemd/sys/amd64/amd64/trap.c
  user/imp/tbemd/sys/amd64/amd64/tsc.c
  user/imp/tbemd/sys/amd64/amd64/vm_machdep.c
  user/imp/tbemd/sys/amd64/conf/GENERIC
  user/imp/tbemd/sys/amd64/conf/GENERIC.hints
  user/imp/tbemd/sys/amd64/conf/NOTES
  user/imp/tbemd/sys/amd64/ia32/ia32_exception.S
  user/imp/tbemd/sys/amd64/ia32/ia32_signal.c
  user/imp/tbemd/sys/amd64/ia32/ia32_syscall.c
  user/imp/tbemd/sys/amd64/include/apicvar.h
  user/imp/tbemd/sys/amd64/include/asmacros.h
  user/imp/tbemd/sys/amd64/include/clock.h
  user/imp/tbemd/sys/amd64/include/cpu.h
  user/imp/tbemd/sys/amd64/include/elf.h
  user/imp/tbemd/sys/amd64/include/mca.h
  user/imp/tbemd/sys/amd64/include/param.h
  user/imp/tbemd/sys/amd64/include/pcb.h
  user/imp/tbemd/sys/amd64/include/pcpu.h
  user/imp/tbemd/sys/amd64/include/pmap.h
  user/imp/tbemd/sys/amd64/include/segments.h
  user/imp/tbemd/sys/amd64/include/smp.h
  user/imp/tbemd/sys/amd64/include/specialreg.h
  user/imp/tbemd/sys/amd64/include/vmparam.h
  user/imp/tbemd/sys/amd64/linux32/linux32_machdep.c
  user/imp/tbemd/sys/amd64/linux32/linux32_proto.h
  user/imp/tbemd/sys/amd64/linux32/linux32_syscall.h
  user/imp/tbemd/sys/amd64/linux32/linux32_sysent.c
  user/imp/tbemd/sys/amd64/linux32/linux32_sysvec.c
  user/imp/tbemd/sys/amd64/linux32/syscalls.master
  user/imp/tbemd/sys/arm/arm/machdep.c
  user/imp/tbemd/sys/arm/arm/nexus.c
  user/imp/tbemd/sys/arm/arm/pmap.c
  user/imp/tbemd/sys/arm/at91/at91_pmc.c
  user/imp/tbemd/sys/arm/at91/at91_pmcreg.h
  user/imp/tbemd/sys/arm/conf/DB-78XXX
  user/imp/tbemd/sys/arm/conf/DB-88F5XXX
  user/imp/tbemd/sys/arm/conf/DB-88F6XXX
  user/imp/tbemd/sys/arm/conf/SHEEVAPLUG
  user/imp/tbemd/sys/arm/include/elf.h
  user/imp/tbemd/sys/arm/include/metadata.h
  user/imp/tbemd/sys/arm/include/pmap.h
  user/imp/tbemd/sys/arm/include/vmparam.h
  user/imp/tbemd/sys/arm/mv/bus_space.c
  user/imp/tbemd/sys/arm/mv/common.c
  user/imp/tbemd/sys/arm/mv/discovery/discovery.c
  user/imp/tbemd/sys/arm/mv/discovery/files.db78xxx
  user/imp/tbemd/sys/arm/mv/discovery/std.db78xxx
  user/imp/tbemd/sys/arm/mv/files.mv
  user/imp/tbemd/sys/arm/mv/gpio.c
  user/imp/tbemd/sys/arm/mv/ic.c
  user/imp/tbemd/sys/arm/mv/kirkwood/kirkwood.c
  user/imp/tbemd/sys/arm/mv/kirkwood/sheevaplug.c
  user/imp/tbemd/sys/arm/mv/kirkwood/std.db88f6xxx
  user/imp/tbemd/sys/arm/mv/kirkwood/std.sheevaplug
  user/imp/tbemd/sys/arm/mv/mv_machdep.c
  user/imp/tbemd/sys/arm/mv/mv_pci.c
  user/imp/tbemd/sys/arm/mv/mv_sata.c
  user/imp/tbemd/sys/arm/mv/mvreg.h
  user/imp/tbemd/sys/arm/mv/mvvar.h
  user/imp/tbemd/sys/arm/mv/mvwin.h
  user/imp/tbemd/sys/arm/mv/orion/db88f5xxx.c
  user/imp/tbemd/sys/arm/mv/orion/orion.c
  user/imp/tbemd/sys/arm/mv/orion/std.db88f5xxx
  user/imp/tbemd/sys/arm/mv/rtc.c
  user/imp/tbemd/sys/arm/mv/timer.c
  user/imp/tbemd/sys/arm/mv/twsi.c
  user/imp/tbemd/sys/arm/s3c2xx0/files.s3c2xx0
  user/imp/tbemd/sys/arm/s3c2xx0/s3c24x0.c
  user/imp/tbemd/sys/arm/s3c2xx0/s3c24x0_machdep.c
  user/imp/tbemd/sys/arm/s3c2xx0/s3c24x0reg.h
  user/imp/tbemd/sys/arm/s3c2xx0/s3c2xx0_space.c
  user/imp/tbemd/sys/arm/s3c2xx0/s3c2xx0var.h
  user/imp/tbemd/sys/boot/Makefile
  user/imp/tbemd/sys/boot/arm/uboot/Makefile
  user/imp/tbemd/sys/boot/common/Makefile.inc
  user/imp/tbemd/sys/boot/common/load_elf_obj.c
  user/imp/tbemd/sys/boot/common/loader.8
  user/imp/tbemd/sys/boot/fdt/Makefile
  user/imp/tbemd/sys/boot/fdt/dts/mpc8555cds.dts
  user/imp/tbemd/sys/boot/ficl/Makefile
  user/imp/tbemd/sys/boot/ficl/ficl.h
  user/imp/tbemd/sys/boot/forth/loader.conf
  user/imp/tbemd/sys/boot/i386/boot2/Makefile
  user/imp/tbemd/sys/boot/i386/loader/Makefile
  user/imp/tbemd/sys/boot/i386/pxeldr/Makefile
  user/imp/tbemd/sys/boot/ia64/common/exec.c
  user/imp/tbemd/sys/boot/ia64/efi/version
  user/imp/tbemd/sys/boot/ofw/Makefile.inc
  user/imp/tbemd/sys/boot/ofw/libofw/Makefile
  user/imp/tbemd/sys/boot/ofw/libofw/libofw.h
  user/imp/tbemd/sys/boot/pc98/loader/Makefile
  user/imp/tbemd/sys/boot/powerpc/Makefile.inc
  user/imp/tbemd/sys/boot/powerpc/boot1.chrp/Makefile
  user/imp/tbemd/sys/boot/powerpc/ofw/Makefile
  user/imp/tbemd/sys/boot/powerpc/ofw/conf.c
  user/imp/tbemd/sys/boot/powerpc/ofw/ldscript.powerpc
  user/imp/tbemd/sys/boot/powerpc/ofw/metadata.c
  user/imp/tbemd/sys/boot/powerpc/uboot/Makefile
  user/imp/tbemd/sys/boot/powerpc/uboot/ldscript.powerpc
  user/imp/tbemd/sys/boot/uboot/Makefile.inc
  user/imp/tbemd/sys/boot/uboot/common/metadata.c
  user/imp/tbemd/sys/boot/zfs/zfsimpl.c
  user/imp/tbemd/sys/cam/ata/ata_da.c
  user/imp/tbemd/sys/cam/ata/ata_xpt.c
  user/imp/tbemd/sys/cam/cam.c
  user/imp/tbemd/sys/cam/cam_ccb.h
  user/imp/tbemd/sys/cam/cam_xpt.c
  user/imp/tbemd/sys/cam/scsi/scsi_all.h
  user/imp/tbemd/sys/cam/scsi/scsi_cd.c
  user/imp/tbemd/sys/cam/scsi/scsi_da.c
  user/imp/tbemd/sys/cam/scsi/scsi_target.c
  user/imp/tbemd/sys/cddl/boot/zfs/zfsimpl.h
  user/imp/tbemd/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
  user/imp/tbemd/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c
  user/imp/tbemd/sys/cddl/compat/opensolaris/sys/misc.h
  user/imp/tbemd/sys/cddl/compat/opensolaris/sys/policy.h
  user/imp/tbemd/sys/cddl/compat/opensolaris/sys/sid.h
  user/imp/tbemd/sys/cddl/compat/opensolaris/sys/uio.h
  user/imp/tbemd/sys/cddl/compat/opensolaris/sys/vnode.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zprop_common.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_deleg.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_prop.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ctldir.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_dir.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_fuid.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/fm/fs/zfs.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/sysevent/eventdefs.h
  user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h
  user/imp/tbemd/sys/cddl/dev/cyclic/cyclic.c
  user/imp/tbemd/sys/cddl/dev/dtrace/amd64/dtrace_isa.c
  user/imp/tbemd/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
  user/imp/tbemd/sys/cddl/dev/dtrace/amd64/instr_size.c
  user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_cddl.h
  user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_debug.c
  user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_ioctl.c
  user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_load.c
  user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_unload.c
  user/imp/tbemd/sys/cddl/dev/dtrace/i386/dtrace_isa.c
  user/imp/tbemd/sys/cddl/dev/dtrace/i386/dtrace_subr.c
  user/imp/tbemd/sys/cddl/dev/dtrace/i386/instr_size.c
  user/imp/tbemd/sys/cddl/dev/systrace/systrace.c
  user/imp/tbemd/sys/compat/freebsd32/freebsd32.h
  user/imp/tbemd/sys/compat/freebsd32/freebsd32_misc.c
  user/imp/tbemd/sys/compat/freebsd32/freebsd32_proto.h
  user/imp/tbemd/sys/compat/freebsd32/freebsd32_signal.h
  user/imp/tbemd/sys/compat/freebsd32/freebsd32_syscall.h
  user/imp/tbemd/sys/compat/freebsd32/freebsd32_syscalls.c
  user/imp/tbemd/sys/compat/freebsd32/freebsd32_sysent.c
  user/imp/tbemd/sys/compat/freebsd32/freebsd32_util.h
  user/imp/tbemd/sys/compat/freebsd32/syscalls.master
  user/imp/tbemd/sys/compat/linprocfs/linprocfs.c
  user/imp/tbemd/sys/compat/linux/linux_signal.c
  user/imp/tbemd/sys/compat/ndis/subr_usbd.c
  user/imp/tbemd/sys/compat/svr4/svr4_filio.c
  user/imp/tbemd/sys/compat/svr4/svr4_proto.h
  user/imp/tbemd/sys/compat/svr4/svr4_syscall.h
  user/imp/tbemd/sys/compat/svr4/svr4_syscallnames.c
  user/imp/tbemd/sys/compat/svr4/svr4_sysent.c
  user/imp/tbemd/sys/compat/x86bios/x86bios.c
  user/imp/tbemd/sys/compat/x86bios/x86bios.h
  user/imp/tbemd/sys/conf/Makefile.arm
  user/imp/tbemd/sys/conf/Makefile.powerpc
  user/imp/tbemd/sys/conf/NOTES
  user/imp/tbemd/sys/conf/files
  user/imp/tbemd/sys/conf/files.amd64
  user/imp/tbemd/sys/conf/files.arm
  user/imp/tbemd/sys/conf/files.i386
  user/imp/tbemd/sys/conf/files.mips
  user/imp/tbemd/sys/conf/files.pc98
  user/imp/tbemd/sys/conf/files.powerpc
  user/imp/tbemd/sys/conf/files.sparc64
  user/imp/tbemd/sys/conf/files.sun4v
  user/imp/tbemd/sys/conf/kern.mk
  user/imp/tbemd/sys/conf/kern.pre.mk
  user/imp/tbemd/sys/conf/kmod.mk
  user/imp/tbemd/sys/conf/ldscript.mips.octeon1.32
  user/imp/tbemd/sys/conf/makeLINT.mk
  user/imp/tbemd/sys/conf/options
  user/imp/tbemd/sys/conf/options.amd64
  user/imp/tbemd/sys/conf/options.arm
  user/imp/tbemd/sys/conf/options.mips
  user/imp/tbemd/sys/conf/options.powerpc
Directory Properties:
  user/imp/tbemd/sys/amd64/include/xen/   (props changed)
  user/imp/tbemd/sys/cddl/contrib/opensolaris/   (props changed)

Modified: user/imp/tbemd/sys/amd64/acpica/acpi_switch.S
==============================================================================
--- user/imp/tbemd/sys/amd64/acpica/acpi_switch.S	Sun Aug 22 21:47:34 2010	(r211655)
+++ user/imp/tbemd/sys/amd64/acpica/acpi_switch.S	Sun Aug 22 21:52:38 2010	(r211656)
@@ -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
@@ -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 @@ ENTRY(acpi_restorecpu)
 1:
 
 	/* Fetch PCB. */
-	movq	WAKEUP_CTX(xpcb), %r11
+	movq	WAKEUP_CTX(pcb), %rdi
 
 	/* Force kernel segment registers. */
 	movl	$KDSEL, %eax
@@ -62,16 +59,16 @@ ENTRY(acpi_restorecpu)
 	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 @@ ENTRY(acpi_restorecpu)
 	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 @@ ENTRY(acpi_restorecpu)
 	/* 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 @@ ENTRY(acpi_restorecpu)
 
 	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)

Modified: user/imp/tbemd/sys/amd64/acpica/acpi_wakecode.S
==============================================================================
--- user/imp/tbemd/sys/amd64/acpica/acpi_wakecode.S	Sun Aug 22 21:47:34 2010	(r211655)
+++ user/imp/tbemd/sys/amd64/acpica/acpi_wakecode.S	Sun Aug 22 21:52:38 2010	(r211656)
@@ -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
@@ -29,8 +29,6 @@
  * $FreeBSD$
  */
 
-#define LOCORE
-
 #include <machine/asmacros.h>
 #include <machine/specialreg.h>
 
@@ -212,8 +210,8 @@ wakeup_64:
 	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
 
@@ -267,7 +265,7 @@ wakeup_kpml4:
 
 wakeup_ctx:
 	.quad	0
-wakeup_xpcb:
+wakeup_pcb:
 	.quad	0
 wakeup_gdt:
 	.word	0

Modified: user/imp/tbemd/sys/amd64/acpica/acpi_wakeup.c
==============================================================================
--- user/imp/tbemd/sys/amd64/acpica/acpi_wakeup.c	Sun Aug 22 21:47:34 2010	(r211655)
+++ user/imp/tbemd/sys/amd64/acpica/acpi_wakeup.c	Sun Aug 22 21:52:38 2010	(r211656)
@@ -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
@@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$");
 #include <vm/pmap.h>
 
 #include <machine/intr_machdep.h>
+#include <machine/mca.h>
 #include <machine/pcb.h>
 #include <machine/pmap.h>
 #include <machine/specialreg.h>
@@ -65,13 +66,12 @@ extern int		acpi_resume_beep;
 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(vm_offset_t, struct pcb *);
 
 static void		*acpi_alloc_wakeup_handler(void);
 static void		acpi_stop_beep(void *);
@@ -104,10 +104,10 @@ acpi_wakeup_ap(struct acpi_softc *sc, in
 	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 */
@@ -176,7 +176,6 @@ static void
 acpi_wakeup_cpus(struct acpi_softc *sc, cpumask_t wakeup_cpus)
 {
 	uint32_t	mpbioswarmvec;
-	cpumask_t	map;
 	int		cpu;
 	u_char		mpbiosreason;
 
@@ -193,8 +192,7 @@ acpi_wakeup_cpus(struct acpi_softc *sc, 
 
 	/* Wake up each AP. */
 	for (cpu = 1; cpu < mp_ncpus; cpu++) {
-		map = 1ul << cpu;
-		if ((wakeup_cpus & map) != map)
+		if ((wakeup_cpus & (1 << cpu)) == 0)
 			continue;
 		if (acpi_wakeup_ap(sc, cpu) == 0) {
 			/* restore the warmstart vector */
@@ -215,7 +213,6 @@ acpi_wakeup_cpus(struct acpi_softc *sc, 
 int
 acpi_sleep_machdep(struct acpi_softc *sc, int state)
 {
-	struct savefpu	*stopfpu;
 #ifdef SMP
 	cpumask_t	wakeup_cpus;
 #endif
@@ -245,10 +242,7 @@ acpi_sleep_machdep(struct acpi_softc *sc
 	cr3 = rcr3();
 	load_cr3(KPML4phys);
 
-	stopfpu = stopxpcbs[0]->xpcb_pcb.pcb_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,
@@ -261,11 +255,11 @@ acpi_sleep_machdep(struct acpi_softc *sc
 		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 */
@@ -284,7 +278,8 @@ acpi_sleep_machdep(struct acpi_softc *sc
 		for (;;)
 			ia32_pause();
 	} else {
-		fpusetregs(curthread, stopfpu);
+		PCPU_SET(switchtime, 0);
+		PCPU_SET(switchticks, ticks);
 #ifdef SMP
 		if (wakeup_cpus != 0)
 			acpi_wakeup_cpus(sc, wakeup_cpus);
@@ -300,6 +295,7 @@ out:
 #endif
 
 	load_cr3(cr3);
+	mca_resume();
 	intr_resume();
 	intr_restore(rf);
 
@@ -335,9 +331,9 @@ acpi_alloc_wakeup_handler(void)
 		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);
 }

Modified: user/imp/tbemd/sys/amd64/acpica/madt.c
==============================================================================
--- user/imp/tbemd/sys/amd64/acpica/madt.c	Sun Aug 22 21:47:34 2010	(r211655)
+++ user/imp/tbemd/sys/amd64/acpica/madt.c	Sun Aug 22 21:52:38 2010	(r211656)
@@ -557,9 +557,7 @@ madt_set_ids(void *dummy)
 
 	if (madt == NULL)
 		return;
-	for (i = 0; i < MAXCPU; i++) {
-		if (CPU_ABSENT(i))
-			continue;
+	CPU_FOREACH(i) {
 		pc = pcpu_find(i);
 		KASSERT(pc != NULL, ("no pcpu data for CPU %u", i));
 		la = &lapics[pc->pc_apic_id];

Modified: user/imp/tbemd/sys/amd64/amd64/apic_vector.S
==============================================================================
--- user/imp/tbemd/sys/amd64/amd64/apic_vector.S	Sun Aug 22 21:47:34 2010	(r211655)
+++ user/imp/tbemd/sys/amd64/amd64/apic_vector.S	Sun Aug 22 21:52:38 2010	(r211656)
@@ -36,6 +36,8 @@
  * as well as IPI handlers.
  */
 
+#include "opt_smp.h"
+
 #include <machine/asmacros.h>
 #include <machine/apicreg.h>
 
@@ -135,6 +137,19 @@ IDTVEC(errorint)
 	.text
 	SUPERALIGN_TEXT
 IDTVEC(invltlb)
+#if defined(COUNT_XINVLTLB_HITS) || defined(COUNT_IPIS)
+	PUSH_FRAME
+	movl	PCPU(CPUID), %eax
+#ifdef COUNT_XINVLTLB_HITS
+	incl	xhits_gbl(,%rax,4)
+#endif
+#ifdef COUNT_IPIS
+	movq	ipi_invltlb_counts(,%rax,8),%rax
+	incq	(%rax)
+#endif
+	POP_FRAME
+#endif
+
 	pushq	%rax
 
 	movq	%cr3, %rax		/* invalidate the TLB */
@@ -155,6 +170,19 @@ IDTVEC(invltlb)
 	.text
 	SUPERALIGN_TEXT
 IDTVEC(invlpg)
+#if defined(COUNT_XINVLTLB_HITS) || defined(COUNT_IPIS)
+	PUSH_FRAME
+	movl	PCPU(CPUID), %eax
+#ifdef COUNT_XINVLTLB_HITS
+	incl	xhits_pg(,%rax,4)
+#endif
+#ifdef COUNT_IPIS
+	movq	ipi_invlpg_counts(,%rax,8),%rax
+	incq	(%rax)
+#endif
+	POP_FRAME
+#endif
+
 	pushq	%rax
 
 	movq	smp_tlb_addr1, %rax
@@ -175,6 +203,19 @@ IDTVEC(invlpg)
 	.text
 	SUPERALIGN_TEXT
 IDTVEC(invlrng)
+#if defined(COUNT_XINVLTLB_HITS) || defined(COUNT_IPIS)
+	PUSH_FRAME
+	movl	PCPU(CPUID), %eax
+#ifdef COUNT_XINVLTLB_HITS
+	incl	xhits_rng(,%rax,4)
+#endif
+#ifdef COUNT_IPIS
+	movq	ipi_invlrng_counts(,%rax,8),%rax
+	incq	(%rax)
+#endif
+	POP_FRAME
+#endif
+
 	pushq	%rax
 	pushq	%rdx
 
@@ -201,6 +242,14 @@ IDTVEC(invlrng)
 	.text
 	SUPERALIGN_TEXT
 IDTVEC(invlcache)
+#ifdef COUNT_IPIS
+	PUSH_FRAME
+	movl	PCPU(CPUID), %eax
+	movq	ipi_invlcache_counts(,%rax,8),%rax
+	incq	(%rax)
+	POP_FRAME
+#endif
+
 	pushq	%rax
 
 	wbinvd
@@ -270,6 +319,11 @@ IDTVEC(cpususpend)
 	SUPERALIGN_TEXT
 IDTVEC(rendezvous)
 	PUSH_FRAME
+#ifdef COUNT_IPIS
+	movl	PCPU(CPUID), %eax
+	movq	ipi_rendezvous_counts(,%rax,8), %rax
+	incq	(%rax)
+#endif
 	call	smp_rendezvous_action
 	movq	lapic, %rax
 	movl	$0, LA_EOI(%rax)	/* End Of Interrupt to APIC */

Modified: user/imp/tbemd/sys/amd64/amd64/cpu_switch.S
==============================================================================
--- user/imp/tbemd/sys/amd64/amd64/cpu_switch.S	Sun Aug 22 21:47:34 2010	(r211655)
+++ user/imp/tbemd/sys/amd64/amd64/cpu_switch.S	Sun Aug 22 21:52:38 2010	(r211656)
@@ -69,16 +69,13 @@
  * %rsi = newtd
  */
 ENTRY(cpu_throw)
+	movl	PCPU(CPUID),%eax
 	testq	%rdi,%rdi
-	jnz	1f
-	movq	PCPU(IDLETHREAD),%rdi
-1:
-	movq	TD_PCB(%rdi),%r8		/* Old pcb */
-	movl	PCPU(CPUID), %eax
+	jz	1f
 	/* release bit from old pm_active */
-	movq	TD_PROC(%rdi), %rdx		/* oldtd->td_proc */
-	movq	P_VMSPACE(%rdx), %rdx		/* proc->p_vmspace */
-	LK btrl	%eax, VM_PMAP+PM_ACTIVE(%rdx)	/* clear old */
+	movq	PCPU(CURPMAP),%rdx
+	LK btrl	%eax,PM_ACTIVE(%rdx)		/* clear old */
+1:
 	movq	TD_PCB(%rsi),%r8		/* newtd->td_proc */
 	movq	PCB_CR3(%r8),%rdx
 	movq	%rdx,%cr3			/* new address space */
@@ -140,15 +137,16 @@ swinact:
 	movq	%rcx,%cr3			/* new address space */
 	movl	PCPU(CPUID), %eax
 	/* Release bit from old pmap->pm_active */
-	movq	TD_PROC(%rdi), %rcx		/* oldproc */
-	movq	P_VMSPACE(%rcx), %rcx
-	LK btrl	%eax, VM_PMAP+PM_ACTIVE(%rcx)	/* clear old */
+	movq	PCPU(CURPMAP),%rcx
+	LK btrl	%eax,PM_ACTIVE(%rcx)		/* clear old */
 	SETLK	%rdx, TD_LOCK(%rdi)		/* Release the old thread */
 swact:
 	/* Set bit in new pmap->pm_active */
 	movq	TD_PROC(%rsi),%rdx		/* newproc */
 	movq	P_VMSPACE(%rdx), %rdx
-	LK btsl	%eax, VM_PMAP+PM_ACTIVE(%rdx)	/* set new */
+	addq	$VM_PMAP,%rdx
+	LK btsl	%eax,PM_ACTIVE(%rdx)		/* set new */
+	movq	%rdx,PCPU(CURPMAP)
 
 sw1:
 #if defined(SCHED_ULE) && defined(SMP)
@@ -245,13 +243,13 @@ store_dr:
 	movq	%dr2,%r13
 	movq	%dr3,%r12
 	movq	%dr6,%r11
-	andq	$0x0000fc00, %rax		/* disable all watchpoints */
 	movq	%r15,PCB_DR0(%r8)
 	movq	%r14,PCB_DR1(%r8)
 	movq	%r13,PCB_DR2(%r8)
 	movq	%r12,PCB_DR3(%r8)
 	movq	%r11,PCB_DR6(%r8)
 	movq	%rax,PCB_DR7(%r8)
+	andq	$0x0000fc00, %rax		/* disable all watchpoints */
 	movq	%rax,%dr7
 	jmp	done_store_dr
 
@@ -304,121 +302,65 @@ END(cpu_switch)
  * 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	%cr3,%rax
-	movq	%rax,PCB_CR3(%rcx)
-
-	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.
-	 */
-	pushfq
-	cli
-	movq	PCPU(FPCURTHREAD),%rax
-	testq	%rax,%rax
-	je	1f
+	movq	%rax,PCB_RIP(%rdi)
 
-	movq	TD_PCB(%rax),%rdi
-	movq	PCB_SAVEFPU(%rdi),%rdi
-	clts
-	fxsave	(%rdi)
-	smsw	%ax
-	orb	$CR0_TS,%al
-	lmsw	%ax
+	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	$PCB_SAVEFPU_SIZE,%rdx	/* arg 3 */
-	movq	PCB_SAVEFPU(%rcx),%rsi	/* arg 2 */
-	/* arg 1 (%rdi) already loaded */
-	call	bcopy
-1:
-	popfq
-
-	ret
-END(savectx)
-
-/*
- * savectx2(xpcb)
- * Update xpcb, saving current processor state.
- */
-ENTRY(savectx2)
-	/* Fetch XPCB. */
-	movq	%rdi,%r8
-
-	/* Save caller's return address. */
-	movq	(%rsp),%rax
-	movq	%rax,PCB_RIP(%r8)
-
-	movq	%rbx,PCB_RBX(%r8)
-	movq	%rsp,PCB_RSP(%r8)
-	movq	%rbp,PCB_RBP(%r8)
-	movq	%r12,PCB_R12(%r8)
-	movq	%r13,PCB_R13(%r8)
-	movq	%r14,PCB_R14(%r8)
-	movq	%r15,PCB_R15(%r8)
-
-	movq	%cr0,%rax
-	movq	%rax,XPCB_CR0(%r8)
+	movq	%cr0,%rsi
+	movq	%rsi,PCB_CR0(%rdi)
 	movq	%cr2,%rax
-	movq	%rax,XPCB_CR2(%r8)
+	movq	%rax,PCB_CR2(%rdi)
+	movq	%cr3,%rax
+	movq	%rax,PCB_CR3(%rdi)
 	movq	%cr4,%rax
-	movq	%rax,XPCB_CR4(%r8)
+	movq	%rax,PCB_CR4(%rdi)
 
 	movq	%dr0,%rax
-	movq	%rax,PCB_DR0(%r8)
+	movq	%rax,PCB_DR0(%rdi)
 	movq	%dr1,%rax
-	movq	%rax,PCB_DR1(%r8)
+	movq	%rax,PCB_DR1(%rdi)
 	movq	%dr2,%rax
-	movq	%rax,PCB_DR2(%r8)
+	movq	%rax,PCB_DR2(%rdi)
 	movq	%dr3,%rax
-	movq	%rax,PCB_DR3(%r8)
+	movq	%rax,PCB_DR3(%rdi)
 	movq	%dr6,%rax
-	movq	%rax,PCB_DR6(%r8)
+	movq	%rax,PCB_DR6(%rdi)
 	movq	%dr7,%rax
-	movq	%rax,PCB_DR7(%r8)
-
-	sgdt	XPCB_GDT(%r8)
-	sidt	XPCB_IDT(%r8)
-	sldt	XPCB_LDT(%r8)
-	str	XPCB_TR(%r8)
+	movq	%rax,PCB_DR7(%rdi)
 
 	movl	$MSR_FSBASE,%ecx
 	rdmsr
 	shlq	$32,%rdx
 	leaq	(%rax,%rdx),%rax
-	movq	%rax,PCB_FSBASE(%r8)
+	movq	%rax,PCB_FSBASE(%rdi)
 	movl	$MSR_GSBASE,%ecx
 	rdmsr
 	shlq	$32,%rdx
 	leaq	(%rax,%rdx),%rax
-	movq	%rax,PCB_GSBASE(%r8)
+	movq	%rax,PCB_GSBASE(%rdi)
 	movl	$MSR_KGSBASE,%ecx
 	rdmsr
 	shlq	$32,%rdx
 	leaq	(%rax,%rdx),%rax
-	movq	%rax,XPCB_KGSBASE(%r8)
+	movq	%rax,PCB_KGSBASE(%rdi)
+
+	sgdt	PCB_GDT(%rdi)
+	sidt	PCB_IDT(%rdi)
+	sldt	PCB_LDT(%rdi)
+	str	PCB_TR(%rdi)
 
-	movl	$1, %eax
+	clts
+	fxsave	PCB_USERFPU(%rdi)
+	movq	%rsi,%cr0	/* The previous %cr0 is saved in %rsi. */
+
+	movl	$1,%eax
 	ret
-END(savectx2)
+END(savectx)

Modified: user/imp/tbemd/sys/amd64/amd64/exception.S
==============================================================================
--- user/imp/tbemd/sys/amd64/amd64/exception.S	Sun Aug 22 21:47:34 2010	(r211655)
+++ user/imp/tbemd/sys/amd64/amd64/exception.S	Sun Aug 22 21:52:38 2010	(r211656)
@@ -191,6 +191,7 @@ alltraps_pushregs_no_rdi:
 	movq	%r14,TF_R14(%rsp)
 	movq	%r15,TF_R15(%rsp)
 	movl	$TF_HASSEGS,TF_FLAGS(%rsp)
+	cld
 	FAKE_MCOUNT(TF_RIP(%rsp))
 #ifdef KDTRACE_HOOKS
 	/*
@@ -270,6 +271,7 @@ IDTVEC(dblfault)
 	movw	%es,TF_ES(%rsp)
 	movw	%ds,TF_DS(%rsp)
 	movl	$TF_HASSEGS,TF_FLAGS(%rsp)
+	cld
 	testb	$SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */
 	jz	1f			/* already running with kernel GS.base */
 	swapgs
@@ -369,6 +371,7 @@ IDTVEC(fast_syscall)
 	movq	%r14,TF_R14(%rsp)	/* C preserved */
 	movq	%r15,TF_R15(%rsp)	/* C preserved */
 	movl	$TF_HASSEGS,TF_FLAGS(%rsp)
+	cld
 	FAKE_MCOUNT(TF_RIP(%rsp))
 	movq	%rsp,%rdi
 	call	syscall
@@ -434,6 +437,7 @@ IDTVEC(nmi)
 	movw	%es,TF_ES(%rsp)
 	movw	%ds,TF_DS(%rsp)
 	movl	$TF_HASSEGS,TF_FLAGS(%rsp)
+	cld
 	xorl	%ebx,%ebx
 	testb	$SEL_RPL_MASK,TF_CS(%rsp)
 	jnz	nmi_fromuserspace

Modified: user/imp/tbemd/sys/amd64/amd64/fpu.c
==============================================================================
--- user/imp/tbemd/sys/amd64/amd64/fpu.c	Sun Aug 22 21:47:34 2010	(r211655)
+++ user/imp/tbemd/sys/amd64/amd64/fpu.c	Sun Aug 22 21:52:38 2010	(r211656)
@@ -65,27 +65,29 @@ __FBSDID("$FreeBSD$");
 
 #if defined(__GNUCLIKE_ASM) && !defined(lint)
 
-#define	fldcw(addr)		__asm("fldcw %0" : : "m" (*(addr)))
-#define	fnclex()		__asm("fnclex")
-#define	fninit()		__asm("fninit")
+#define	fldcw(cw)		__asm __volatile("fldcw %0" : : "m" (cw))
+#define	fnclex()		__asm __volatile("fnclex")
+#define	fninit()		__asm __volatile("fninit")
 #define	fnstcw(addr)		__asm __volatile("fnstcw %0" : "=m" (*(addr)))
-#define	fnstsw(addr)		__asm __volatile("fnstsw %0" : "=m" (*(addr)))
-#define	fxrstor(addr)		__asm("fxrstor %0" : : "m" (*(addr)))
+#define	fnstsw(addr)		__asm __volatile("fnstsw %0" : "=am" (*(addr)))
+#define	fxrstor(addr)		__asm __volatile("fxrstor %0" : : "m" (*(addr)))
 #define	fxsave(addr)		__asm __volatile("fxsave %0" : "=m" (*(addr)))
-#define	ldmxcsr(r)		__asm __volatile("ldmxcsr %0" : : "m" (r))
-#define	start_emulating()	__asm("smsw %%ax; orb %0,%%al; lmsw %%ax" \
-				      : : "n" (CR0_TS) : "ax")
-#define	stop_emulating()	__asm("clts")
+#define	ldmxcsr(csr)		__asm __volatile("ldmxcsr %0" : : "m" (csr))
+#define	start_emulating()	__asm __volatile( \
+				    "smsw %%ax; orb %0,%%al; lmsw %%ax" \
+				    : : "n" (CR0_TS) : "ax")
+#define	stop_emulating()	__asm __volatile("clts")
 
 #else	/* !(__GNUCLIKE_ASM && !lint) */
 
-void	fldcw(caddr_t addr);
+void	fldcw(u_short cw);
 void	fnclex(void);
 void	fninit(void);
 void	fnstcw(caddr_t addr);
 void	fnstsw(caddr_t addr);
 void	fxsave(caddr_t addr);
 void	fxrstor(caddr_t addr);
+void	ldmxcsr(u_int csr);
 void	start_emulating(void);
 void	stop_emulating(void);
 
@@ -115,11 +117,14 @@ fpuinit(void)
 	u_int mxcsr;
 	u_short control;
 
+	/*
+	 * It is too early for critical_enter() to work on AP.
+	 */
 	savecrit = intr_disable();
 	stop_emulating();
 	fninit();
 	control = __INITIAL_FPUCW__;
-	fldcw(&control);
+	fldcw(control);
 	mxcsr = __INITIAL_MXCSR__;
 	ldmxcsr(mxcsr);
 	if (PCPU_GET(cpuid) == 0) {
@@ -141,16 +146,15 @@ fpuinit(void)
 void
 fpuexit(struct thread *td)
 {
-	register_t savecrit;
 
-	savecrit = intr_disable();
+	critical_enter();
 	if (curthread == PCPU_GET(fpcurthread)) {
 		stop_emulating();
 		fxsave(PCPU_GET(curpcb)->pcb_save);
 		start_emulating();
 		PCPU_SET(fpcurthread, 0);
 	}
-	intr_restore(savecrit);
+	critical_exit();
 }
 
 int
@@ -351,10 +355,9 @@ static char fpetable[128] = {
 int
 fputrap()
 {
-	register_t savecrit;
 	u_short control, status;
 
-	savecrit = intr_disable();
+	critical_enter();
 
 	/*
 	 * Interrupt handling (for another interrupt) may have pushed the
@@ -371,7 +374,7 @@ fputrap()
 
 	if (PCPU_GET(fpcurthread) == curthread)
 		fnclex();
-	intr_restore(savecrit);
+	critical_exit();
 	return (fpetable[status & ((~control & 0x3f) | 0x40)]);
 }
 
@@ -389,12 +392,13 @@ void
 fpudna(void)
 {
 	struct pcb *pcb;
-	register_t s;
 
+	critical_enter();
 	if (PCPU_GET(fpcurthread) == curthread) {
 		printf("fpudna: fpcurthread == curthread %d times\n",
 		    ++err_count);
 		stop_emulating();
+		critical_exit();
 		return;
 	}
 	if (PCPU_GET(fpcurthread) != NULL) {
@@ -404,7 +408,6 @@ fpudna(void)
 		       curthread, curthread->td_proc->p_pid);
 		panic("fpudna");
 	}
-	s = intr_disable();
 	stop_emulating();
 	/*
 	 * Record new context early in case frstor causes a trap.
@@ -422,25 +425,23 @@ fpudna(void)
 		 */
 		fxrstor(&fpu_initialstate);
 		if (pcb->pcb_initial_fpucw != __INITIAL_FPUCW__)
-			fldcw(&pcb->pcb_initial_fpucw);
+			fldcw(pcb->pcb_initial_fpucw);
 		pcb->pcb_flags |= PCB_FPUINITDONE;
 		if (PCB_USER_FPU(pcb))
 			pcb->pcb_flags |= PCB_USERFPUINITDONE;
 	} else
 		fxrstor(pcb->pcb_save);
-	intr_restore(s);
+	critical_exit();
 }
 
-/*
- * This should be called with interrupts disabled and only when the owning
- * FPU thread is non-null.
- */
 void
 fpudrop()
 {
 	struct thread *td;
 
 	td = PCPU_GET(fpcurthread);
+	KASSERT(td == curthread, ("fpudrop: fpcurthread != curthread"));
+	CRITICAL_ASSERT(td);
 	PCPU_SET(fpcurthread, NULL);
 	td->td_pcb->pcb_flags &= ~PCB_FPUINITDONE;
 	start_emulating();
@@ -454,7 +455,6 @@ int
 fpugetuserregs(struct thread *td, struct savefpu *addr)
 {
 	struct pcb *pcb;
-	register_t s;
 
 	pcb = td->td_pcb;
 	if ((pcb->pcb_flags & PCB_USERFPUINITDONE) == 0) {
@@ -462,13 +462,13 @@ fpugetuserregs(struct thread *td, struct
 		addr->sv_env.en_cw = pcb->pcb_initial_fpucw;
 		return (_MC_FPOWNED_NONE);
 	}
-	s = intr_disable();
+	critical_enter();
 	if (td == PCPU_GET(fpcurthread) && PCB_USER_FPU(pcb)) {
 		fxsave(addr);
-		intr_restore(s);
+		critical_exit();
 		return (_MC_FPOWNED_FPU);
 	} else {
-		intr_restore(s);
+		critical_exit();
 		bcopy(&pcb->pcb_user_save, addr, sizeof(*addr));
 		return (_MC_FPOWNED_PCB);
 	}
@@ -478,7 +478,6 @@ int
 fpugetregs(struct thread *td, struct savefpu *addr)
 {
 	struct pcb *pcb;
-	register_t s;
 
 	pcb = td->td_pcb;
 	if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) {
@@ -486,13 +485,13 @@ fpugetregs(struct thread *td, struct sav
 		addr->sv_env.en_cw = pcb->pcb_initial_fpucw;
 		return (_MC_FPOWNED_NONE);
 	}
-	s = intr_disable();
+	critical_enter();
 	if (td == PCPU_GET(fpcurthread)) {
 		fxsave(addr);
-		intr_restore(s);
+		critical_exit();
 		return (_MC_FPOWNED_FPU);
 	} else {
-		intr_restore(s);
+		critical_exit();
 		bcopy(pcb->pcb_save, addr, sizeof(*addr));
 		return (_MC_FPOWNED_PCB);
 	}
@@ -505,16 +504,15 @@ void
 fpusetuserregs(struct thread *td, struct savefpu *addr)
 {
 	struct pcb *pcb;
-	register_t s;
 
 	pcb = td->td_pcb;
-	s = intr_disable();
+	critical_enter();
 	if (td == PCPU_GET(fpcurthread) && PCB_USER_FPU(pcb)) {
 		fxrstor(addr);
-		intr_restore(s);
+		critical_exit();
 		pcb->pcb_flags |= PCB_FPUINITDONE | PCB_USERFPUINITDONE;
 	} else {
-		intr_restore(s);
+		critical_exit();
 		bcopy(addr, &td->td_pcb->pcb_user_save, sizeof(*addr));
 		if (PCB_USER_FPU(pcb))
 			pcb->pcb_flags |= PCB_FPUINITDONE;
@@ -526,15 +524,14 @@ void
 fpusetregs(struct thread *td, struct savefpu *addr)
 {
 	struct pcb *pcb;
-	register_t s;
 
 	pcb = td->td_pcb;
-	s = intr_disable();
+	critical_enter();
 	if (td == PCPU_GET(fpcurthread)) {
 		fxrstor(addr);
-		intr_restore(s);
+		critical_exit();
 	} else {
-		intr_restore(s);
+		critical_exit();
 		bcopy(addr, td->td_pcb->pcb_save, sizeof(*addr));
 	}
 	if (PCB_USER_FPU(pcb))
@@ -652,13 +649,12 @@ int
 fpu_kern_leave(struct thread *td, struct fpu_kern_ctx *ctx)
 {
 	struct pcb *pcb;
-	register_t savecrit;
 
 	pcb = td->td_pcb;
-	savecrit = intr_disable();
+	critical_enter();
 	if (curthread == PCPU_GET(fpcurthread))
 		fpudrop();
-	intr_restore(savecrit);
+	critical_exit();
 	pcb->pcb_save = ctx->prev;
 	if (pcb->pcb_save == &pcb->pcb_user_save) {
 		if ((pcb->pcb_flags & PCB_USERFPUINITDONE) != 0)

Modified: user/imp/tbemd/sys/amd64/amd64/genassym.c
==============================================================================
--- user/imp/tbemd/sys/amd64/amd64/genassym.c	Sun Aug 22 21:47:34 2010	(r211655)
+++ user/imp/tbemd/sys/amd64/amd64/genassym.c	Sun Aug 22 21:52:38 2010	(r211656)
@@ -123,7 +123,7 @@ ASSYM(KERNBASE, KERNBASE);
 ASSYM(DMAP_MIN_ADDRESS, DMAP_MIN_ADDRESS);
 ASSYM(DMAP_MAX_ADDRESS, DMAP_MAX_ADDRESS);
 ASSYM(MCLBYTES, MCLBYTES);
-ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3));
+
 ASSYM(PCB_R15, offsetof(struct pcb, pcb_r15));
 ASSYM(PCB_R14, offsetof(struct pcb, pcb_r14));
 ASSYM(PCB_R13, offsetof(struct pcb, pcb_r13));
@@ -134,39 +134,35 @@ ASSYM(PCB_RBX, offsetof(struct pcb, pcb_
 ASSYM(PCB_RIP, offsetof(struct pcb, pcb_rip));
 ASSYM(PCB_FSBASE, offsetof(struct pcb, pcb_fsbase));
 ASSYM(PCB_GSBASE, offsetof(struct pcb, pcb_gsbase));
+ASSYM(PCB_KGSBASE, offsetof(struct pcb, pcb_kgsbase));
+ASSYM(PCB_CR0, offsetof(struct pcb, pcb_cr0));
+ASSYM(PCB_CR2, offsetof(struct pcb, pcb_cr2));
+ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3));
+ASSYM(PCB_CR4, offsetof(struct pcb, pcb_cr4));
 ASSYM(PCB_DR0, offsetof(struct pcb, pcb_dr0));
 ASSYM(PCB_DR1, offsetof(struct pcb, pcb_dr1));
 ASSYM(PCB_DR2, offsetof(struct pcb, pcb_dr2));
 ASSYM(PCB_DR3, offsetof(struct pcb, pcb_dr3));
 ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6));
 ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7));
+ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags));
+ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault));
+ASSYM(PCB_GS32SD, offsetof(struct pcb, pcb_gs32sd));
 ASSYM(PCB_TSSP, offsetof(struct pcb, pcb_tssp));
+ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save));
+ASSYM(PCB_SAVEFPU_SIZE, sizeof(struct savefpu));
 ASSYM(PCB_FULL_IRET, offsetof(struct pcb, pcb_full_iret));
+ASSYM(PCB_GDT, offsetof(struct pcb, pcb_gdt));
+ASSYM(PCB_IDT, offsetof(struct pcb, pcb_idt));
+ASSYM(PCB_LDT, offsetof(struct pcb, pcb_ldt));
+ASSYM(PCB_TR, offsetof(struct pcb, pcb_tr));
+ASSYM(PCB_USERFPU, offsetof(struct pcb, pcb_user_save));
+ASSYM(PCB_SIZE, sizeof(struct pcb));
 ASSYM(PCB_DBREGS, PCB_DBREGS);
 ASSYM(PCB_32BIT, PCB_32BIT);
 ASSYM(PCB_GS32BIT, PCB_GS32BIT);

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



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