Date: Tue, 6 Jul 2010 23:20:44 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r209750 - in projects/altix/sys: amd64/acpica amd64/amd64 amd64/conf amd64/ia32 amd64/include amd64/linux32 arm/arm arm/conf arm/include arm/mv arm/mv/discovery arm/mv/kirkwood arm/mv/o... Message-ID: <201007062320.o66NKip4013955@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: marcel Date: Tue Jul 6 23:20:43 2010 New Revision: 209750 URL: http://svn.freebsd.org/changeset/base/209750 Log: Merge svn+ssh://svn.freebsd.org/base/head@209749 Added: projects/altix/sys/arm/include/fdt.h - copied unchanged from r209749, head/sys/arm/include/fdt.h projects/altix/sys/arm/include/ofw_machdep.h - copied unchanged from r209749, head/sys/arm/include/ofw_machdep.h projects/altix/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h - copied unchanged from r209749, head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h projects/altix/sys/cddl/contrib/opensolaris/uts/intel/dtrace/ - copied from r209749, head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/ projects/altix/sys/cddl/contrib/opensolaris/uts/sparc/dtrace/ - copied from r209749, head/sys/cddl/contrib/opensolaris/uts/sparc/dtrace/ projects/altix/sys/conf/ldscript.mips.n32 - copied unchanged from r209749, head/sys/conf/ldscript.mips.n32 projects/altix/sys/contrib/dev/acpica/compiler/dtcompile.c - copied unchanged from r209749, head/sys/contrib/dev/acpica/compiler/dtcompile.c projects/altix/sys/contrib/dev/acpica/compiler/dtcompiler.h - copied unchanged from r209749, head/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/altix/sys/contrib/dev/acpica/compiler/dtfield.c - copied unchanged from r209749, head/sys/contrib/dev/acpica/compiler/dtfield.c projects/altix/sys/contrib/dev/acpica/compiler/dtio.c - copied unchanged from r209749, head/sys/contrib/dev/acpica/compiler/dtio.c projects/altix/sys/contrib/dev/acpica/compiler/dtsubtable.c - copied unchanged from r209749, head/sys/contrib/dev/acpica/compiler/dtsubtable.c projects/altix/sys/contrib/dev/acpica/compiler/dttable.c - copied unchanged from r209749, head/sys/contrib/dev/acpica/compiler/dttable.c projects/altix/sys/contrib/dev/acpica/compiler/dttemplate.c - copied unchanged from r209749, head/sys/contrib/dev/acpica/compiler/dttemplate.c projects/altix/sys/contrib/dev/acpica/compiler/dttemplate.h - copied unchanged from r209749, head/sys/contrib/dev/acpica/compiler/dttemplate.h projects/altix/sys/contrib/dev/acpica/compiler/dtutils.c - copied unchanged from r209749, head/sys/contrib/dev/acpica/compiler/dtutils.c projects/altix/sys/dev/acpi_support/atk0110.c - copied unchanged from r209749, head/sys/dev/acpi_support/atk0110.c projects/altix/sys/dev/e1000/e1000_mbx.c - copied unchanged from r209749, head/sys/dev/e1000/e1000_mbx.c projects/altix/sys/dev/e1000/e1000_mbx.h - copied unchanged from r209749, head/sys/dev/e1000/e1000_mbx.h projects/altix/sys/dev/e1000/e1000_vf.c - copied unchanged from r209749, head/sys/dev/e1000/e1000_vf.c projects/altix/sys/dev/e1000/e1000_vf.h - copied unchanged from r209749, head/sys/dev/e1000/e1000_vf.h projects/altix/sys/dev/fdt/fdt_arm.c - copied unchanged from r209749, head/sys/dev/fdt/fdt_arm.c projects/altix/sys/dev/usb/controller/ehci_mv.c - copied unchanged from r209749, head/sys/dev/usb/controller/ehci_mv.c projects/altix/sys/kern/kern_et.c - copied unchanged from r209749, head/sys/kern/kern_et.c projects/altix/sys/mips/conf/XLRN32 - copied unchanged from r209749, head/sys/mips/conf/XLRN32 projects/altix/sys/mips/include/tlb.h - copied unchanged from r209749, head/sys/mips/include/tlb.h projects/altix/sys/mips/mips/tlb.c - copied unchanged from r209749, head/sys/mips/mips/tlb.c projects/altix/sys/modules/acpi/aibs/ - copied from r209749, head/sys/modules/acpi/aibs/ projects/altix/sys/modules/siftr/ - copied from r209749, head/sys/modules/siftr/ projects/altix/sys/netinet/siftr.c - copied unchanged from r209749, head/sys/netinet/siftr.c projects/altix/sys/sys/timeet.h - copied unchanged from r209749, head/sys/sys/timeet.h projects/altix/sys/x86/x86/timeevents.c - copied unchanged from r209749, head/sys/x86/x86/timeevents.c Deleted: projects/altix/sys/arm/mv/discovery/db78xxx.c projects/altix/sys/arm/mv/kirkwood/db88f6xxx.c projects/altix/sys/arm/mv/kirkwood/files.db88f6xxx projects/altix/sys/arm/mv/obio.c projects/altix/sys/dev/uart/uart_bus_mbus.c projects/altix/sys/dev/uart/uart_cpu_mv.c projects/altix/sys/dev/usb/controller/ehci_mbus.c projects/altix/sys/powerpc/include/intr.h Modified: projects/altix/sys/amd64/acpica/acpi_wakeup.c projects/altix/sys/amd64/amd64/apic_vector.S projects/altix/sys/amd64/amd64/exception.S projects/altix/sys/amd64/amd64/fpu.c projects/altix/sys/amd64/amd64/intr_machdep.c projects/altix/sys/amd64/amd64/machdep.c projects/altix/sys/amd64/amd64/mp_machdep.c projects/altix/sys/amd64/amd64/vm_machdep.c projects/altix/sys/amd64/conf/NOTES projects/altix/sys/amd64/ia32/ia32_exception.S projects/altix/sys/amd64/ia32/ia32_signal.c projects/altix/sys/amd64/include/apicvar.h projects/altix/sys/amd64/include/asmacros.h projects/altix/sys/amd64/include/mca.h projects/altix/sys/amd64/include/segments.h projects/altix/sys/amd64/include/smp.h projects/altix/sys/amd64/linux32/linux32_sysent.c projects/altix/sys/arm/arm/machdep.c projects/altix/sys/arm/arm/nexus.c projects/altix/sys/arm/arm/pmap.c projects/altix/sys/arm/conf/DB-78XXX projects/altix/sys/arm/conf/DB-88F5XXX projects/altix/sys/arm/conf/DB-88F6XXX projects/altix/sys/arm/conf/SHEEVAPLUG projects/altix/sys/arm/include/metadata.h projects/altix/sys/arm/mv/bus_space.c projects/altix/sys/arm/mv/common.c projects/altix/sys/arm/mv/discovery/discovery.c projects/altix/sys/arm/mv/discovery/files.db78xxx projects/altix/sys/arm/mv/files.mv projects/altix/sys/arm/mv/gpio.c projects/altix/sys/arm/mv/ic.c projects/altix/sys/arm/mv/kirkwood/kirkwood.c projects/altix/sys/arm/mv/kirkwood/sheevaplug.c projects/altix/sys/arm/mv/kirkwood/std.db88f6xxx projects/altix/sys/arm/mv/kirkwood/std.sheevaplug projects/altix/sys/arm/mv/mv_machdep.c projects/altix/sys/arm/mv/mv_pci.c projects/altix/sys/arm/mv/mv_sata.c projects/altix/sys/arm/mv/mvreg.h projects/altix/sys/arm/mv/mvvar.h projects/altix/sys/arm/mv/mvwin.h projects/altix/sys/arm/mv/orion/db88f5xxx.c projects/altix/sys/arm/mv/orion/orion.c projects/altix/sys/arm/mv/rtc.c projects/altix/sys/arm/mv/timer.c projects/altix/sys/arm/mv/twsi.c projects/altix/sys/boot/arm/uboot/Makefile projects/altix/sys/boot/ficl/ficl.h projects/altix/sys/boot/forth/loader.conf projects/altix/sys/boot/i386/pxeldr/Makefile projects/altix/sys/boot/powerpc/uboot/Makefile projects/altix/sys/boot/uboot/common/metadata.c projects/altix/sys/cam/ata/ata_xpt.c projects/altix/sys/cam/cam_xpt.c projects/altix/sys/cam/scsi/scsi_all.h projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/altix/sys/compat/freebsd32/freebsd32_misc.c projects/altix/sys/compat/freebsd32/freebsd32_proto.h projects/altix/sys/compat/freebsd32/freebsd32_signal.h projects/altix/sys/compat/freebsd32/freebsd32_syscall.h projects/altix/sys/compat/freebsd32/freebsd32_syscalls.c projects/altix/sys/compat/freebsd32/freebsd32_sysent.c projects/altix/sys/compat/freebsd32/syscalls.master projects/altix/sys/compat/linux/linux_signal.c projects/altix/sys/compat/ndis/subr_usbd.c projects/altix/sys/compat/svr4/svr4_proto.h projects/altix/sys/compat/svr4/svr4_syscall.h projects/altix/sys/compat/svr4/svr4_syscallnames.c projects/altix/sys/compat/svr4/svr4_sysent.c projects/altix/sys/compat/x86bios/x86bios.c projects/altix/sys/compat/x86bios/x86bios.h projects/altix/sys/conf/Makefile.arm projects/altix/sys/conf/NOTES projects/altix/sys/conf/files projects/altix/sys/conf/files.amd64 projects/altix/sys/conf/files.arm projects/altix/sys/conf/files.i386 projects/altix/sys/conf/files.mips projects/altix/sys/conf/options.amd64 projects/altix/sys/conf/options.arm projects/altix/sys/contrib/dev/acpica/acpica_prep.sh projects/altix/sys/contrib/dev/acpica/changes.txt projects/altix/sys/contrib/dev/acpica/common/adisasm.c projects/altix/sys/contrib/dev/acpica/common/adwalk.c projects/altix/sys/contrib/dev/acpica/common/dmextern.c projects/altix/sys/contrib/dev/acpica/common/dmrestag.c projects/altix/sys/contrib/dev/acpica/common/dmtable.c projects/altix/sys/contrib/dev/acpica/common/dmtbdump.c projects/altix/sys/contrib/dev/acpica/common/dmtbinfo.c projects/altix/sys/contrib/dev/acpica/compiler/aslanalyze.c projects/altix/sys/contrib/dev/acpica/compiler/aslcompile.c projects/altix/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/altix/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/altix/sys/contrib/dev/acpica/compiler/aslcompiler.y projects/altix/sys/contrib/dev/acpica/compiler/asldefine.h projects/altix/sys/contrib/dev/acpica/compiler/aslerror.c projects/altix/sys/contrib/dev/acpica/compiler/aslfiles.c projects/altix/sys/contrib/dev/acpica/compiler/aslglobal.h projects/altix/sys/contrib/dev/acpica/compiler/asllookup.c projects/altix/sys/contrib/dev/acpica/compiler/aslmain.c projects/altix/sys/contrib/dev/acpica/compiler/aslopt.c projects/altix/sys/contrib/dev/acpica/compiler/aslpredef.c projects/altix/sys/contrib/dev/acpica/compiler/aslstartup.c projects/altix/sys/contrib/dev/acpica/compiler/asltransform.c projects/altix/sys/contrib/dev/acpica/compiler/asltree.c projects/altix/sys/contrib/dev/acpica/compiler/asltypes.h projects/altix/sys/contrib/dev/acpica/compiler/aslutils.c projects/altix/sys/contrib/dev/acpica/debugger/dbcmds.c projects/altix/sys/contrib/dev/acpica/debugger/dbdisply.c projects/altix/sys/contrib/dev/acpica/debugger/dbexec.c projects/altix/sys/contrib/dev/acpica/debugger/dbfileio.c projects/altix/sys/contrib/dev/acpica/debugger/dbhistry.c projects/altix/sys/contrib/dev/acpica/debugger/dbinput.c projects/altix/sys/contrib/dev/acpica/debugger/dbutils.c projects/altix/sys/contrib/dev/acpica/disassembler/dmobject.c projects/altix/sys/contrib/dev/acpica/disassembler/dmopcode.c projects/altix/sys/contrib/dev/acpica/disassembler/dmresrc.c projects/altix/sys/contrib/dev/acpica/dispatcher/dsinit.c projects/altix/sys/contrib/dev/acpica/dispatcher/dsmethod.c projects/altix/sys/contrib/dev/acpica/dispatcher/dsmthdat.c projects/altix/sys/contrib/dev/acpica/dispatcher/dsobject.c projects/altix/sys/contrib/dev/acpica/dispatcher/dsopcode.c projects/altix/sys/contrib/dev/acpica/dispatcher/dsutils.c projects/altix/sys/contrib/dev/acpica/events/evgpe.c projects/altix/sys/contrib/dev/acpica/events/evgpeblk.c projects/altix/sys/contrib/dev/acpica/events/evgpeinit.c projects/altix/sys/contrib/dev/acpica/events/evgpeutil.c projects/altix/sys/contrib/dev/acpica/events/evrgnini.c projects/altix/sys/contrib/dev/acpica/events/evxface.c projects/altix/sys/contrib/dev/acpica/events/evxfevnt.c projects/altix/sys/contrib/dev/acpica/executer/exdump.c projects/altix/sys/contrib/dev/acpica/executer/exfldio.c projects/altix/sys/contrib/dev/acpica/executer/exprep.c projects/altix/sys/contrib/dev/acpica/executer/exregion.c projects/altix/sys/contrib/dev/acpica/executer/exsystem.c projects/altix/sys/contrib/dev/acpica/hardware/hwgpe.c projects/altix/sys/contrib/dev/acpica/hardware/hwsleep.c projects/altix/sys/contrib/dev/acpica/hardware/hwvalid.c projects/altix/sys/contrib/dev/acpica/include/acconfig.h projects/altix/sys/contrib/dev/acpica/include/acdisasm.h projects/altix/sys/contrib/dev/acpica/include/acevents.h projects/altix/sys/contrib/dev/acpica/include/acexcep.h projects/altix/sys/contrib/dev/acpica/include/acglobal.h projects/altix/sys/contrib/dev/acpica/include/achware.h projects/altix/sys/contrib/dev/acpica/include/aclocal.h projects/altix/sys/contrib/dev/acpica/include/acnamesp.h projects/altix/sys/contrib/dev/acpica/include/acobject.h projects/altix/sys/contrib/dev/acpica/include/acoutput.h projects/altix/sys/contrib/dev/acpica/include/acpixf.h projects/altix/sys/contrib/dev/acpica/include/acpredef.h projects/altix/sys/contrib/dev/acpica/include/acstruct.h projects/altix/sys/contrib/dev/acpica/include/actbl.h projects/altix/sys/contrib/dev/acpica/include/actbl2.h projects/altix/sys/contrib/dev/acpica/include/actypes.h projects/altix/sys/contrib/dev/acpica/include/acutils.h projects/altix/sys/contrib/dev/acpica/namespace/nsaccess.c projects/altix/sys/contrib/dev/acpica/namespace/nsalloc.c projects/altix/sys/contrib/dev/acpica/namespace/nsdump.c projects/altix/sys/contrib/dev/acpica/namespace/nsinit.c projects/altix/sys/contrib/dev/acpica/namespace/nsnames.c projects/altix/sys/contrib/dev/acpica/namespace/nsparse.c projects/altix/sys/contrib/dev/acpica/namespace/nsrepair.c projects/altix/sys/contrib/dev/acpica/namespace/nsrepair2.c projects/altix/sys/contrib/dev/acpica/namespace/nssearch.c projects/altix/sys/contrib/dev/acpica/namespace/nsutils.c projects/altix/sys/contrib/dev/acpica/namespace/nswalk.c projects/altix/sys/contrib/dev/acpica/namespace/nsxfobj.c projects/altix/sys/contrib/dev/acpica/osunixxf.c projects/altix/sys/contrib/dev/acpica/utilities/utglobal.c projects/altix/sys/contrib/dev/acpica/utilities/utmisc.c projects/altix/sys/contrib/dev/acpica/utilities/uttrack.c projects/altix/sys/dev/acpica/acpi.c projects/altix/sys/dev/acpica/acpi_button.c projects/altix/sys/dev/acpica/acpi_cpu.c projects/altix/sys/dev/acpica/acpi_ec.c projects/altix/sys/dev/acpica/acpi_hpet.c projects/altix/sys/dev/acpica/acpi_hpet.h projects/altix/sys/dev/acpica/acpi_lid.c projects/altix/sys/dev/agp/agp_nvidia.c projects/altix/sys/dev/ata/ata-all.c projects/altix/sys/dev/ata/ata-all.h projects/altix/sys/dev/ata/ata-card.c projects/altix/sys/dev/ata/ata-disk.c projects/altix/sys/dev/ata/chipsets/ata-serverworks.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/altix/sys/dev/ath/if_ath.c projects/altix/sys/dev/bge/if_bge.c projects/altix/sys/dev/bwi/if_bwi.c projects/altix/sys/dev/cxgb/cxgb_adapter.h projects/altix/sys/dev/cxgb/cxgb_main.c projects/altix/sys/dev/cxgb/cxgb_sge.c projects/altix/sys/dev/cxgb/ulp/tom/cxgb_vm.c projects/altix/sys/dev/e1000/e1000_82575.h projects/altix/sys/dev/e1000/e1000_api.c projects/altix/sys/dev/e1000/e1000_api.h projects/altix/sys/dev/e1000/e1000_hw.h projects/altix/sys/dev/e1000/e1000_regs.h projects/altix/sys/dev/e1000/if_em.c projects/altix/sys/dev/e1000/if_igb.c projects/altix/sys/dev/e1000/if_igb.h projects/altix/sys/dev/e1000/if_lem.c projects/altix/sys/dev/fb/fbreg.h projects/altix/sys/dev/fb/vesa.c projects/altix/sys/dev/fdt/fdtbus.c projects/altix/sys/dev/hptiop/hptiop.c projects/altix/sys/dev/hptmv/entry.c projects/altix/sys/dev/iwn/if_iwn.c projects/altix/sys/dev/ixgbe/ixgbe.c projects/altix/sys/dev/ixgbe/ixgbe.h projects/altix/sys/dev/md/md.c projects/altix/sys/dev/mge/if_mge.c projects/altix/sys/dev/mge/if_mgevar.h projects/altix/sys/dev/mpt/mpt.c projects/altix/sys/dev/mpt/mpt.h projects/altix/sys/dev/mpt/mpt_cam.c projects/altix/sys/dev/mpt/mpt_pci.c projects/altix/sys/dev/mpt/mpt_raid.c projects/altix/sys/dev/ofw/ofw_bus_subr.c projects/altix/sys/dev/ofw/ofw_bus_subr.h projects/altix/sys/dev/pci/pci.c projects/altix/sys/dev/pci/pcivar.h projects/altix/sys/dev/sound/pcm/feeder_eq.c projects/altix/sys/dev/sound/pcm/feeder_rate.c projects/altix/sys/dev/sound/pcm/sound.c projects/altix/sys/dev/sound/usb/uaudio.c projects/altix/sys/dev/sound/usb/uaudioreg.h projects/altix/sys/dev/twa/tw_cl_misc.c projects/altix/sys/dev/usb/controller/ehci.c projects/altix/sys/dev/usb/controller/ohci.c projects/altix/sys/dev/usb/controller/uhci.c projects/altix/sys/dev/usb/net/if_rue.c projects/altix/sys/dev/usb/quirk/usb_quirk.c projects/altix/sys/dev/usb/usb_transfer.c projects/altix/sys/dev/usb/usbdevs projects/altix/sys/dev/usb/wlan/if_rum.c projects/altix/sys/dev/usb/wlan/if_run.c projects/altix/sys/dev/usb/wlan/if_runvar.h projects/altix/sys/dev/usb/wlan/if_upgt.c projects/altix/sys/dev/usb/wlan/if_ural.c projects/altix/sys/fs/nfsclient/nfs_clbio.c projects/altix/sys/fs/nfsclient/nfs_clcomsubs.c projects/altix/sys/fs/nfsclient/nfs_clport.c projects/altix/sys/fs/nfsclient/nfs_clrpcops.c projects/altix/sys/fs/nfsclient/nfs_clsubs.c projects/altix/sys/fs/nfsclient/nfs_clvnops.c projects/altix/sys/fs/nfsserver/nfs_nfsdport.c projects/altix/sys/fs/nfsserver/nfs_nfsdsocket.c projects/altix/sys/fs/nwfs/nwfs_io.c projects/altix/sys/fs/smbfs/smbfs_io.c projects/altix/sys/fs/tmpfs/tmpfs_vnops.c projects/altix/sys/fs/udf/udf_vnops.c projects/altix/sys/geom/gate/g_gate.c projects/altix/sys/geom/part/g_part.c projects/altix/sys/geom/part/g_part.h projects/altix/sys/geom/part/g_part_mbr.c projects/altix/sys/i386/acpica/acpi_wakeup.c projects/altix/sys/i386/conf/NOTES projects/altix/sys/i386/i386/apic_vector.s projects/altix/sys/i386/i386/atpic_vector.s projects/altix/sys/i386/i386/exception.s projects/altix/sys/i386/i386/identcpu.c projects/altix/sys/i386/i386/intr_machdep.c projects/altix/sys/i386/i386/machdep.c projects/altix/sys/i386/i386/mp_machdep.c projects/altix/sys/i386/i386/support.s projects/altix/sys/i386/i386/tsc.c projects/altix/sys/i386/i386/vm_machdep.c projects/altix/sys/i386/ibcs2/ibcs2_proto.h projects/altix/sys/i386/ibcs2/ibcs2_syscall.h projects/altix/sys/i386/ibcs2/ibcs2_sysent.c projects/altix/sys/i386/include/apicvar.h projects/altix/sys/i386/include/mca.h projects/altix/sys/i386/include/md_var.h projects/altix/sys/i386/include/npx.h projects/altix/sys/i386/include/pcb.h projects/altix/sys/i386/isa/npx.c projects/altix/sys/i386/linux/linux_sysent.c projects/altix/sys/ia64/ia64/machdep.c projects/altix/sys/ia64/ia64/mca.c projects/altix/sys/ia64/ia64/mp_machdep.c projects/altix/sys/ia64/include/asm.h projects/altix/sys/ia64/include/mca.h projects/altix/sys/ia64/include/profile.h projects/altix/sys/isa/rtc.h projects/altix/sys/kern/bus_if.m projects/altix/sys/kern/init_sysent.c projects/altix/sys/kern/kern_acct.c projects/altix/sys/kern/kern_clock.c projects/altix/sys/kern/kern_conf.c projects/altix/sys/kern/kern_context.c projects/altix/sys/kern/kern_exec.c projects/altix/sys/kern/kern_exit.c projects/altix/sys/kern/kern_malloc.c projects/altix/sys/kern/kern_mbuf.c projects/altix/sys/kern/kern_module.c projects/altix/sys/kern/kern_resource.c projects/altix/sys/kern/kern_sdt.c projects/altix/sys/kern/kern_sig.c projects/altix/sys/kern/kern_syscalls.c projects/altix/sys/kern/kern_tc.c projects/altix/sys/kern/kern_thr.c projects/altix/sys/kern/kern_umtx.c projects/altix/sys/kern/makesyscalls.sh projects/altix/sys/kern/subr_bus.c projects/altix/sys/kern/subr_devstat.c projects/altix/sys/kern/subr_fattime.c projects/altix/sys/kern/subr_lock.c projects/altix/sys/kern/subr_mchain.c projects/altix/sys/kern/subr_module.c projects/altix/sys/kern/subr_param.c projects/altix/sys/kern/subr_sleepqueue.c projects/altix/sys/kern/subr_trap.c projects/altix/sys/kern/subr_unit.c projects/altix/sys/kern/subr_witness.c projects/altix/sys/kern/sys_generic.c projects/altix/sys/kern/sys_process.c projects/altix/sys/kern/sys_socket.c projects/altix/sys/kern/syscalls.c projects/altix/sys/kern/syscalls.master projects/altix/sys/kern/systrace_args.c projects/altix/sys/kern/sysv_shm.c projects/altix/sys/kern/tty.c projects/altix/sys/kern/uipc_mbuf.c projects/altix/sys/kern/uipc_mbuf2.c projects/altix/sys/kern/uipc_mqueue.c projects/altix/sys/kern/uipc_syscalls.c projects/altix/sys/kern/vfs_bio.c projects/altix/sys/kern/vfs_cache.c projects/altix/sys/kern/vfs_subr.c projects/altix/sys/kern/vfs_syscalls.c projects/altix/sys/kern/vfs_vnops.c projects/altix/sys/mips/atheros/ar71xx_wdog.c projects/altix/sys/mips/atheros/ar71xxreg.h projects/altix/sys/mips/include/asm.h projects/altix/sys/mips/include/cpu.h projects/altix/sys/mips/include/pmap.h projects/altix/sys/mips/include/pte.h projects/altix/sys/mips/include/setjmp.h projects/altix/sys/mips/include/vm.h projects/altix/sys/mips/include/vmparam.h projects/altix/sys/mips/mips/cpu.c projects/altix/sys/mips/mips/exception.S projects/altix/sys/mips/mips/machdep.c projects/altix/sys/mips/mips/mp_machdep.c projects/altix/sys/mips/mips/pm_machdep.c projects/altix/sys/mips/mips/pmap.c projects/altix/sys/mips/mips/stack_machdep.c projects/altix/sys/mips/mips/trap.c projects/altix/sys/mips/mips/vm_machdep.c projects/altix/sys/mips/rmi/board.c projects/altix/sys/mips/rmi/board.h projects/altix/sys/mips/rmi/dev/xlr/rge.c projects/altix/sys/modules/Makefile projects/altix/sys/modules/acpi/Makefile projects/altix/sys/modules/em/Makefile projects/altix/sys/modules/igb/Makefile projects/altix/sys/modules/mqueue/Makefile projects/altix/sys/net/bpf.c projects/altix/sys/net/bpf.h projects/altix/sys/net/bpfdesc.h projects/altix/sys/net80211/ieee80211_crypto.h projects/altix/sys/net80211/ieee80211_crypto_ccmp.c projects/altix/sys/net80211/ieee80211_crypto_tkip.c projects/altix/sys/net80211/ieee80211_rssadapt.c projects/altix/sys/netgraph/ng_ipfw.c projects/altix/sys/netgraph/ng_patch.c projects/altix/sys/netgraph/ng_pipe.c projects/altix/sys/netgraph/ng_source.c projects/altix/sys/netgraph/ng_source.h projects/altix/sys/netinet/ipfw/ip_fw2.c projects/altix/sys/netinet/sctp.h projects/altix/sys/netinet/sctp_asconf.c projects/altix/sys/netinet/sctp_pcb.c projects/altix/sys/netinet/sctp_usrreq.c projects/altix/sys/netinet/sctputil.c projects/altix/sys/nfsclient/nfs_bio.c projects/altix/sys/nfsclient/nfs_subs.c projects/altix/sys/nfsclient/nfs_vnops.c projects/altix/sys/pc98/cbus/clock.c projects/altix/sys/pc98/include/npx.h projects/altix/sys/pc98/pc98/machdep.c projects/altix/sys/powerpc/aim/clock.c projects/altix/sys/powerpc/aim/interrupt.c projects/altix/sys/powerpc/aim/machdep.c projects/altix/sys/powerpc/aim/mmu_oea.c projects/altix/sys/powerpc/aim/mp_cpudep.c projects/altix/sys/powerpc/aim/nexus.c projects/altix/sys/powerpc/aim/platform_chrp.c projects/altix/sys/powerpc/booke/clock.c projects/altix/sys/powerpc/booke/interrupt.c projects/altix/sys/powerpc/booke/machdep.c projects/altix/sys/powerpc/booke/pmap.c projects/altix/sys/powerpc/include/asm.h projects/altix/sys/powerpc/include/intr_machdep.h projects/altix/sys/powerpc/include/ocpbus.h projects/altix/sys/powerpc/include/openpicvar.h projects/altix/sys/powerpc/include/profile.h projects/altix/sys/powerpc/mpc85xx/atpic.c projects/altix/sys/powerpc/mpc85xx/isa.c projects/altix/sys/powerpc/mpc85xx/ocpbus.c projects/altix/sys/powerpc/mpc85xx/ocpbus.h projects/altix/sys/powerpc/mpc85xx/opic.c projects/altix/sys/powerpc/mpc85xx/pci_ocp.c projects/altix/sys/powerpc/ofw/ofw_pcib_pci.c projects/altix/sys/powerpc/ofw/ofw_pcibus.c projects/altix/sys/powerpc/ofw/ofw_syscons.c projects/altix/sys/powerpc/powermac/cpcht.c projects/altix/sys/powerpc/powermac/cuda.c projects/altix/sys/powerpc/powermac/grackle.c projects/altix/sys/powerpc/powermac/hrowpic.c projects/altix/sys/powerpc/powermac/kiic.c projects/altix/sys/powerpc/powermac/macgpio.c projects/altix/sys/powerpc/powermac/macio.c projects/altix/sys/powerpc/powermac/openpic_macio.c projects/altix/sys/powerpc/powermac/pmu.c projects/altix/sys/powerpc/powermac/uninorth.c projects/altix/sys/powerpc/powermac/uninorthpci.c projects/altix/sys/powerpc/powerpc/intr_machdep.c projects/altix/sys/powerpc/powerpc/mp_machdep.c projects/altix/sys/powerpc/powerpc/openpic.c projects/altix/sys/powerpc/powerpc/pic_if.m projects/altix/sys/powerpc/psim/openpic_iobus.c projects/altix/sys/sparc64/ebus/ebus.c projects/altix/sys/sparc64/include/smp.h projects/altix/sys/sparc64/isa/ofw_isa.c projects/altix/sys/sparc64/pci/fire.c projects/altix/sys/sparc64/pci/ofw_pcib_subr.c projects/altix/sys/sparc64/pci/psycho.c projects/altix/sys/sparc64/pci/schizo.c projects/altix/sys/sparc64/sparc64/machdep.c projects/altix/sys/sparc64/sparc64/mp_locore.S projects/altix/sys/sun4v/sun4v/hv_pci.c projects/altix/sys/sun4v/sun4v/machdep.c projects/altix/sys/sys/bus.h projects/altix/sys/sys/conf.h projects/altix/sys/sys/diskmbr.h projects/altix/sys/sys/pcpu.h projects/altix/sys/sys/pmc.h projects/altix/sys/sys/proc.h projects/altix/sys/sys/ptrace.h projects/altix/sys/sys/signalvar.h projects/altix/sys/sys/syscall.h projects/altix/sys/sys/syscall.mk projects/altix/sys/sys/syscallsubr.h projects/altix/sys/sys/sysent.h projects/altix/sys/sys/sysproto.h projects/altix/sys/sys/systm.h projects/altix/sys/sys/time.h projects/altix/sys/ufs/ffs/ffs_alloc.c projects/altix/sys/ufs/ffs/ffs_inode.c projects/altix/sys/ufs/ffs/ffs_softdep.c projects/altix/sys/ufs/ffs/ffs_vnops.c projects/altix/sys/ufs/ffs/softdep.h projects/altix/sys/ufs/ufs/inode.h projects/altix/sys/ufs/ufs/ufs_inode.c projects/altix/sys/ufs/ufs/ufs_lookup.c projects/altix/sys/ufs/ufs/ufs_vnops.c projects/altix/sys/vm/uma.h projects/altix/sys/vm/uma_core.c projects/altix/sys/vm/uma_int.h projects/altix/sys/vm/vm_contig.c projects/altix/sys/vm/vm_fault.c projects/altix/sys/vm/vm_map.c projects/altix/sys/vm/vm_object.c projects/altix/sys/vm/vm_page.c projects/altix/sys/vm/vm_page.h projects/altix/sys/vm/vm_pageout.c projects/altix/sys/vm/vm_pager.h projects/altix/sys/x86/cpufreq/est.c projects/altix/sys/x86/isa/atrtc.c projects/altix/sys/x86/isa/clock.c projects/altix/sys/x86/x86/local_apic.c projects/altix/sys/x86/x86/mca.c projects/altix/sys/x86/x86/msi.c Directory Properties: projects/altix/lib/libstand/ (props changed) projects/altix/sys/ (props changed) projects/altix/sys/amd64/include/xen/ (props changed) projects/altix/sys/cddl/contrib/opensolaris/ (props changed) projects/altix/sys/contrib/dev/acpica/ (props changed) projects/altix/sys/contrib/x86emu/ (props changed) projects/altix/sys/dev/xen/xenpci/ (props changed) Modified: projects/altix/sys/amd64/acpica/acpi_wakeup.c ============================================================================== --- projects/altix/sys/amd64/acpica/acpi_wakeup.c Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/acpica/acpi_wakeup.c Tue Jul 6 23:20:43 2010 (r209750) @@ -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> @@ -245,7 +246,7 @@ acpi_sleep_machdep(struct acpi_softc *sc cr3 = rcr3(); load_cr3(KPML4phys); - stopfpu = stopxpcbs[0]->xpcb_pcb.pcb_save; + stopfpu = &stopxpcbs[0]->xpcb_pcb.pcb_user_save; if (acpi_savecpu(stopxpcbs[0])) { fpugetregs(curthread, stopfpu); @@ -300,6 +301,7 @@ out: #endif load_cr3(cr3); + mca_resume(); intr_resume(); intr_restore(rf); Modified: projects/altix/sys/amd64/amd64/apic_vector.S ============================================================================== --- projects/altix/sys/amd64/amd64/apic_vector.S Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/amd64/apic_vector.S Tue Jul 6 23:20:43 2010 (r209750) @@ -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: projects/altix/sys/amd64/amd64/exception.S ============================================================================== --- projects/altix/sys/amd64/amd64/exception.S Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/amd64/exception.S Tue Jul 6 23:20:43 2010 (r209750) @@ -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: projects/altix/sys/amd64/amd64/fpu.c ============================================================================== --- projects/altix/sys/amd64/amd64/fpu.c Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/amd64/fpu.c Tue Jul 6 23:20:43 2010 (r209750) @@ -115,6 +115,9 @@ 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(); @@ -141,16 +144,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 +353,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 +372,7 @@ fputrap() if (PCPU_GET(fpcurthread) == curthread) fnclex(); - intr_restore(savecrit); + critical_exit(); return (fpetable[status & ((~control & 0x3f) | 0x40)]); } @@ -389,12 +390,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 +406,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. @@ -428,19 +429,17 @@ fpudna(void) 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 +453,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 +460,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 +476,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 +483,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 +502,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 +522,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 +647,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: projects/altix/sys/amd64/amd64/intr_machdep.c ============================================================================== --- projects/altix/sys/amd64/amd64/intr_machdep.c Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/amd64/intr_machdep.c Tue Jul 6 23:20:43 2010 (r209750) @@ -529,7 +529,7 @@ intr_shuffle_irqs(void *arg __unused) */ if (isrc->is_event->ie_cpu != NOCPU) (void)isrc->is_pic->pic_assign_cpu(isrc, - isrc->is_event->ie_cpu); + cpu_apic_ids[isrc->is_event->ie_cpu]); else if (isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[current_cpu]) == 0) (void)intr_next_cpu(); Modified: projects/altix/sys/amd64/amd64/machdep.c ============================================================================== --- projects/altix/sys/amd64/amd64/machdep.c Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/amd64/machdep.c Tue Jul 6 23:20:43 2010 (r209750) @@ -81,6 +81,7 @@ __FBSDID("$FreeBSD$"); #include <sys/reboot.h> #include <sys/sched.h> #include <sys/signalvar.h> +#include <sys/syscallsubr.h> #include <sys/sysctl.h> #include <sys/sysent.h> #include <sys/sysproto.h> @@ -2103,11 +2104,6 @@ set_fpcontext(struct thread *td, const m fpstate_drop(td); else if (mcp->mc_ownedfp == _MC_FPOWNED_FPU || mcp->mc_ownedfp == _MC_FPOWNED_PCB) { - /* - * XXX we violate the dubious requirement that fpusetregs() - * be called with interrupts disabled. - * XXX obsolete on trap-16 systems? - */ fpstate = (struct savefpu *)&mcp->mc_fpstate; fpstate->sv_env.en_mxcsr &= cpu_mxcsr_mask; fpusetuserregs(td, fpstate); @@ -2119,25 +2115,24 @@ set_fpcontext(struct thread *td, const m void fpstate_drop(struct thread *td) { - register_t s; KASSERT(PCB_USER_FPU(td->td_pcb), ("fpstate_drop: kernel-owned fpu")); - s = intr_disable(); + critical_enter(); if (PCPU_GET(fpcurthread) == td) fpudrop(); /* * XXX force a full drop of the fpu. The above only drops it if we * owned it. * - * XXX I don't much like fpugetregs()'s semantics of doing a full + * XXX I don't much like fpugetuserregs()'s semantics of doing a full * drop. Dropping only to the pcb matches fnsave's behaviour. * We only need to drop to !PCB_INITDONE in sendsig(). But - * sendsig() is the only caller of fpugetregs()... perhaps we just + * sendsig() is the only caller of fpugetuserregs()... perhaps we just * have too many layers. */ curthread->td_pcb->pcb_flags &= ~(PCB_FPUINITDONE | PCB_USERFPUINITDONE); - intr_restore(s); + critical_exit(); } int Modified: projects/altix/sys/amd64/amd64/mp_machdep.c ============================================================================== --- projects/altix/sys/amd64/amd64/mp_machdep.c Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/amd64/mp_machdep.c Tue Jul 6 23:20:43 2010 (r209750) @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include "opt_kstack_pages.h" #include "opt_mp_watchdog.h" #include "opt_sched.h" +#include "opt_smp.h" #include <sys/param.h> #include <sys/systm.h> @@ -106,6 +107,20 @@ vm_offset_t smp_tlb_addr1; vm_offset_t smp_tlb_addr2; volatile int smp_tlb_wait; +#ifdef COUNT_IPIS +/* Interrupt counts. */ +static u_long *ipi_preempt_counts[MAXCPU]; +static u_long *ipi_ast_counts[MAXCPU]; +u_long *ipi_invltlb_counts[MAXCPU]; +u_long *ipi_invlrng_counts[MAXCPU]; +u_long *ipi_invlpg_counts[MAXCPU]; +u_long *ipi_invlcache_counts[MAXCPU]; +u_long *ipi_rendezvous_counts[MAXCPU]; +u_long *ipi_lazypmap_counts[MAXCPU]; +static u_long *ipi_hardclock_counts[MAXCPU]; +static u_long *ipi_statclock_counts[MAXCPU]; +#endif + extern inthand_t IDTVEC(fast_syscall), IDTVEC(fast_syscall32); /* @@ -692,10 +707,13 @@ init_secondary(void) load_fs(_ufssel); mtx_unlock_spin(&ap_boot_mtx); - /* wait until all the AP's are up */ + /* Wait until all the AP's are up. */ while (smp_started == 0) ia32_pause(); + /* Start per-CPU event timers. */ + cpu_initclocks_ap(); + sched_throw(NULL); panic("scheduler returned us to %s", __func__); @@ -970,6 +988,42 @@ start_ap(int apic_id) return 0; /* return FAILURE */ } +#ifdef COUNT_XINVLTLB_HITS +u_int xhits_gbl[MAXCPU]; +u_int xhits_pg[MAXCPU]; +u_int xhits_rng[MAXCPU]; +SYSCTL_NODE(_debug, OID_AUTO, xhits, CTLFLAG_RW, 0, ""); +SYSCTL_OPAQUE(_debug_xhits, OID_AUTO, global, CTLFLAG_RW, &xhits_gbl, + sizeof(xhits_gbl), "IU", ""); +SYSCTL_OPAQUE(_debug_xhits, OID_AUTO, page, CTLFLAG_RW, &xhits_pg, + sizeof(xhits_pg), "IU", ""); +SYSCTL_OPAQUE(_debug_xhits, OID_AUTO, range, CTLFLAG_RW, &xhits_rng, + sizeof(xhits_rng), "IU", ""); + +u_int ipi_global; +u_int ipi_page; +u_int ipi_range; +u_int ipi_range_size; +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_global, CTLFLAG_RW, &ipi_global, 0, ""); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_page, CTLFLAG_RW, &ipi_page, 0, ""); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_range, CTLFLAG_RW, &ipi_range, 0, ""); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_range_size, CTLFLAG_RW, &ipi_range_size, + 0, ""); + +u_int ipi_masked_global; +u_int ipi_masked_page; +u_int ipi_masked_range; +u_int ipi_masked_range_size; +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_masked_global, CTLFLAG_RW, + &ipi_masked_global, 0, ""); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_masked_page, CTLFLAG_RW, + &ipi_masked_page, 0, ""); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_masked_range, CTLFLAG_RW, + &ipi_masked_range, 0, ""); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_masked_range_size, CTLFLAG_RW, + &ipi_masked_range_size, 0, ""); +#endif /* COUNT_XINVLTLB_HITS */ + /* * Flush the TLB on all other CPU's */ @@ -1047,6 +1101,9 @@ smp_invltlb(void) if (smp_started) { smp_tlb_shootdown(IPI_INVLTLB, 0, 0); +#ifdef COUNT_XINVLTLB_HITS + ipi_global++; +#endif } } @@ -1054,8 +1111,12 @@ void smp_invlpg(vm_offset_t addr) { - if (smp_started) + if (smp_started) { smp_tlb_shootdown(IPI_INVLPG, addr, 0); +#ifdef COUNT_XINVLTLB_HITS + ipi_page++; +#endif + } } void @@ -1064,6 +1125,10 @@ smp_invlpg_range(vm_offset_t addr1, vm_o if (smp_started) { smp_tlb_shootdown(IPI_INVLRNG, addr1, addr2); +#ifdef COUNT_XINVLTLB_HITS + ipi_range++; + ipi_range_size += (addr2 - addr1) / PAGE_SIZE; +#endif } } @@ -1073,6 +1138,9 @@ smp_masked_invltlb(cpumask_t mask) if (smp_started) { smp_targeted_tlb_shootdown(mask, IPI_INVLTLB, 0, 0); +#ifdef COUNT_XINVLTLB_HITS + ipi_masked_global++; +#endif } } @@ -1082,6 +1150,9 @@ smp_masked_invlpg(cpumask_t mask, vm_off if (smp_started) { smp_targeted_tlb_shootdown(mask, IPI_INVLPG, addr, 0); +#ifdef COUNT_XINVLTLB_HITS + ipi_masked_page++; +#endif } } @@ -1091,6 +1162,10 @@ smp_masked_invlpg_range(cpumask_t mask, if (smp_started) { smp_targeted_tlb_shootdown(mask, IPI_INVLRNG, addr1, addr2); +#ifdef COUNT_XINVLTLB_HITS + ipi_masked_range++; + ipi_masked_range_size += (addr2 - addr1) / PAGE_SIZE; +#endif } } @@ -1102,16 +1177,30 @@ ipi_bitmap_handler(struct trapframe fram ipi_bitmap = atomic_readandclear_int(&cpu_ipi_pending[cpu]); - if (ipi_bitmap & (1 << IPI_PREEMPT)) + if (ipi_bitmap & (1 << IPI_PREEMPT)) { +#ifdef COUNT_IPIS + (*ipi_preempt_counts[cpu])++; +#endif sched_preempt(curthread); - - /* Nothing to do for AST */ - - if (ipi_bitmap & (1 << IPI_HARDCLOCK)) + } + if (ipi_bitmap & (1 << IPI_AST)) { +#ifdef COUNT_IPIS + (*ipi_ast_counts[cpu])++; +#endif + /* Nothing to do for AST */ + } + if (ipi_bitmap & (1 << IPI_HARDCLOCK)) { +#ifdef COUNT_IPIS + (*ipi_hardclock_counts[cpu])++; +#endif hardclockintr(&frame); - - if (ipi_bitmap & (1 << IPI_STATCLOCK)) + } + if (ipi_bitmap & (1 << IPI_STATCLOCK)) { +#ifdef COUNT_IPIS + (*ipi_statclock_counts[cpu])++; +#endif statclockintr(&frame); + } } /* @@ -1247,7 +1336,7 @@ cpususpend_handler(void) rf = intr_disable(); cr3 = rcr3(); - stopfpu = stopxpcbs[cpu]->xpcb_pcb.pcb_save; + stopfpu = &stopxpcbs[cpu]->xpcb_pcb.pcb_user_save; if (savectx2(stopxpcbs[cpu])) { fpugetregs(curthread, stopfpu); wbinvd(); @@ -1264,6 +1353,7 @@ cpususpend_handler(void) /* Restore CR3 and enable interrupts */ load_cr3(cr3); + mca_resume(); lapic_setup(0); intr_restore(rf); } @@ -1431,3 +1521,38 @@ mp_grab_cpu_hlt(void) __asm __volatile("sti; hlt" : : : "memory"); return (retval); } + +#ifdef COUNT_IPIS +/* + * Setup interrupt counters for IPI handlers. + */ +static void +mp_ipi_intrcnt(void *dummy) +{ + char buf[64]; + int i; + + CPU_FOREACH(i) { + snprintf(buf, sizeof(buf), "cpu%d:invltlb", i); + intrcnt_add(buf, &ipi_invltlb_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:invlrng", i); + intrcnt_add(buf, &ipi_invlrng_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:invlpg", i); + intrcnt_add(buf, &ipi_invlpg_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:preempt", i); + intrcnt_add(buf, &ipi_preempt_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:ast", i); + intrcnt_add(buf, &ipi_ast_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:rendezvous", i); + intrcnt_add(buf, &ipi_rendezvous_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:lazypmap", i); + intrcnt_add(buf, &ipi_lazypmap_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:hardclock", i); + intrcnt_add(buf, &ipi_hardclock_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:statclock", i); + intrcnt_add(buf, &ipi_statclock_counts[i]); + } +} +SYSINIT(mp_ipi_intrcnt, SI_SUB_INTR, SI_ORDER_MIDDLE, mp_ipi_intrcnt, NULL); +#endif + Modified: projects/altix/sys/amd64/amd64/vm_machdep.c ============================================================================== --- projects/altix/sys/amd64/amd64/vm_machdep.c Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/amd64/vm_machdep.c Tue Jul 6 23:20:43 2010 (r209750) @@ -265,8 +265,10 @@ cpu_thread_exit(struct thread *td) { struct pcb *pcb; + critical_enter(); if (td == PCPU_GET(fpcurthread)) fpudrop(); + critical_exit(); pcb = td->td_pcb; Modified: projects/altix/sys/amd64/conf/NOTES ============================================================================== --- projects/altix/sys/amd64/conf/NOTES Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/conf/NOTES Tue Jul 6 23:20:43 2010 (r209750) @@ -11,6 +11,12 @@ # We want LINT to cover profiling as well. profile 2 +# +# Enable the kernel DTrace hooks which are required to load the DTrace +# kernel modules. +# +options KDTRACE_HOOKS + ##################################################################### # SMP OPTIONS: @@ -30,6 +36,11 @@ device mptable # Optional MPSPEC mpta # options MP_WATCHDOG +# Debugging options. +# +options COUNT_XINVLTLB_HITS # Counters for TLB events +options COUNT_IPIS # Per-CPU IPI interrupt counters + ##################################################################### Modified: projects/altix/sys/amd64/ia32/ia32_exception.S ============================================================================== --- projects/altix/sys/amd64/ia32/ia32_exception.S Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/ia32/ia32_exception.S Tue Jul 6 23:20:43 2010 (r209750) @@ -67,6 +67,7 @@ IDTVEC(int0x80_syscall) movq %r14,TF_R14(%rsp) movq %r15,TF_R15(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld FAKE_MCOUNT(TF_RIP(%rsp)) movq %rsp, %rdi call ia32_syscall Modified: projects/altix/sys/amd64/ia32/ia32_signal.c ============================================================================== --- projects/altix/sys/amd64/ia32/ia32_signal.c Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/ia32/ia32_signal.c Tue Jul 6 23:20:43 2010 (r209750) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include <sys/stat.h> #include <sys/sx.h> #include <sys/syscall.h> +#include <sys/syscallsubr.h> #include <sys/sysctl.h> #include <sys/sysent.h> #include <sys/vnode.h> @@ -92,7 +93,14 @@ static void ia32_get_fpcontext(struct thread *td, struct ia32_mcontext *mcp) { - mcp->mc_ownedfp = fpugetregs(td, (struct savefpu *)&mcp->mc_fpstate); + /* + * XXX Format of 64bit and 32bit FXSAVE areas differs. FXSAVE + * in 32bit mode saves %cs and %ds, while on 64bit it saves + * 64bit instruction and data pointers. Ignore the difference + * for now, it should be irrelevant for most applications. + */ + mcp->mc_ownedfp = fpugetuserregs(td, + (struct savefpu *)&mcp->mc_fpstate); mcp->mc_fpformat = fpuformat(); } @@ -109,11 +117,7 @@ ia32_set_fpcontext(struct thread *td, co fpstate_drop(td); else if (mcp->mc_ownedfp == _MC_FPOWNED_FPU || mcp->mc_ownedfp == _MC_FPOWNED_PCB) { - /* - * XXX we violate the dubious requirement that fpusetregs() - * be called with interrupts disabled. - */ - fpusetregs(td, (struct savefpu *)&mcp->mc_fpstate); + fpusetuserregs(td, (struct savefpu *)&mcp->mc_fpstate); } else return (EINVAL); return (0); Modified: projects/altix/sys/amd64/include/apicvar.h ============================================================================== --- projects/altix/sys/amd64/include/apicvar.h Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/include/apicvar.h Tue Jul 6 23:20:43 2010 (r209750) @@ -158,12 +158,6 @@ #define APIC_BUS_PCI 2 #define APIC_BUS_MAX APIC_BUS_PCI -enum lapic_clock { - LAPIC_CLOCK_NONE, - LAPIC_CLOCK_HARDCLOCK, - LAPIC_CLOCK_ALL -}; - /* * An APIC enumerator is a psuedo bus driver that enumerates APIC's including * CPU's and I/O APIC's. @@ -234,7 +228,6 @@ int lapic_set_lvt_triggermode(u_int apic enum intr_trigger trigger); void lapic_set_tpr(u_int vector); void lapic_setup(int boot); -enum lapic_clock lapic_setup_clock(enum lapic_clock srcsdes); #endif /* !LOCORE */ #endif /* _MACHINE_APICVAR_H_ */ Modified: projects/altix/sys/amd64/include/asmacros.h ============================================================================== --- projects/altix/sys/amd64/include/asmacros.h Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/include/asmacros.h Tue Jul 6 23:20:43 2010 (r209750) @@ -166,7 +166,8 @@ movw %gs,TF_GS(%rsp) ; \ movw %es,TF_ES(%rsp) ; \ movw %ds,TF_DS(%rsp) ; \ - movl $TF_HASSEGS,TF_FLAGS(%rsp) + movl $TF_HASSEGS,TF_FLAGS(%rsp) ; \ + cld #define POP_FRAME \ movq TF_RDI(%rsp),%rdi ; \ Modified: projects/altix/sys/amd64/include/mca.h ============================================================================== --- projects/altix/sys/amd64/include/mca.h Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/include/mca.h Tue Jul 6 23:20:43 2010 (r209750) @@ -49,6 +49,7 @@ struct mca_record { void cmc_intr(void); void mca_init(void); int mca_intr(void); +void mca_resume(void); #endif Modified: projects/altix/sys/amd64/include/segments.h ============================================================================== --- projects/altix/sys/amd64/include/segments.h Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/include/segments.h Tue Jul 6 23:20:43 2010 (r209750) @@ -74,6 +74,13 @@ struct user_segment_descriptor { u_int64_t sd_hibase:8; /* segment base address (msb) */ } __packed; +#define USD_GETBASE(_sd) (((_sd)->sd_lobase) | (_sd)->sd_hibase << 24) +#define USD_SETBASE(_sd, _b) (_sd)->sd_lobase = (_b); \ + (_sd)->sd_hibase = ((_b) >> 24); +#define USD_GETLIMIT(_sd) (((_sd)->sd_lolimit) | (_sd)->sd_hilimit << 16) +#define USD_SETLIMIT(_sd, _l) (_sd)->sd_lolimit = (_l); \ + (_sd)->sd_hilimit = ((_l) >> 16); + /* * System segment descriptors (128 bit wide) */ Modified: projects/altix/sys/amd64/include/smp.h ============================================================================== --- projects/altix/sys/amd64/include/smp.h Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/include/smp.h Tue Jul 6 23:20:43 2010 (r209750) @@ -35,6 +35,14 @@ extern int mp_naps; extern int boot_cpu_id; extern struct pcb stoppcbs[]; extern int cpu_apic_ids[]; +#ifdef COUNT_IPIS +extern u_long *ipi_invltlb_counts[MAXCPU]; +extern u_long *ipi_invlrng_counts[MAXCPU]; +extern u_long *ipi_invlpg_counts[MAXCPU]; +extern u_long *ipi_invlcache_counts[MAXCPU]; +extern u_long *ipi_rendezvous_counts[MAXCPU]; +extern u_long *ipi_lazypmap_counts[MAXCPU]; +#endif /* IPI handlers */ inthand_t Modified: projects/altix/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- projects/altix/sys/amd64/linux32/linux32_sysent.c Tue Jul 6 23:13:21 2010 (r209749) +++ projects/altix/sys/amd64/linux32/linux32_sysent.c Tue Jul 6 23:20:43 2010 (r209750) @@ -19,321 +19,321 @@ /* The casts are bogus but will do for now. */ struct sysent linux_sysent[] = { #define nosys linux_nosys - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 0 = setup */ - { AS(sys_exit_args), (sy_call_t *)sys_exit, AUE_EXIT, NULL, 0, 0, 0 }, /* 1 = exit */ - { 0, (sy_call_t *)linux_fork, AUE_FORK, NULL, 0, 0, 0 }, /* 2 = linux_fork */ - { AS(read_args), (sy_call_t *)read, AUE_NULL, NULL, 0, 0, 0 }, /* 3 = read */ - { AS(write_args), (sy_call_t *)write, AUE_NULL, NULL, 0, 0, 0 }, /* 4 = write */ - { AS(linux_open_args), (sy_call_t *)linux_open, AUE_OPEN_RWTC, NULL, 0, 0, 0 }, /* 5 = linux_open */ - { AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0, 0 }, /* 6 = close */ - { AS(linux_waitpid_args), (sy_call_t *)linux_waitpid, AUE_WAIT4, NULL, 0, 0, 0 }, /* 7 = linux_waitpid */ - { AS(linux_creat_args), (sy_call_t *)linux_creat, AUE_CREAT, NULL, 0, 0, 0 }, /* 8 = linux_creat */ - { AS(linux_link_args), (sy_call_t *)linux_link, AUE_LINK, NULL, 0, 0, 0 }, /* 9 = linux_link */ - { AS(linux_unlink_args), (sy_call_t *)linux_unlink, AUE_UNLINK, NULL, 0, 0, 0 }, /* 10 = linux_unlink */ - { AS(linux_execve_args), (sy_call_t *)linux_execve, AUE_EXECVE, NULL, 0, 0, 0 }, /* 11 = linux_execve */ - { AS(linux_chdir_args), (sy_call_t *)linux_chdir, AUE_CHDIR, NULL, 0, 0, 0 }, /* 12 = linux_chdir */ - { AS(linux_time_args), (sy_call_t *)linux_time, AUE_NULL, NULL, 0, 0, 0 }, /* 13 = linux_time */ - { AS(linux_mknod_args), (sy_call_t *)linux_mknod, AUE_MKNOD, NULL, 0, 0, 0 }, /* 14 = linux_mknod */ - { AS(linux_chmod_args), (sy_call_t *)linux_chmod, AUE_CHMOD, NULL, 0, 0, 0 }, /* 15 = linux_chmod */ - { AS(linux_lchown16_args), (sy_call_t *)linux_lchown16, AUE_LCHOWN, NULL, 0, 0, 0 }, /* 16 = linux_lchown16 */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 17 = break */ - { AS(linux_stat_args), (sy_call_t *)linux_stat, AUE_STAT, NULL, 0, 0, 0 }, /* 18 = linux_stat */ - { AS(linux_lseek_args), (sy_call_t *)linux_lseek, AUE_LSEEK, NULL, 0, 0, 0 }, /* 19 = linux_lseek */ - { 0, (sy_call_t *)linux_getpid, AUE_GETPID, NULL, 0, 0, 0 }, /* 20 = linux_getpid */ - { AS(linux_mount_args), (sy_call_t *)linux_mount, AUE_MOUNT, NULL, 0, 0, 0 }, /* 21 = linux_mount */ - { AS(linux_oldumount_args), (sy_call_t *)linux_oldumount, AUE_UMOUNT, NULL, 0, 0, 0 }, /* 22 = linux_oldumount */ - { AS(linux_setuid16_args), (sy_call_t *)linux_setuid16, AUE_SETUID, NULL, 0, 0, 0 }, /* 23 = linux_setuid16 */ - { 0, (sy_call_t *)linux_getuid16, AUE_GETUID, NULL, 0, 0, 0 }, /* 24 = linux_getuid16 */ - { 0, (sy_call_t *)linux_stime, AUE_SETTIMEOFDAY, NULL, 0, 0, 0 }, /* 25 = linux_stime */ - { AS(linux_ptrace_args), (sy_call_t *)linux_ptrace, AUE_PTRACE, NULL, 0, 0, 0 }, /* 26 = linux_ptrace */ - { AS(linux_alarm_args), (sy_call_t *)linux_alarm, AUE_NULL, NULL, 0, 0, 0 }, /* 27 = linux_alarm */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 28 = fstat */ - { 0, (sy_call_t *)linux_pause, AUE_NULL, NULL, 0, 0, 0 }, /* 29 = linux_pause */ - { AS(linux_utime_args), (sy_call_t *)linux_utime, AUE_UTIME, NULL, 0, 0, 0 }, /* 30 = linux_utime */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 31 = stty */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 32 = gtty */ - { AS(linux_access_args), (sy_call_t *)linux_access, AUE_ACCESS, NULL, 0, 0, 0 }, /* 33 = linux_access */ - { AS(linux_nice_args), (sy_call_t *)linux_nice, AUE_NICE, NULL, 0, 0, 0 }, /* 34 = linux_nice */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 35 = ftime */ - { 0, (sy_call_t *)sync, AUE_SYNC, NULL, 0, 0, 0 }, /* 36 = sync */ - { AS(linux_kill_args), (sy_call_t *)linux_kill, AUE_KILL, NULL, 0, 0, 0 }, /* 37 = linux_kill */ - { AS(linux_rename_args), (sy_call_t *)linux_rename, AUE_RENAME, NULL, 0, 0, 0 }, /* 38 = linux_rename */ - { AS(linux_mkdir_args), (sy_call_t *)linux_mkdir, AUE_MKDIR, NULL, 0, 0, 0 }, /* 39 = linux_mkdir */ - { AS(linux_rmdir_args), (sy_call_t *)linux_rmdir, AUE_RMDIR, NULL, 0, 0, 0 }, /* 40 = linux_rmdir */ - { AS(dup_args), (sy_call_t *)dup, AUE_DUP, NULL, 0, 0, 0 }, /* 41 = dup */ - { AS(linux_pipe_args), (sy_call_t *)linux_pipe, AUE_PIPE, NULL, 0, 0, 0 }, /* 42 = linux_pipe */ - { AS(linux_times_args), (sy_call_t *)linux_times, AUE_NULL, NULL, 0, 0, 0 }, /* 43 = linux_times */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 44 = prof */ - { AS(linux_brk_args), (sy_call_t *)linux_brk, AUE_NULL, NULL, 0, 0, 0 }, /* 45 = linux_brk */ - { AS(linux_setgid16_args), (sy_call_t *)linux_setgid16, AUE_SETGID, NULL, 0, 0, 0 }, /* 46 = linux_setgid16 */ - { 0, (sy_call_t *)linux_getgid16, AUE_GETGID, NULL, 0, 0, 0 }, /* 47 = linux_getgid16 */ - { AS(linux_signal_args), (sy_call_t *)linux_signal, AUE_NULL, NULL, 0, 0, 0 }, /* 48 = linux_signal */ - { 0, (sy_call_t *)linux_geteuid16, AUE_GETEUID, NULL, 0, 0, 0 }, /* 49 = linux_geteuid16 */ - { 0, (sy_call_t *)linux_getegid16, AUE_GETEGID, NULL, 0, 0, 0 }, /* 50 = linux_getegid16 */ - { AS(acct_args), (sy_call_t *)acct, AUE_ACCT, NULL, 0, 0, 0 }, /* 51 = acct */ - { AS(linux_umount_args), (sy_call_t *)linux_umount, AUE_UMOUNT, NULL, 0, 0, 0 }, /* 52 = linux_umount */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 53 = lock */ - { AS(linux_ioctl_args), (sy_call_t *)linux_ioctl, AUE_IOCTL, NULL, 0, 0, 0 }, /* 54 = linux_ioctl */ - { AS(linux_fcntl_args), (sy_call_t *)linux_fcntl, AUE_FCNTL, NULL, 0, 0, 0 }, /* 55 = linux_fcntl */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 56 = mpx */ - { AS(setpgid_args), (sy_call_t *)setpgid, AUE_SETPGRP, NULL, 0, 0, 0 }, /* 57 = setpgid */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 58 = ulimit */ - { 0, (sy_call_t *)linux_olduname, AUE_NULL, NULL, 0, 0, 0 }, /* 59 = linux_olduname */ - { AS(umask_args), (sy_call_t *)umask, AUE_UMASK, NULL, 0, 0, 0 }, /* 60 = umask */ - { AS(chroot_args), (sy_call_t *)chroot, AUE_CHROOT, NULL, 0, 0, 0 }, /* 61 = chroot */ - { AS(linux_ustat_args), (sy_call_t *)linux_ustat, AUE_NULL, NULL, 0, 0, 0 }, /* 62 = linux_ustat */ - { AS(dup2_args), (sy_call_t *)dup2, AUE_DUP2, NULL, 0, 0, 0 }, /* 63 = dup2 */ - { 0, (sy_call_t *)linux_getppid, AUE_GETPPID, NULL, 0, 0, 0 }, /* 64 = linux_getppid */ - { 0, (sy_call_t *)getpgrp, AUE_GETPGRP, NULL, 0, 0, 0 }, /* 65 = getpgrp */ - { 0, (sy_call_t *)setsid, AUE_SETSID, NULL, 0, 0, 0 }, /* 66 = setsid */ - { AS(linux_sigaction_args), (sy_call_t *)linux_sigaction, AUE_NULL, NULL, 0, 0, 0 }, /* 67 = linux_sigaction */ - { 0, (sy_call_t *)linux_sgetmask, AUE_NULL, NULL, 0, 0, 0 }, /* 68 = linux_sgetmask */ - { AS(linux_ssetmask_args), (sy_call_t *)linux_ssetmask, AUE_NULL, NULL, 0, 0, 0 }, /* 69 = linux_ssetmask */ - { AS(linux_setreuid16_args), (sy_call_t *)linux_setreuid16, AUE_SETREUID, NULL, 0, 0, 0 }, /* 70 = linux_setreuid16 */ - { AS(linux_setregid16_args), (sy_call_t *)linux_setregid16, AUE_SETREGID, NULL, 0, 0, 0 }, /* 71 = linux_setregid16 */ - { AS(linux_sigsuspend_args), (sy_call_t *)linux_sigsuspend, AUE_NULL, NULL, 0, 0, 0 }, /* 72 = linux_sigsuspend */ - { AS(linux_sigpending_args), (sy_call_t *)linux_sigpending, AUE_NULL, NULL, 0, 0, 0 }, /* 73 = linux_sigpending */ - { AS(linux_sethostname_args), (sy_call_t *)linux_sethostname, AUE_SYSCTL, NULL, 0, 0, 0 }, /* 74 = linux_sethostname */ - { AS(linux_setrlimit_args), (sy_call_t *)linux_setrlimit, AUE_SETRLIMIT, NULL, 0, 0, 0 }, /* 75 = linux_setrlimit */ - { AS(linux_old_getrlimit_args), (sy_call_t *)linux_old_getrlimit, AUE_GETRLIMIT, NULL, 0, 0, 0 }, /* 76 = linux_old_getrlimit */ - { AS(linux_getrusage_args), (sy_call_t *)linux_getrusage, AUE_GETRUSAGE, NULL, 0, 0, 0 }, /* 77 = linux_getrusage */ - { AS(linux_gettimeofday_args), (sy_call_t *)linux_gettimeofday, AUE_NULL, NULL, 0, 0, 0 }, /* 78 = linux_gettimeofday */ - { AS(linux_settimeofday_args), (sy_call_t *)linux_settimeofday, AUE_SETTIMEOFDAY, NULL, 0, 0, 0 }, /* 79 = linux_settimeofday */ - { AS(linux_getgroups16_args), (sy_call_t *)linux_getgroups16, AUE_GETGROUPS, NULL, 0, 0, 0 }, /* 80 = linux_getgroups16 */ - { AS(linux_setgroups16_args), (sy_call_t *)linux_setgroups16, AUE_SETGROUPS, NULL, 0, 0, 0 }, /* 81 = linux_setgroups16 */ - { AS(linux_old_select_args), (sy_call_t *)linux_old_select, AUE_SELECT, NULL, 0, 0, 0 }, /* 82 = linux_old_select */ - { AS(linux_symlink_args), (sy_call_t *)linux_symlink, AUE_SYMLINK, NULL, 0, 0, 0 }, /* 83 = linux_symlink */ - { AS(linux_lstat_args), (sy_call_t *)linux_lstat, AUE_LSTAT, NULL, 0, 0, 0 }, /* 84 = linux_lstat */ - { AS(linux_readlink_args), (sy_call_t *)linux_readlink, AUE_READLINK, NULL, 0, 0, 0 }, /* 85 = linux_readlink */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 86 = linux_uselib */ - { AS(swapon_args), (sy_call_t *)swapon, AUE_SWAPON, NULL, 0, 0, 0 }, /* 87 = swapon */ - { AS(linux_reboot_args), (sy_call_t *)linux_reboot, AUE_REBOOT, NULL, 0, 0, 0 }, /* 88 = linux_reboot */ - { AS(linux_readdir_args), (sy_call_t *)linux_readdir, AUE_GETDIRENTRIES, NULL, 0, 0, 0 }, /* 89 = linux_readdir */ - { AS(linux_mmap_args), (sy_call_t *)linux_mmap, AUE_MMAP, NULL, 0, 0, 0 }, /* 90 = linux_mmap */ - { AS(munmap_args), (sy_call_t *)munmap, AUE_MUNMAP, NULL, 0, 0, 0 }, /* 91 = munmap */ - { AS(linux_truncate_args), (sy_call_t *)linux_truncate, AUE_TRUNCATE, NULL, 0, 0, 0 }, /* 92 = linux_truncate */ - { AS(linux_ftruncate_args), (sy_call_t *)linux_ftruncate, AUE_FTRUNCATE, NULL, 0, 0, 0 }, /* 93 = linux_ftruncate */ - { AS(fchmod_args), (sy_call_t *)fchmod, AUE_FCHMOD, NULL, 0, 0, 0 }, /* 94 = fchmod */ - { AS(fchown_args), (sy_call_t *)fchown, AUE_FCHOWN, NULL, 0, 0, 0 }, /* 95 = fchown */ - { AS(linux_getpriority_args), (sy_call_t *)linux_getpriority, AUE_GETPRIORITY, NULL, 0, 0, 0 }, /* 96 = linux_getpriority */ - { AS(setpriority_args), (sy_call_t *)setpriority, AUE_SETPRIORITY, NULL, 0, 0, 0 }, /* 97 = setpriority */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 98 = profil */ - { AS(linux_statfs_args), (sy_call_t *)linux_statfs, AUE_STATFS, NULL, 0, 0, 0 }, /* 99 = linux_statfs */ - { AS(linux_fstatfs_args), (sy_call_t *)linux_fstatfs, AUE_FSTATFS, NULL, 0, 0, 0 }, /* 100 = linux_fstatfs */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 101 = ioperm */ - { AS(linux_socketcall_args), (sy_call_t *)linux_socketcall, AUE_NULL, NULL, 0, 0, 0 }, /* 102 = linux_socketcall */ - { AS(linux_syslog_args), (sy_call_t *)linux_syslog, AUE_NULL, NULL, 0, 0, 0 }, /* 103 = linux_syslog */ - { AS(linux_setitimer_args), (sy_call_t *)linux_setitimer, AUE_SETITIMER, NULL, 0, 0, 0 }, /* 104 = linux_setitimer */ - { AS(linux_getitimer_args), (sy_call_t *)linux_getitimer, AUE_GETITIMER, NULL, 0, 0, 0 }, /* 105 = linux_getitimer */ - { AS(linux_newstat_args), (sy_call_t *)linux_newstat, AUE_STAT, NULL, 0, 0, 0 }, /* 106 = linux_newstat */ - { AS(linux_newlstat_args), (sy_call_t *)linux_newlstat, AUE_LSTAT, NULL, 0, 0, 0 }, /* 107 = linux_newlstat */ - { AS(linux_newfstat_args), (sy_call_t *)linux_newfstat, AUE_FSTAT, NULL, 0, 0, 0 }, /* 108 = linux_newfstat */ - { 0, (sy_call_t *)linux_uname, AUE_NULL, NULL, 0, 0, 0 }, /* 109 = linux_uname */ - { AS(linux_iopl_args), (sy_call_t *)linux_iopl, AUE_NULL, NULL, 0, 0, 0 }, /* 110 = linux_iopl */ - { 0, (sy_call_t *)linux_vhangup, AUE_NULL, NULL, 0, 0, 0 }, /* 111 = linux_vhangup */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 112 = idle */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 113 = vm86old */ - { AS(linux_wait4_args), (sy_call_t *)linux_wait4, AUE_WAIT4, NULL, 0, 0, 0 }, /* 114 = linux_wait4 */ - { 0, (sy_call_t *)linux_swapoff, AUE_SWAPOFF, NULL, 0, 0, 0 }, /* 115 = linux_swapoff */ - { AS(linux_sysinfo_args), (sy_call_t *)linux_sysinfo, AUE_NULL, NULL, 0, 0, 0 }, /* 116 = linux_sysinfo */ - { AS(linux_ipc_args), (sy_call_t *)linux_ipc, AUE_NULL, NULL, 0, 0, 0 }, /* 117 = linux_ipc */ - { AS(fsync_args), (sy_call_t *)fsync, AUE_FSYNC, NULL, 0, 0, 0 }, /* 118 = fsync */ - { AS(linux_sigreturn_args), (sy_call_t *)linux_sigreturn, AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 119 = linux_sigreturn */ - { AS(linux_clone_args), (sy_call_t *)linux_clone, AUE_RFORK, NULL, 0, 0, 0 }, /* 120 = linux_clone */ - { AS(linux_setdomainname_args), (sy_call_t *)linux_setdomainname, AUE_SYSCTL, NULL, 0, 0, 0 }, /* 121 = linux_setdomainname */ - { AS(linux_newuname_args), (sy_call_t *)linux_newuname, AUE_NULL, NULL, 0, 0, 0 }, /* 122 = linux_newuname */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 123 = modify_ldt */ - { 0, (sy_call_t *)linux_adjtimex, AUE_ADJTIME, NULL, 0, 0, 0 }, /* 124 = linux_adjtimex */ - { AS(linux_mprotect_args), (sy_call_t *)linux_mprotect, AUE_MPROTECT, NULL, 0, 0, 0 }, /* 125 = linux_mprotect */ - { AS(linux_sigprocmask_args), (sy_call_t *)linux_sigprocmask, AUE_SIGPROCMASK, NULL, 0, 0, 0 }, /* 126 = linux_sigprocmask */ - { 0, (sy_call_t *)linux_create_module, AUE_NULL, NULL, 0, 0, 0 }, /* 127 = linux_create_module */ - { 0, (sy_call_t *)linux_init_module, AUE_NULL, NULL, 0, 0, 0 }, /* 128 = linux_init_module */ - { 0, (sy_call_t *)linux_delete_module, AUE_NULL, NULL, 0, 0, 0 }, /* 129 = linux_delete_module */ - { 0, (sy_call_t *)linux_get_kernel_syms, AUE_NULL, NULL, 0, 0, 0 }, /* 130 = linux_get_kernel_syms */ - { 0, (sy_call_t *)linux_quotactl, AUE_QUOTACTL, NULL, 0, 0, 0 }, /* 131 = linux_quotactl */ - { AS(getpgid_args), (sy_call_t *)getpgid, AUE_GETPGID, NULL, 0, 0, 0 }, /* 132 = getpgid */ - { AS(fchdir_args), (sy_call_t *)fchdir, AUE_FCHDIR, NULL, 0, 0, 0 }, /* 133 = fchdir */ - { 0, (sy_call_t *)linux_bdflush, AUE_BDFLUSH, NULL, 0, 0, 0 }, /* 134 = linux_bdflush */ - { AS(linux_sysfs_args), (sy_call_t *)linux_sysfs, AUE_NULL, NULL, 0, 0, 0 }, /* 135 = linux_sysfs */ - { AS(linux_personality_args), (sy_call_t *)linux_personality, AUE_PERSONALITY, NULL, 0, 0, 0 }, /* 136 = linux_personality */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 137 = afs_syscall */ - { AS(linux_setfsuid16_args), (sy_call_t *)linux_setfsuid16, AUE_SETFSUID, NULL, 0, 0, 0 }, /* 138 = linux_setfsuid16 */ - { AS(linux_setfsgid16_args), (sy_call_t *)linux_setfsgid16, AUE_SETFSGID, NULL, 0, 0, 0 }, /* 139 = linux_setfsgid16 */ - { AS(linux_llseek_args), (sy_call_t *)linux_llseek, AUE_LSEEK, NULL, 0, 0, 0 }, /* 140 = linux_llseek */ - { AS(linux_getdents_args), (sy_call_t *)linux_getdents, AUE_GETDIRENTRIES, NULL, 0, 0, 0 }, /* 141 = linux_getdents */ - { AS(linux_select_args), (sy_call_t *)linux_select, AUE_SELECT, NULL, 0, 0, 0 }, /* 142 = linux_select */ - { AS(flock_args), (sy_call_t *)flock, AUE_FLOCK, NULL, 0, 0, 0 }, /* 143 = flock */ - { AS(linux_msync_args), (sy_call_t *)linux_msync, AUE_MSYNC, NULL, 0, 0, 0 }, /* 144 = linux_msync */ - { AS(linux_readv_args), (sy_call_t *)linux_readv, AUE_READV, NULL, 0, 0, 0 }, /* 145 = linux_readv */ - { AS(linux_writev_args), (sy_call_t *)linux_writev, AUE_WRITEV, NULL, 0, 0, 0 }, /* 146 = linux_writev */ - { AS(linux_getsid_args), (sy_call_t *)linux_getsid, AUE_GETSID, NULL, 0, 0, 0 }, /* 147 = linux_getsid */ - { AS(linux_fdatasync_args), (sy_call_t *)linux_fdatasync, AUE_NULL, NULL, 0, 0, 0 }, /* 148 = linux_fdatasync */ - { AS(linux_sysctl_args), (sy_call_t *)linux_sysctl, AUE_SYSCTL, NULL, 0, 0, 0 }, /* 149 = linux_sysctl */ - { AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0, 0 }, /* 150 = mlock */ - { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0, 0 }, /* 151 = munlock */ - { AS(mlockall_args), (sy_call_t *)mlockall, AUE_MLOCKALL, NULL, 0, 0, 0 }, /* 152 = mlockall */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007062320.o66NKip4013955>