From owner-svn-src-projects@FreeBSD.ORG Sun Sep 1 07:09:47 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 78789ED5; Sun, 1 Sep 2013 07:09:47 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 637D42AD2; Sun, 1 Sep 2013 07:09:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r8179lVi093978; Sun, 1 Sep 2013 07:09:47 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r8179hjM093951; Sun, 1 Sep 2013 07:09:43 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201309010709.r8179hjM093951@svn.freebsd.org> From: Neel Natu Date: Sun, 1 Sep 2013 07:09:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255113 - in projects/bhyve_npt_pmap: . bin/ps bin/sh cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/common/ctf cddl/contrib/opensolaris/lib/libctf/common cddl/contrib/open... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Sep 2013 07:09:47 -0000 Author: neel Date: Sun Sep 1 07:09:42 2013 New Revision: 255113 URL: http://svnweb.freebsd.org/changeset/base/255113 Log: IFC @255028 Added: projects/bhyve_npt_pmap/cddl/lib/libdtrace/ip.d - copied unchanged from r255028, head/cddl/lib/libdtrace/ip.d projects/bhyve_npt_pmap/cddl/lib/libdtrace/tcp.d - copied unchanged from r255028, head/cddl/lib/libdtrace/tcp.d projects/bhyve_npt_pmap/cddl/lib/libdtrace/udp.d - copied unchanged from r255028, head/cddl/lib/libdtrace/udp.d projects/bhyve_npt_pmap/contrib/llvm/tools/lldb/ - copied from r255028, head/contrib/llvm/tools/lldb/ projects/bhyve_npt_pmap/etc/periodic/monthly/450.status-security - copied unchanged from r255028, head/etc/periodic/monthly/450.status-security projects/bhyve_npt_pmap/etc/periodic/weekly/450.status-security - copied unchanged from r255028, head/etc/periodic/weekly/450.status-security projects/bhyve_npt_pmap/share/man/man4/procdesc.4 - copied unchanged from r255028, head/share/man/man4/procdesc.4 projects/bhyve_npt_pmap/share/man/man4/vmx.4 - copied unchanged from r255028, head/share/man/man4/vmx.4 projects/bhyve_npt_pmap/sys/contrib/dev/drm2/ - copied from r255028, head/sys/contrib/dev/drm2/ projects/bhyve_npt_pmap/sys/contrib/dev/iwn/iwlwifi-2000-18.168.6.1.fw.uu - copied unchanged from r255028, head/sys/contrib/dev/iwn/iwlwifi-2000-18.168.6.1.fw.uu projects/bhyve_npt_pmap/sys/dev/drm2/ati_pcigart.c - copied unchanged from r255028, head/sys/dev/drm2/ati_pcigart.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_buffer.c - copied unchanged from r255028, head/sys/dev/drm2/drm_buffer.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_buffer.h - copied unchanged from r255028, head/sys/dev/drm2/drm_buffer.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_core.h - copied unchanged from r255028, head/sys/dev/drm2/drm_core.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_dp_helper.c - copied unchanged from r255028, head/sys/dev/drm2/drm_dp_helper.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_fixed.h - copied unchanged from r255028, head/sys/dev/drm2/drm_fixed.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_os_freebsd.h - copied unchanged from r255028, head/sys/dev/drm2/drm_os_freebsd.h projects/bhyve_npt_pmap/sys/dev/drm2/radeon/ - copied from r255028, head/sys/dev/drm2/radeon/ projects/bhyve_npt_pmap/sys/dev/vmware/ - copied from r255028, head/sys/dev/vmware/ projects/bhyve_npt_pmap/sys/modules/drm2/radeonkms/ - copied from r255028, head/sys/modules/drm2/radeonkms/ projects/bhyve_npt_pmap/sys/modules/drm2/radeonkmsfw/ - copied from r255028, head/sys/modules/drm2/radeonkmsfw/ projects/bhyve_npt_pmap/sys/modules/iwnfw/iwn2000/ - copied from r255028, head/sys/modules/iwnfw/iwn2000/ projects/bhyve_npt_pmap/sys/modules/vmware/ - copied from r255028, head/sys/modules/vmware/ projects/bhyve_npt_pmap/sys/netinet/in_kdtrace.c - copied unchanged from r255028, head/sys/netinet/in_kdtrace.c projects/bhyve_npt_pmap/sys/netinet/in_kdtrace.h - copied unchanged from r255028, head/sys/netinet/in_kdtrace.h projects/bhyve_npt_pmap/tools/build/options/WITHOUT_ICONV - copied unchanged from r255028, head/tools/build/options/WITHOUT_ICONV projects/bhyve_npt_pmap/tools/build/options/WITH_LIBICONV_COMPAT - copied unchanged from r255028, head/tools/build/options/WITH_LIBICONV_COMPAT projects/bhyve_npt_pmap/tools/build/options/WITH_USB_GADGET_EXAMPLES - copied unchanged from r255028, head/tools/build/options/WITH_USB_GADGET_EXAMPLES projects/bhyve_npt_pmap/tools/regression/bin/sh/builtins/alias4.0 - copied unchanged from r255028, head/tools/regression/bin/sh/builtins/alias4.0 projects/bhyve_npt_pmap/tools/regression/bin/sh/expansion/arith13.0 - copied unchanged from r255028, head/tools/regression/bin/sh/expansion/arith13.0 projects/bhyve_npt_pmap/tools/regression/bin/sh/parser/empty-cmd1.0 - copied unchanged from r255028, head/tools/regression/bin/sh/parser/empty-cmd1.0 projects/bhyve_npt_pmap/tools/regression/file/fcntlflags/ - copied from r255028, head/tools/regression/file/fcntlflags/ projects/bhyve_npt_pmap/tools/tools/drm/ - copied from r255028, head/tools/tools/drm/ Deleted: projects/bhyve_npt_pmap/tools/build/options/WITH_BSDCONFIG projects/bhyve_npt_pmap/tools/build/options/WITH_GNU_PATCH projects/bhyve_npt_pmap/tools/build/options/WITH_ICONV Modified: projects/bhyve_npt_pmap/ObsoleteFiles.inc projects/bhyve_npt_pmap/UPDATING projects/bhyve_npt_pmap/bin/ps/keyword.c projects/bhyve_npt_pmap/bin/ps/ps.1 projects/bhyve_npt_pmap/bin/sh/alias.c projects/bhyve_npt_pmap/bin/sh/arith_yylex.c projects/bhyve_npt_pmap/bin/sh/jobs.c projects/bhyve_npt_pmap/bin/sh/parser.c projects/bhyve_npt_pmap/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_create.c projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_error.c projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_impl.h projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_open.c projects/bhyve_npt_pmap/cddl/contrib/opensolaris/lib/libctf/common/ctf_lib.c projects/bhyve_npt_pmap/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c projects/bhyve_npt_pmap/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c projects/bhyve_npt_pmap/cddl/lib/libdtrace/Makefile projects/bhyve_npt_pmap/cddl/lib/libzpool/Makefile projects/bhyve_npt_pmap/cddl/usr.bin/ztest/Makefile projects/bhyve_npt_pmap/cddl/usr.sbin/zdb/Makefile projects/bhyve_npt_pmap/contrib/llvm/include/llvm/MC/MCInstPrinter.h projects/bhyve_npt_pmap/contrib/llvm/lib/MC/MCInstPrinter.cpp projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp projects/bhyve_npt_pmap/contrib/pam_modules/pam_passwdqc/pam_passwdqc.c projects/bhyve_npt_pmap/etc/defaults/periodic.conf projects/bhyve_npt_pmap/etc/network.subr projects/bhyve_npt_pmap/etc/periodic/monthly/Makefile projects/bhyve_npt_pmap/etc/periodic/security/100.chksetuid projects/bhyve_npt_pmap/etc/periodic/security/110.neggrpperm projects/bhyve_npt_pmap/etc/periodic/security/200.chkmounts projects/bhyve_npt_pmap/etc/periodic/security/300.chkuid0 projects/bhyve_npt_pmap/etc/periodic/security/400.passwdless projects/bhyve_npt_pmap/etc/periodic/security/410.logincheck projects/bhyve_npt_pmap/etc/periodic/security/460.chkportsum projects/bhyve_npt_pmap/etc/periodic/security/500.ipfwdenied projects/bhyve_npt_pmap/etc/periodic/security/510.ipfdenied projects/bhyve_npt_pmap/etc/periodic/security/520.pfdenied projects/bhyve_npt_pmap/etc/periodic/security/550.ipfwlimit projects/bhyve_npt_pmap/etc/periodic/security/610.ipf6denied projects/bhyve_npt_pmap/etc/periodic/security/700.kernelmsg projects/bhyve_npt_pmap/etc/periodic/security/800.loginfail projects/bhyve_npt_pmap/etc/periodic/security/900.tcpwrap projects/bhyve_npt_pmap/etc/periodic/security/security.functions projects/bhyve_npt_pmap/etc/periodic/weekly/Makefile projects/bhyve_npt_pmap/etc/rc.d/savecore projects/bhyve_npt_pmap/gnu/usr.bin/patch/Makefile projects/bhyve_npt_pmap/lib/libc/gen/wordexp.c projects/bhyve_npt_pmap/lib/libc/sys/pdfork.2 projects/bhyve_npt_pmap/lib/libpam/modules/pam_passwdqc/Makefile projects/bhyve_npt_pmap/lib/libutil/login_auth.c projects/bhyve_npt_pmap/lib/libutil/login_cap.c projects/bhyve_npt_pmap/lib/libutil/pidfile.c projects/bhyve_npt_pmap/lib/libutil/quotafile.c projects/bhyve_npt_pmap/lib/libutil/uucplock.c projects/bhyve_npt_pmap/lib/msun/src/s_erf.c projects/bhyve_npt_pmap/lib/msun/src/s_erff.c projects/bhyve_npt_pmap/release/scripts/mm-mtree.sh projects/bhyve_npt_pmap/sbin/camcontrol/camcontrol.c projects/bhyve_npt_pmap/share/man/man4/Makefile projects/bhyve_npt_pmap/share/man/man4/capsicum.4 projects/bhyve_npt_pmap/share/man/man4/cd.4 projects/bhyve_npt_pmap/share/man/man4/sa.4 projects/bhyve_npt_pmap/share/man/man4/sysmouse.4 projects/bhyve_npt_pmap/share/man/man5/periodic.conf.5 projects/bhyve_npt_pmap/share/man/man5/src.conf.5 projects/bhyve_npt_pmap/share/man/man9/EVENTHANDLER.9 projects/bhyve_npt_pmap/share/man/man9/Makefile projects/bhyve_npt_pmap/share/man/man9/pfil.9 projects/bhyve_npt_pmap/share/man/man9/timeout.9 projects/bhyve_npt_pmap/share/misc/committers-src.dot projects/bhyve_npt_pmap/share/mk/bsd.own.mk projects/bhyve_npt_pmap/share/mk/sys.mk projects/bhyve_npt_pmap/sys/amd64/amd64/pmap.c projects/bhyve_npt_pmap/sys/amd64/vmm/vmm_instruction_emul.c projects/bhyve_npt_pmap/sys/arm/arm/irq_dispatch.S projects/bhyve_npt_pmap/sys/arm/arm/pmap-v6.c projects/bhyve_npt_pmap/sys/arm/arm/pmap.c projects/bhyve_npt_pmap/sys/arm/arm/swtch.S projects/bhyve_npt_pmap/sys/arm/conf/VERSATILEPB projects/bhyve_npt_pmap/sys/arm/include/param.h projects/bhyve_npt_pmap/sys/arm/include/pmap.h projects/bhyve_npt_pmap/sys/arm/include/pte.h projects/bhyve_npt_pmap/sys/arm/include/vmparam.h projects/bhyve_npt_pmap/sys/boot/forth/beastie.4th projects/bhyve_npt_pmap/sys/boot/forth/version.4th projects/bhyve_npt_pmap/sys/boot/forth/version.4th.8 projects/bhyve_npt_pmap/sys/boot/i386/libi386/biosacpi.c projects/bhyve_npt_pmap/sys/cam/cam_xpt.c projects/bhyve_npt_pmap/sys/cam/ctl/ctl.c projects/bhyve_npt_pmap/sys/cam/ctl/ctl.h projects/bhyve_npt_pmap/sys/cam/ctl/ctl_backend.h projects/bhyve_npt_pmap/sys/cam/ctl/ctl_backend_block.c projects/bhyve_npt_pmap/sys/cam/ctl/ctl_backend_ramdisk.c projects/bhyve_npt_pmap/sys/cam/ctl/ctl_frontend.h projects/bhyve_npt_pmap/sys/cam/ctl/ctl_io.h projects/bhyve_npt_pmap/sys/cam/scsi/scsi_all.c projects/bhyve_npt_pmap/sys/cam/scsi/scsi_sa.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h projects/bhyve_npt_pmap/sys/cddl/dev/dtrace/dtrace_load.c projects/bhyve_npt_pmap/sys/cddl/dev/dtrace/dtrace_unload.c projects/bhyve_npt_pmap/sys/cddl/dev/sdt/sdt.c projects/bhyve_npt_pmap/sys/compat/freebsd32/freebsd32.h projects/bhyve_npt_pmap/sys/compat/ndis/kern_ndis.c projects/bhyve_npt_pmap/sys/compat/ndis/ndis_var.h projects/bhyve_npt_pmap/sys/conf/Makefile.amd64 projects/bhyve_npt_pmap/sys/conf/files projects/bhyve_npt_pmap/sys/conf/files.amd64 projects/bhyve_npt_pmap/sys/conf/files.i386 projects/bhyve_npt_pmap/sys/contrib/dev/acpica/acpica_prep.sh projects/bhyve_npt_pmap/sys/contrib/dev/acpica/changes.txt (contents, props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/common/adisasm.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/common/adwalk.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/common/dmextern.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/common/dmtable.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/compiler/aslcompile.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/compiler/aslglobal.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/compiler/aslload.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/compiler/aslmain.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/compiler/asloptions.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/compiler/dtcompile.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/debugger/dbcmds.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/debugger/dbfileio.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/debugger/dbnames.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/events/evgpeutil.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/events/evmisc.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/events/evregion.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/events/evsci.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/events/evxface.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/hardware/hwxface.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/namespace/nsdump.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/namespace/nsxfeval.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/tables/tbinstal.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/tables/tbprint.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/tables/tbxfroot.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/utilities/utdebug.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/utilities/utglobal.c projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/acdebug.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/acdisasm.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/acevents.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/acexcep.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/acglobal.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/aclocal.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/acnamesp.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/acpiosxf.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/acpixf.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/actypes.h projects/bhyve_npt_pmap/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c projects/bhyve_npt_pmap/sys/contrib/rdma/krping/krping.c projects/bhyve_npt_pmap/sys/contrib/rdma/krping/krping.h projects/bhyve_npt_pmap/sys/contrib/rdma/krping/krping_dev.c projects/bhyve_npt_pmap/sys/dev/ahci/ahci.c projects/bhyve_npt_pmap/sys/dev/amdtemp/amdtemp.c projects/bhyve_npt_pmap/sys/dev/ath/if_ath.c projects/bhyve_npt_pmap/sys/dev/cas/if_cas.c projects/bhyve_npt_pmap/sys/dev/cxgb/cxgb_sge.c projects/bhyve_npt_pmap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c projects/bhyve_npt_pmap/sys/dev/cxgbe/adapter.h projects/bhyve_npt_pmap/sys/dev/cxgbe/offload.h projects/bhyve_npt_pmap/sys/dev/cxgbe/osdep.h projects/bhyve_npt_pmap/sys/dev/cxgbe/t4_main.c projects/bhyve_npt_pmap/sys/dev/cxgbe/t4_sge.c projects/bhyve_npt_pmap/sys/dev/cxgbe/t4_tracer.c projects/bhyve_npt_pmap/sys/dev/cxgbe/tom/t4_cpl_io.c projects/bhyve_npt_pmap/sys/dev/cxgbe/tom/t4_tom.c projects/bhyve_npt_pmap/sys/dev/drm2/drmP.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_atomic.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_crtc.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_crtc.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_crtc_helper.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_dp_helper.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_dp_iic_helper.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_drv.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_edid.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_gem.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_gem_names.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_ioctl.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_irq.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_linux_list.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_pci.c projects/bhyve_npt_pmap/sys/dev/drm2/drm_pciids.h projects/bhyve_npt_pmap/sys/dev/drm2/drm_sysctl.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/i915_gem.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/i915_gem_execbuffer.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/intel_crt.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/intel_display.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/intel_dp.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/intel_drv.h projects/bhyve_npt_pmap/sys/dev/drm2/i915/intel_hdmi.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/intel_lvds.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/intel_panel.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/intel_sdvo.c projects/bhyve_npt_pmap/sys/dev/drm2/i915/intel_tv.c projects/bhyve_npt_pmap/sys/dev/drm2/ttm/ttm_bo.c projects/bhyve_npt_pmap/sys/dev/drm2/ttm/ttm_bo_driver.h projects/bhyve_npt_pmap/sys/dev/drm2/ttm/ttm_bo_util.c projects/bhyve_npt_pmap/sys/dev/drm2/ttm/ttm_bo_vm.c projects/bhyve_npt_pmap/sys/dev/drm2/ttm/ttm_execbuf_util.c projects/bhyve_npt_pmap/sys/dev/drm2/ttm/ttm_page_alloc.c projects/bhyve_npt_pmap/sys/dev/drm2/ttm/ttm_tt.c projects/bhyve_npt_pmap/sys/dev/e1000/if_igb.c projects/bhyve_npt_pmap/sys/dev/fb/vesa.c projects/bhyve_npt_pmap/sys/dev/fdc/fdc.c projects/bhyve_npt_pmap/sys/dev/flash/mx25l.c projects/bhyve_npt_pmap/sys/dev/gpio/gpiobus.c projects/bhyve_npt_pmap/sys/dev/hatm/if_hatm_intr.c projects/bhyve_npt_pmap/sys/dev/hwpmc/hwpmc_core.c projects/bhyve_npt_pmap/sys/dev/hwpmc/hwpmc_mod.c projects/bhyve_npt_pmap/sys/dev/hwpmc/pmc_events.h projects/bhyve_npt_pmap/sys/dev/if_ndis/if_ndis.c projects/bhyve_npt_pmap/sys/dev/iscsi_initiator/isc_soc.c projects/bhyve_npt_pmap/sys/dev/iwn/if_iwn.c projects/bhyve_npt_pmap/sys/dev/ixgbe/ixgbe.c projects/bhyve_npt_pmap/sys/dev/ixgbe/ixv.c projects/bhyve_npt_pmap/sys/dev/jme/if_jme.c projects/bhyve_npt_pmap/sys/dev/lge/if_lge.c projects/bhyve_npt_pmap/sys/dev/mfi/mfi_cam.c projects/bhyve_npt_pmap/sys/dev/mwl/if_mwl.c projects/bhyve_npt_pmap/sys/dev/nfe/if_nfe.c projects/bhyve_npt_pmap/sys/dev/patm/if_patm.c projects/bhyve_npt_pmap/sys/dev/patm/if_patm_tx.c projects/bhyve_npt_pmap/sys/dev/pci/pcivar.h projects/bhyve_npt_pmap/sys/dev/pci/vga_pci.c projects/bhyve_npt_pmap/sys/dev/qlxgb/qla_hw.c projects/bhyve_npt_pmap/sys/dev/qlxgbe/ql_misc.c projects/bhyve_npt_pmap/sys/dev/qlxgbe/ql_os.c projects/bhyve_npt_pmap/sys/dev/sfxge/sfxge_rx.c projects/bhyve_npt_pmap/sys/dev/usb/controller/dwc_otg.c projects/bhyve_npt_pmap/sys/dev/usb/controller/musb_otg.c projects/bhyve_npt_pmap/sys/dev/wb/if_wb.c projects/bhyve_npt_pmap/sys/dev/xen/blkfront/blkfront.c projects/bhyve_npt_pmap/sys/dev/xen/netback/netback.c projects/bhyve_npt_pmap/sys/fs/nfs/nfs.h projects/bhyve_npt_pmap/sys/fs/tmpfs/tmpfs_subr.c projects/bhyve_npt_pmap/sys/fs/tmpfs/tmpfs_vfsops.c projects/bhyve_npt_pmap/sys/geom/geom_disk.c projects/bhyve_npt_pmap/sys/geom/zero/g_zero.c projects/bhyve_npt_pmap/sys/i386/i386/pmap.c projects/bhyve_npt_pmap/sys/i386/xen/pmap.c projects/bhyve_npt_pmap/sys/ia64/ia64/pmap.c projects/bhyve_npt_pmap/sys/kern/kern_event.c projects/bhyve_npt_pmap/sys/kern/kern_jail.c projects/bhyve_npt_pmap/sys/kern/kern_linker.c projects/bhyve_npt_pmap/sys/kern/kern_mbuf.c projects/bhyve_npt_pmap/sys/kern/kern_physio.c projects/bhyve_npt_pmap/sys/kern/kern_proc.c projects/bhyve_npt_pmap/sys/kern/link_elf.c projects/bhyve_npt_pmap/sys/kern/subr_mbpool.c projects/bhyve_npt_pmap/sys/kern/subr_taskqueue.c projects/bhyve_npt_pmap/sys/kern/uipc_cow.c projects/bhyve_npt_pmap/sys/kern/uipc_mbuf.c projects/bhyve_npt_pmap/sys/kern/uipc_syscalls.c projects/bhyve_npt_pmap/sys/kern/vfs_cluster.c projects/bhyve_npt_pmap/sys/mips/atheros/ar71xx_spi.c projects/bhyve_npt_pmap/sys/mips/atheros/if_arge.c projects/bhyve_npt_pmap/sys/mips/conf/ROUTERSTATION.hints projects/bhyve_npt_pmap/sys/mips/malta/gt_pci.c projects/bhyve_npt_pmap/sys/mips/malta/yamon.c projects/bhyve_npt_pmap/sys/mips/mips/pmap.c projects/bhyve_npt_pmap/sys/modules/Makefile projects/bhyve_npt_pmap/sys/modules/drm2/Makefile projects/bhyve_npt_pmap/sys/modules/drm2/drm2/Makefile projects/bhyve_npt_pmap/sys/modules/ip6_mroute_mod/Makefile projects/bhyve_npt_pmap/sys/modules/linux/Makefile projects/bhyve_npt_pmap/sys/modules/rdma/Makefile projects/bhyve_npt_pmap/sys/net/if.h projects/bhyve_npt_pmap/sys/net/if_fddisubr.c projects/bhyve_npt_pmap/sys/net/if_iso88025subr.c projects/bhyve_npt_pmap/sys/net/if_llatbl.h projects/bhyve_npt_pmap/sys/net/if_pfsync.h projects/bhyve_npt_pmap/sys/net/pfil.c projects/bhyve_npt_pmap/sys/net/pfil.h projects/bhyve_npt_pmap/sys/net80211/ieee80211_output.c projects/bhyve_npt_pmap/sys/net80211/ieee80211_proto.h projects/bhyve_npt_pmap/sys/net80211/ieee80211_superg.c projects/bhyve_npt_pmap/sys/netinet/icmp_var.h projects/bhyve_npt_pmap/sys/netinet/igmp.c projects/bhyve_npt_pmap/sys/netinet/igmp_var.h projects/bhyve_npt_pmap/sys/netinet/in.h projects/bhyve_npt_pmap/sys/netinet/ip_fastfwd.c projects/bhyve_npt_pmap/sys/netinet/ip_input.c projects/bhyve_npt_pmap/sys/netinet/ip_output.c projects/bhyve_npt_pmap/sys/netinet/pim_var.h projects/bhyve_npt_pmap/sys/netinet/sctp_input.c projects/bhyve_npt_pmap/sys/netinet/tcp_input.c projects/bhyve_npt_pmap/sys/netinet/tcp_lro.c projects/bhyve_npt_pmap/sys/netinet/tcp_lro.h projects/bhyve_npt_pmap/sys/netinet/tcp_output.c projects/bhyve_npt_pmap/sys/netinet/tcp_subr.c projects/bhyve_npt_pmap/sys/netinet/tcp_syncache.c projects/bhyve_npt_pmap/sys/netinet/tcp_usrreq.c projects/bhyve_npt_pmap/sys/netinet/tcp_var.h projects/bhyve_npt_pmap/sys/netinet/udp_usrreq.c projects/bhyve_npt_pmap/sys/netinet/udp_var.h projects/bhyve_npt_pmap/sys/netinet6/ip6_input.c projects/bhyve_npt_pmap/sys/netinet6/ip6_mroute.c projects/bhyve_npt_pmap/sys/netinet6/ip6_output.c projects/bhyve_npt_pmap/sys/netinet6/mld6.c projects/bhyve_npt_pmap/sys/netinet6/nd6.c projects/bhyve_npt_pmap/sys/netinet6/pim6_var.h projects/bhyve_npt_pmap/sys/netinet6/sctp6_usrreq.c projects/bhyve_npt_pmap/sys/netinet6/send.c projects/bhyve_npt_pmap/sys/netinet6/udp6_usrreq.c projects/bhyve_npt_pmap/sys/netipsec/ipsec.h projects/bhyve_npt_pmap/sys/netipsec/key_var.h projects/bhyve_npt_pmap/sys/netpfil/ipfw/ip_dummynet.c projects/bhyve_npt_pmap/sys/netpfil/ipfw/ip_fw2.c projects/bhyve_npt_pmap/sys/netpfil/ipfw/ip_fw_nat.c projects/bhyve_npt_pmap/sys/netpfil/ipfw/ip_fw_private.h projects/bhyve_npt_pmap/sys/ofed/drivers/net/mlx4/en_frag.c projects/bhyve_npt_pmap/sys/ofed/include/linux/net.h projects/bhyve_npt_pmap/sys/powerpc/powermac/kiic.c projects/bhyve_npt_pmap/sys/powerpc/powerpc/mmu_if.m projects/bhyve_npt_pmap/sys/powerpc/powerpc/pmap_dispatch.c projects/bhyve_npt_pmap/sys/sparc64/sparc64/pmap.c projects/bhyve_npt_pmap/sys/sys/conf.h projects/bhyve_npt_pmap/sys/sys/eventhandler.h projects/bhyve_npt_pmap/sys/sys/fcntl.h projects/bhyve_npt_pmap/sys/sys/jail.h projects/bhyve_npt_pmap/sys/sys/mbpool.h projects/bhyve_npt_pmap/sys/sys/mbuf.h projects/bhyve_npt_pmap/sys/sys/mount.h projects/bhyve_npt_pmap/sys/sys/param.h projects/bhyve_npt_pmap/sys/sys/pmckern.h projects/bhyve_npt_pmap/sys/sys/sf_buf.h projects/bhyve_npt_pmap/sys/sys/socket.h projects/bhyve_npt_pmap/sys/sys/sysctl.h projects/bhyve_npt_pmap/sys/sys/user.h projects/bhyve_npt_pmap/sys/ufs/ffs/ffs_alloc.c projects/bhyve_npt_pmap/sys/ufs/ufs/ufs_dirhash.c projects/bhyve_npt_pmap/sys/vm/pmap.h projects/bhyve_npt_pmap/sys/vm/vm_map.c projects/bhyve_npt_pmap/sys/vm/vm_page.c projects/bhyve_npt_pmap/tools/tools/README projects/bhyve_npt_pmap/usr.bin/brandelf/brandelf.1 projects/bhyve_npt_pmap/usr.bin/kdump/kdump.c projects/bhyve_npt_pmap/usr.bin/kdump/mksubr projects/bhyve_npt_pmap/usr.bin/patch/Makefile projects/bhyve_npt_pmap/usr.sbin/bhyve/pci_emul.c projects/bhyve_npt_pmap/usr.sbin/bhyve/pci_virtio_block.c projects/bhyve_npt_pmap/usr.sbin/crashinfo/crashinfo.sh projects/bhyve_npt_pmap/usr.sbin/jail/jail.8 projects/bhyve_npt_pmap/usr.sbin/mfiutil/mfi_drive.c projects/bhyve_npt_pmap/usr.sbin/mfiutil/mfiutil.8 projects/bhyve_npt_pmap/usr.sbin/mfiutil/mfiutil.c projects/bhyve_npt_pmap/usr.sbin/periodic/periodic.sh projects/bhyve_npt_pmap/usr.sbin/rtadvd/config.c Directory Properties: projects/bhyve_npt_pmap/ (props changed) projects/bhyve_npt_pmap/cddl/ (props changed) projects/bhyve_npt_pmap/cddl/contrib/opensolaris/ (props changed) projects/bhyve_npt_pmap/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/bhyve_npt_pmap/contrib/llvm/ (props changed) projects/bhyve_npt_pmap/lib/libc/ (props changed) projects/bhyve_npt_pmap/lib/libutil/ (props changed) projects/bhyve_npt_pmap/sbin/ (props changed) projects/bhyve_npt_pmap/share/man/man4/ (props changed) projects/bhyve_npt_pmap/sys/ (props changed) projects/bhyve_npt_pmap/sys/amd64/vmm/ (props changed) projects/bhyve_npt_pmap/sys/boot/ (props changed) projects/bhyve_npt_pmap/sys/cddl/contrib/opensolaris/ (props changed) projects/bhyve_npt_pmap/sys/conf/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/common/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/compiler/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/debugger/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/events/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/hardware/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/namespace/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/tables/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/components/utilities/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/include/ (props changed) projects/bhyve_npt_pmap/sys/contrib/dev/acpica/os_specific/ (props changed) projects/bhyve_npt_pmap/usr.sbin/bhyve/ (props changed) projects/bhyve_npt_pmap/usr.sbin/jail/ (props changed) projects/bhyve_npt_pmap/usr.sbin/rtadvd/ (props changed) Modified: projects/bhyve_npt_pmap/ObsoleteFiles.inc ============================================================================== --- projects/bhyve_npt_pmap/ObsoleteFiles.inc Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/ObsoleteFiles.inc Sun Sep 1 07:09:42 2013 (r255113) @@ -38,6 +38,14 @@ # xargs -n1 | sort | uniq -d; # done +# 20130822: bind 9.9.3-P2 import +OLD_LIBS+=usr/lib/liblwres.so.80 +# 20130814: vm_page_busy(9) +OLD_FILES+=usr/share/man/man9/vm_page_flash.9.gz +OLD_FILES+=usr/share/man/man9/vm_page_io.9.gz +OLD_FILES+=usr/share/man/man9/vm_page_io_finish.9.gz +OLD_FILES+=usr/share/man/man9/vm_page_io_start.9.gz +OLD_FILES+=usr/share/man/man9/vm_page_wakeup.9.gz # 20130710: libkvm version bump OLD_LIBS+=lib/libkvm.so.5 OLD_LIBS+=usr/lib32/libkvm.so.5 @@ -114,6 +122,7 @@ OLD_FILES+=usr/include/clang/3.2/xmmintr OLD_FILES+=usr/include/clang/3.2/xopintrin.h OLD_DIRS+=usr/include/clang/3.2 # 20130404: legacy ATA stack removed +OLD_FILES+=etc/periodic/daily/405.status-ata-raid OLD_FILES+=rescue/atacontrol OLD_FILES+=sbin/atacontrol OLD_FILES+=usr/share/man/man8/atacontrol.8.gz Modified: projects/bhyve_npt_pmap/UPDATING ============================================================================== --- projects/bhyve_npt_pmap/UPDATING Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/UPDATING Sun Sep 1 07:09:42 2013 (r255113) @@ -31,6 +31,19 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20130827: + Thomas Dickey (vendor author thereof) reports that dialog(1) since + 2011/10/18 has a bug in handling --hline. Testers and I noticed the + --hline is not ignored but displayed as a NULL string, regardless of + value. This will cause confusion in some bsdconfig dialogs where the + --hline is used to inform users which keybindings to use. This will + likewise affect any other persons relying on --hline. It also looks + rather strange seeing "[]" at the bottom of dialog(1) widgets when + passing --hline "anything". Thomas said he will have a look in a few + weeks. NOTE: The "[]" brackets appear with the left-edge where it + would normally appear given the width of text to display, but the + displayed text is not there (part of the bug). + 20130821: The PADLOCK_RNG and RDRAND_RNG kernel options are now devices. Thus "device padlock_rng" and "device rdrand_rng" should be Modified: projects/bhyve_npt_pmap/bin/ps/keyword.c ============================================================================== --- projects/bhyve_npt_pmap/bin/ps/keyword.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/bin/ps/keyword.c Sun Sep 1 07:09:42 2013 (r255113) @@ -87,6 +87,7 @@ static VAR var[] = { {"etimes", "ELAPSED", NULL, USER, elapseds, 0, CHAR, NULL, 0}, {"euid", "", "uid", 0, NULL, 0, CHAR, NULL, 0}, {"f", "F", NULL, 0, kvar, KOFF(ki_flag), INT, "x", 0}, + {"fib", "FIB", NULL, 0, kvar, KOFF(ki_fibnum), INT, "d", 0}, {"flags", "", "f", 0, NULL, 0, CHAR, NULL, 0}, {"gid", "GID", NULL, 0, kvar, KOFF(ki_groups), UINT, UIDFMT, 0}, {"group", "GROUP", NULL, LJUST, egroupname, 0, CHAR, NULL, 0}, Modified: projects/bhyve_npt_pmap/bin/ps/ps.1 ============================================================================== --- projects/bhyve_npt_pmap/bin/ps/ps.1 Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/bin/ps/ps.1 Sun Sep 1 07:09:42 2013 (r255113) @@ -512,6 +512,9 @@ elapsed running time, format minutes:seconds. .It Cm etimes elapsed running time, in decimal integer seconds +.It Cm fib +default FIB number, see +.Xr setfib 1 .It Cm flags the process flags, in hexadecimal (alias .Cm f ) Modified: projects/bhyve_npt_pmap/bin/sh/alias.c ============================================================================== --- projects/bhyve_npt_pmap/bin/sh/alias.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/bin/sh/alias.c Sun Sep 1 07:09:42 2013 (r255113) @@ -237,17 +237,19 @@ printaliases(void) } int -aliascmd(int argc, char **argv) +aliascmd(int argc __unused, char **argv __unused) { char *n, *v; int ret = 0; struct alias *ap; - if (argc == 1) { + nextopt(""); + + if (*argptr == NULL) { printaliases(); return (0); } - while ((n = *++argv) != NULL) { + while ((n = *argptr++) != NULL) { if ((v = strchr(n+1, '=')) == NULL) /* n+1: funny ksh stuff */ if ((ap = lookupalias(n, 0)) == NULL) { warning("%s: not found", n); Modified: projects/bhyve_npt_pmap/bin/sh/arith_yylex.c ============================================================================== --- projects/bhyve_npt_pmap/bin/sh/arith_yylex.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/bin/sh/arith_yylex.c Sun Sep 1 07:09:42 2013 (r255113) @@ -218,9 +218,13 @@ checkeqcur: value += ARITH_REM - '%'; goto checkeq; case '+': + if (buf[1] == '+') + return ARITH_BAD; value += ARITH_ADD - '+'; goto checkeq; case '-': + if (buf[1] == '-') + return ARITH_BAD; value += ARITH_SUB - '-'; goto checkeq; case '~': Modified: projects/bhyve_npt_pmap/bin/sh/jobs.c ============================================================================== --- projects/bhyve_npt_pmap/bin/sh/jobs.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/bin/sh/jobs.c Sun Sep 1 07:09:42 2013 (r255113) @@ -495,14 +495,10 @@ waitcmdloop(struct job *job) in_waitcmd++; do { if (job != NULL) { - if (job->state) { + if (job->state == JOBDONE) { status = job->ps[job->nprocs - 1].status; if (WIFEXITED(status)) retval = WEXITSTATUS(status); -#if JOBS - else if (WIFSTOPPED(status)) - retval = WSTOPSIG(status) + 128; -#endif else retval = WTERMSIG(status) + 128; if (! iflag || ! job->changed) Modified: projects/bhyve_npt_pmap/bin/sh/parser.c ============================================================================== --- projects/bhyve_npt_pmap/bin/sh/parser.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/bin/sh/parser.c Sun Sep 1 07:09:42 2013 (r255113) @@ -573,7 +573,7 @@ TRACE(("expecting DO got %s %s\n", tokna synexpect(TEND); checkkwd = CHKKWD | CHKALIAS; break; - /* Handle an empty command like other simple commands. */ + /* A simple command must have at least one redirection or word. */ case TBACKGND: case TSEMI: case TAND: @@ -581,16 +581,12 @@ TRACE(("expecting DO got %s %s\n", tokna case TPIPE: case TENDCASE: case TFALLTHRU: - /* - * An empty command before a ; doesn't make much sense, and - * should certainly be disallowed in the case of `if ;'. - */ + case TEOF: + case TNL: + case TRP: if (!redir) synexpect(-1); - case TNL: - case TEOF: case TWORD: - case TRP: tokpushback++; n1 = simplecmd(rpp, redir); return n1; Modified: projects/bhyve_npt_pmap/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- projects/bhyve_npt_pmap/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sun Sep 1 07:09:42 2013 (r255113) @@ -25,6 +25,7 @@ * Copyright (c) 2012 by Delphix. All rights reserved. * Copyright (c) 2012 by Frederik Wessels. All rights reserved. * Copyright (c) 2012 Martin Matuska . All rights reserved. + * Copyright (c) 2013 by Prasad Joshi (sTec). All rights reserved. */ #include @@ -2128,8 +2129,10 @@ zpool_do_import(int argc, char **argv) errno = 0; searchguid = strtoull(argv[0], &endptr, 10); - if (errno != 0 || *endptr != '\0') + if (errno != 0 || *endptr != '\0') { searchname = argv[0]; + searchguid = 0; + } found_config = NULL; /* Modified: projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_create.c ============================================================================== --- projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_create.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_create.c Sun Sep 1 07:09:42 2013 (r255113) @@ -24,13 +24,15 @@ * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ - -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright (c) 2013, Joyent, Inc. All rights reserved. + */ #include #include #include #include +#include /* * This static string is used as the template for initially populating a @@ -167,6 +169,51 @@ ctf_copy_membnames(ctf_dtdef_t *dtd, uch } /* + * Only types of dyanmic CTF containers contain reference counts. These + * containers are marked RD/WR. Because of that we basically make this a no-op + * for compatability with non-dynamic CTF sections. This is also a no-op for + * types which are not dynamic types. It is the responsibility of the caller to + * make sure it is a valid type. We help that caller out on debug builds. + * + * Note that the reference counts are not maintained for types that are not + * within this container. In other words if we have a type in a parent, that + * will not have its reference count increased. On the flip side, the parent + * will not be allowed to remove dynamic types if it has children. + */ +static void +ctf_ref_inc(ctf_file_t *fp, ctf_id_t tid) +{ + ctf_dtdef_t *dtd = ctf_dtd_lookup(fp, tid); + + if (dtd == NULL) + return; + + if (!(fp->ctf_flags & LCTF_RDWR)) + return; + + dtd->dtd_ref++; +} + +/* + * Just as with ctf_ref_inc, this is a no-op on non-writeable containers and the + * caller should ensure that this is already a valid type. + */ +static void +ctf_ref_dec(ctf_file_t *fp, ctf_id_t tid) +{ + ctf_dtdef_t *dtd = ctf_dtd_lookup(fp, tid); + + if (dtd == NULL) + return; + + if (!(fp->ctf_flags & LCTF_RDWR)) + return; + + ASSERT(dtd->dtd_ref >= 1); + dtd->dtd_ref--; +} + +/* * If the specified CTF container is writable and has been modified, reload * this container with the updated type definitions. In order to make this * code and the rest of libctf as simple as possible, we perform updates by @@ -180,6 +227,10 @@ ctf_copy_membnames(ctf_dtdef_t *dtd, uch * ctf_bufopen() will return a new ctf_file_t, but we want to keep the fp * constant for the caller, so after ctf_bufopen() returns, we use bcopy to * swap the interior of the old and new ctf_file_t's, and then free the old. + * + * Note that the lists of dynamic types stays around and the resulting container + * is still writeable. Furthermore, the reference counts that are on the dtd's + * are still valid. */ int ctf_update(ctf_file_t *fp) @@ -432,6 +483,7 @@ ctf_dtd_delete(ctf_file_t *fp, ctf_dtdef ctf_dtdef_t *p, **q = &fp->ctf_dthash[h]; ctf_dmdef_t *dmd, *nmd; size_t len; + int kind, i; for (p = *q; p != NULL; p = p->dtd_hash) { if (p != dtd) @@ -443,7 +495,8 @@ ctf_dtd_delete(ctf_file_t *fp, ctf_dtdef if (p != NULL) *q = p->dtd_hash; - switch (CTF_INFO_KIND(dtd->dtd_data.ctt_info)) { + kind = CTF_INFO_KIND(dtd->dtd_data.ctt_info); + switch (kind) { case CTF_K_STRUCT: case CTF_K_UNION: case CTF_K_ENUM: @@ -454,14 +507,33 @@ ctf_dtd_delete(ctf_file_t *fp, ctf_dtdef ctf_free(dmd->dmd_name, len); fp->ctf_dtstrlen -= len; } + if (kind != CTF_K_ENUM) + ctf_ref_dec(fp, dmd->dmd_type); nmd = ctf_list_next(dmd); ctf_free(dmd, sizeof (ctf_dmdef_t)); } break; case CTF_K_FUNCTION: + ctf_ref_dec(fp, dtd->dtd_data.ctt_type); + for (i = 0; i < CTF_INFO_VLEN(dtd->dtd_data.ctt_info); i++) + if (dtd->dtd_u.dtu_argv[i] != 0) + ctf_ref_dec(fp, dtd->dtd_u.dtu_argv[i]); ctf_free(dtd->dtd_u.dtu_argv, sizeof (ctf_id_t) * CTF_INFO_VLEN(dtd->dtd_data.ctt_info)); break; + case CTF_K_ARRAY: + ctf_ref_dec(fp, dtd->dtd_u.dtu_arr.ctr_contents); + ctf_ref_dec(fp, dtd->dtd_u.dtu_arr.ctr_index); + break; + case CTF_K_TYPEDEF: + ctf_ref_dec(fp, dtd->dtd_data.ctt_type); + break; + case CTF_K_POINTER: + case CTF_K_VOLATILE: + case CTF_K_CONST: + case CTF_K_RESTRICT: + ctf_ref_dec(fp, dtd->dtd_data.ctt_type); + break; } if (dtd->dtd_name) { @@ -495,7 +567,9 @@ ctf_dtd_lookup(ctf_file_t *fp, ctf_id_t * Discard all of the dynamic type definitions that have been added to the * container since the last call to ctf_update(). We locate such types by * scanning the list and deleting elements that have type IDs greater than - * ctf_dtoldid, which is set by ctf_update(), above. + * ctf_dtoldid, which is set by ctf_update(), above. Note that to work properly + * with our reference counting schemes, we must delete the dynamic list in + * reverse. */ int ctf_discard(ctf_file_t *fp) @@ -508,11 +582,11 @@ ctf_discard(ctf_file_t *fp) if (!(fp->ctf_flags & LCTF_DIRTY)) return (0); /* no update required */ - for (dtd = ctf_list_next(&fp->ctf_dtdefs); dtd != NULL; dtd = ntd) { + for (dtd = ctf_list_prev(&fp->ctf_dtdefs); dtd != NULL; dtd = ntd) { if (dtd->dtd_type <= fp->ctf_dtoldid) continue; /* skip types that have been committed */ - ntd = ctf_list_next(dtd); + ntd = ctf_list_prev(dtd); ctf_dtd_delete(fp, dtd); } @@ -614,6 +688,8 @@ ctf_add_reftype(ctf_file_t *fp, uint_t f if ((type = ctf_add_generic(fp, flag, NULL, &dtd)) == CTF_ERR) return (CTF_ERR); /* errno is set for us */ + ctf_ref_inc(fp, ref); + dtd->dtd_data.ctt_info = CTF_TYPE_INFO(kind, flag, 0); dtd->dtd_data.ctt_type = (ushort_t)ref; @@ -645,16 +721,29 @@ ctf_add_array(ctf_file_t *fp, uint_t fla { ctf_dtdef_t *dtd; ctf_id_t type; + ctf_file_t *fpd; if (arp == NULL) return (ctf_set_errno(fp, EINVAL)); + fpd = fp; + if (ctf_lookup_by_id(&fpd, arp->ctr_contents) == NULL && + ctf_dtd_lookup(fp, arp->ctr_contents) == NULL) + return (ctf_set_errno(fp, ECTF_BADID)); + + fpd = fp; + if (ctf_lookup_by_id(&fpd, arp->ctr_index) == NULL && + ctf_dtd_lookup(fp, arp->ctr_index) == NULL) + return (ctf_set_errno(fp, ECTF_BADID)); + if ((type = ctf_add_generic(fp, flag, NULL, &dtd)) == CTF_ERR) return (CTF_ERR); /* errno is set for us */ dtd->dtd_data.ctt_info = CTF_TYPE_INFO(CTF_K_ARRAY, flag, 0); dtd->dtd_data.ctt_size = 0; dtd->dtd_u.dtu_arr = *arp; + ctf_ref_inc(fp, arp->ctr_contents); + ctf_ref_inc(fp, arp->ctr_index); return (type); } @@ -662,6 +751,7 @@ ctf_add_array(ctf_file_t *fp, uint_t fla int ctf_set_array(ctf_file_t *fp, ctf_id_t type, const ctf_arinfo_t *arp) { + ctf_file_t *fpd; ctf_dtdef_t *dtd = ctf_dtd_lookup(fp, type); if (!(fp->ctf_flags & LCTF_RDWR)) @@ -670,8 +760,22 @@ ctf_set_array(ctf_file_t *fp, ctf_id_t t if (dtd == NULL || CTF_INFO_KIND(dtd->dtd_data.ctt_info) != CTF_K_ARRAY) return (ctf_set_errno(fp, ECTF_BADID)); + fpd = fp; + if (ctf_lookup_by_id(&fpd, arp->ctr_contents) == NULL && + ctf_dtd_lookup(fp, arp->ctr_contents) == NULL) + return (ctf_set_errno(fp, ECTF_BADID)); + + fpd = fp; + if (ctf_lookup_by_id(&fpd, arp->ctr_index) == NULL && + ctf_dtd_lookup(fp, arp->ctr_index) == NULL) + return (ctf_set_errno(fp, ECTF_BADID)); + + ctf_ref_dec(fp, dtd->dtd_u.dtu_arr.ctr_contents); + ctf_ref_dec(fp, dtd->dtd_u.dtu_arr.ctr_index); fp->ctf_flags |= LCTF_DIRTY; dtd->dtd_u.dtu_arr = *arp; + ctf_ref_inc(fp, arp->ctr_contents); + ctf_ref_inc(fp, arp->ctr_index); return (0); } @@ -683,7 +787,9 @@ ctf_add_function(ctf_file_t *fp, uint_t ctf_dtdef_t *dtd; ctf_id_t type; uint_t vlen; + int i; ctf_id_t *vdat = NULL; + ctf_file_t *fpd; if (ctc == NULL || (ctc->ctc_flags & ~CTF_FUNC_VARARG) != 0 || (ctc->ctc_argc != 0 && argv == NULL)) @@ -696,6 +802,18 @@ ctf_add_function(ctf_file_t *fp, uint_t if (vlen > CTF_MAX_VLEN) return (ctf_set_errno(fp, EOVERFLOW)); + fpd = fp; + if (ctf_lookup_by_id(&fpd, ctc->ctc_return) == NULL && + ctf_dtd_lookup(fp, ctc->ctc_return) == NULL) + return (ctf_set_errno(fp, ECTF_BADID)); + + for (i = 0; i < ctc->ctc_argc; i++) { + fpd = fp; + if (ctf_lookup_by_id(&fpd, argv[i]) == NULL && + ctf_dtd_lookup(fp, argv[i]) == NULL) + return (ctf_set_errno(fp, ECTF_BADID)); + } + if (vlen != 0 && (vdat = ctf_alloc(sizeof (ctf_id_t) * vlen)) == NULL) return (ctf_set_errno(fp, EAGAIN)); @@ -707,6 +825,10 @@ ctf_add_function(ctf_file_t *fp, uint_t dtd->dtd_data.ctt_info = CTF_TYPE_INFO(CTF_K_FUNCTION, flag, vlen); dtd->dtd_data.ctt_type = (ushort_t)ctc->ctc_return; + ctf_ref_inc(fp, ctc->ctc_return); + for (i = 0; i < ctc->ctc_argc; i++) + ctf_ref_inc(fp, argv[i]); + bcopy(argv, vdat, sizeof (ctf_id_t) * ctc->ctc_argc); if (ctc->ctc_flags & CTF_FUNC_VARARG) vdat[vlen - 1] = 0; /* add trailing zero to indicate varargs */ @@ -825,8 +947,11 @@ ctf_add_typedef(ctf_file_t *fp, uint_t f { ctf_dtdef_t *dtd; ctf_id_t type; + ctf_file_t *fpd; - if (ref == CTF_ERR || ref < 0 || ref > CTF_MAX_TYPE) + fpd = fp; + if (ref == CTF_ERR || (ctf_lookup_by_id(&fpd, ref) == NULL && + ctf_dtd_lookup(fp, ref) == NULL)) return (ctf_set_errno(fp, EINVAL)); if ((type = ctf_add_generic(fp, flag, name, &dtd)) == CTF_ERR) @@ -834,6 +959,7 @@ ctf_add_typedef(ctf_file_t *fp, uint_t f dtd->dtd_data.ctt_info = CTF_TYPE_INFO(CTF_K_TYPEDEF, flag, 0); dtd->dtd_data.ctt_type = (ushort_t)ref; + ctf_ref_inc(fp, ref); return (type); } @@ -1008,6 +1134,45 @@ ctf_add_member(ctf_file_t *fp, ctf_id_t if (s != NULL) fp->ctf_dtstrlen += strlen(s) + 1; + ctf_ref_inc(fp, type); + fp->ctf_flags |= LCTF_DIRTY; + return (0); +} + +/* + * This removes a type from the dynamic section. This will fail if the type is + * referenced by another type. Note that the CTF ID is never reused currently by + * CTF. Note that if this container is a parent container then we just outright + * refuse to remove the type. There currently is no notion of searching for the + * ctf_dtdef_t in parent containers. If there is, then this constraint could + * become finer grained. + */ +int +ctf_delete_type(ctf_file_t *fp, ctf_id_t type) +{ + ctf_file_t *fpd; + ctf_dtdef_t *dtd = ctf_dtd_lookup(fp, type); + + if (!(fp->ctf_flags & LCTF_RDWR)) + return (ctf_set_errno(fp, ECTF_RDONLY)); + + /* + * We want to give as useful an errno as possible. That means that we + * want to distinguish between a type which does not exist and one for + * which the type is not dynamic. + */ + fpd = fp; + if (ctf_lookup_by_id(&fpd, type) == NULL && + ctf_dtd_lookup(fp, type) == NULL) + return (CTF_ERR); /* errno is set for us */ + + if (dtd == NULL) + return (ctf_set_errno(fp, ECTF_NOTDYN)); + + if (dtd->dtd_ref != 0 || fp->ctf_refcnt > 1) + return (ctf_set_errno(fp, ECTF_REFERENCED)); + + ctf_dtd_delete(fp, dtd); fp->ctf_flags |= LCTF_DIRTY; return (0); } @@ -1103,6 +1268,9 @@ ctf_add_type(ctf_file_t *dst_fp, ctf_fil ctf_hash_t *hp; ctf_helem_t *hep; + if (dst_fp == src_fp) + return (src_type); + if (!(dst_fp->ctf_flags & LCTF_RDWR)) return (ctf_set_errno(dst_fp, ECTF_RDONLY)); @@ -1313,6 +1481,14 @@ ctf_add_type(ctf_file_t *dst_fp, ctf_fil if (errs) return (CTF_ERR); /* errno is set for us */ + + /* + * Now that we know that we can't fail, we go through and bump + * all the reference counts on the member types. + */ + for (dmd = ctf_list_next(&dtd->dtd_u.dtu_members); + dmd != NULL; dmd = ctf_list_next(dmd)) + ctf_ref_inc(dst_fp, dmd->dmd_type); break; } Modified: projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_error.c ============================================================================== --- projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_error.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_error.c Sun Sep 1 07:09:42 2013 (r255113) @@ -23,8 +23,9 @@ * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ - -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright (c) 2012, Joyent, Inc. + */ #include @@ -73,6 +74,8 @@ static const char *const _ctf_errlist[] "Limit on number of dynamic types reached", /* ECTF_FULL */ "Duplicate member name definition", /* ECTF_DUPMEMBER */ "Conflicting type is already defined", /* ECTF_CONFLICT */ + "Type has outstanding references", /* ECTF_REFERENCED */ + "Type is not a dynamic type" /* ECTF_NOTDYN */ }; static const int _ctf_nerr = sizeof (_ctf_errlist) / sizeof (_ctf_errlist[0]); Modified: projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_impl.h ============================================================================== --- projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_impl.h Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_impl.h Sun Sep 1 07:09:42 2013 (r255113) @@ -24,12 +24,13 @@ * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ +/* + * Copyright (c) 2012, Joyent, Inc. All rights reserved. + */ #ifndef _CTF_IMPL_H #define _CTF_IMPL_H -#pragma ident "%Z%%M% %I% %E% SMI" - #include #include #include @@ -149,6 +150,7 @@ typedef struct ctf_dtdef { char *dtd_name; /* name associated with definition (if any) */ ctf_id_t dtd_type; /* type identifier for this definition */ ctf_type_t dtd_data; /* type node (see ) */ + int dtd_ref; /* recfount for dyanmic types */ union { ctf_list_t dtu_members; /* struct, union, or enum */ ctf_arinfo_t dtu_arr; /* array */ @@ -269,7 +271,9 @@ enum { ECTF_DTFULL, /* CTF type is full (no more members allowed) */ ECTF_FULL, /* CTF container is full */ ECTF_DUPMEMBER, /* duplicate member name definition */ - ECTF_CONFLICT /* conflicting type definition present */ + ECTF_CONFLICT, /* conflicting type definition present */ + ECTF_REFERENCED, /* type has outstanding references */ + ECTF_NOTDYN /* type is not a dynamic type */ }; extern ssize_t ctf_get_ctt_size(const ctf_file_t *, const ctf_type_t *, Modified: projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_open.c ============================================================================== --- projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_open.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/cddl/contrib/opensolaris/common/ctf/ctf_open.c Sun Sep 1 07:09:42 2013 (r255113) @@ -24,8 +24,9 @@ * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ - -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright (c) 2012, Joyent, Inc. All rights reserved. + */ #include #include @@ -810,8 +811,12 @@ ctf_close(ctf_file_t *fp) if (fp->ctf_parent != NULL) ctf_close(fp->ctf_parent); - for (dtd = ctf_list_next(&fp->ctf_dtdefs); dtd != NULL; dtd = ntd) { - ntd = ctf_list_next(dtd); + /* + * Note, to work properly with reference counting on the dynamic + * section, we must delete the list in reverse. + */ + for (dtd = ctf_list_prev(&fp->ctf_dtdefs); dtd != NULL; dtd = ntd) { + ntd = ctf_list_prev(dtd); ctf_dtd_delete(fp, dtd); } Modified: projects/bhyve_npt_pmap/cddl/contrib/opensolaris/lib/libctf/common/ctf_lib.c ============================================================================== --- projects/bhyve_npt_pmap/cddl/contrib/opensolaris/lib/libctf/common/ctf_lib.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/cddl/contrib/opensolaris/lib/libctf/common/ctf_lib.c Sun Sep 1 07:09:42 2013 (r255113) @@ -216,6 +216,7 @@ ctf_fdopen(int fd, int *errp) { ctf_sect_t ctfsect, symsect, strsect; ctf_file_t *fp = NULL; + size_t shstrndx, shnum; struct stat64 st; ssize_t nbytes; @@ -278,11 +279,10 @@ ctf_fdopen(int fd, int *errp) #else uchar_t order = ELFDATA2LSB; #endif - GElf_Half i, n; GElf_Shdr *sp; void *strs_map; - size_t strs_mapsz; + size_t strs_mapsz, i; char *strs; if (hdr.e32.e_ident[EI_DATA] != order) @@ -298,11 +298,38 @@ ctf_fdopen(int fd, int *errp) ehdr_to_gelf(&e32, &hdr.e64); } - if (hdr.e64.e_shstrndx >= hdr.e64.e_shnum) + shnum = hdr.e64.e_shnum; + shstrndx = hdr.e64.e_shstrndx; + + /* Extended ELF sections */ + if ((shstrndx == SHN_XINDEX) || (shnum == 0)) { + if (hdr.e32.e_ident[EI_CLASS] == ELFCLASS32) { + Elf32_Shdr x32; + + if (pread64(fd, &x32, sizeof (x32), + hdr.e64.e_shoff) != sizeof (x32)) + return (ctf_set_open_errno(errp, + errno)); + + shnum = x32.sh_size; + shstrndx = x32.sh_link; + } else { + Elf64_Shdr x64; + + if (pread64(fd, &x64, sizeof (x64), + hdr.e64.e_shoff) != sizeof (x64)) + return (ctf_set_open_errno(errp, + errno)); + + shnum = x64.sh_size; + shstrndx = x64.sh_link; + } + } + + if (shstrndx >= shnum) return (ctf_set_open_errno(errp, ECTF_CORRUPT)); - n = hdr.e64.e_shnum; - nbytes = sizeof (GElf_Shdr) * n; + nbytes = sizeof (GElf_Shdr) * shnum; if ((sp = malloc(nbytes)) == NULL) return (ctf_set_open_errno(errp, errno)); @@ -314,7 +341,7 @@ ctf_fdopen(int fd, int *errp) if (hdr.e32.e_ident[EI_CLASS] == ELFCLASS32) { Elf32_Shdr *sp32; - nbytes = sizeof (Elf32_Shdr) * n; + nbytes = sizeof (Elf32_Shdr) * shnum; if ((sp32 = malloc(nbytes)) == NULL || pread64(fd, sp32, nbytes, hdr.e64.e_shoff) != nbytes) { @@ -322,7 +349,7 @@ ctf_fdopen(int fd, int *errp) return (ctf_set_open_errno(errp, errno)); } - for (i = 0; i < n; i++) + for (i = 0; i < shnum; i++) shdr_to_gelf(&sp32[i], &sp[i]); free(sp32); @@ -336,14 +363,14 @@ ctf_fdopen(int fd, int *errp) * Now mmap the section header strings section so that we can * perform string comparison on the section names. */ - strs_mapsz = sp[hdr.e64.e_shstrndx].sh_size + - (sp[hdr.e64.e_shstrndx].sh_offset & ~_PAGEMASK); + strs_mapsz = sp[shstrndx].sh_size + + (sp[shstrndx].sh_offset & ~_PAGEMASK); strs_map = mmap64(NULL, strs_mapsz, PROT_READ, MAP_PRIVATE, - fd, sp[hdr.e64.e_shstrndx].sh_offset & _PAGEMASK); + fd, sp[shstrndx].sh_offset & _PAGEMASK); strs = (char *)strs_map + - (sp[hdr.e64.e_shstrndx].sh_offset & ~_PAGEMASK); + (sp[shstrndx].sh_offset & ~_PAGEMASK); if (strs_map == MAP_FAILED) { free(sp); @@ -354,15 +381,15 @@ ctf_fdopen(int fd, int *errp) * Iterate over the section header array looking for the CTF * section and symbol table. The strtab is linked to symtab. */ - for (i = 0; i < n; i++) { + for (i = 0; i < shnum; i++) { const GElf_Shdr *shp = &sp[i]; const GElf_Shdr *lhp = &sp[shp->sh_link]; - if (shp->sh_link >= hdr.e64.e_shnum) + if (shp->sh_link >= shnum) continue; /* corrupt sh_link field */ - if (shp->sh_name >= sp[hdr.e64.e_shstrndx].sh_size || - lhp->sh_name >= sp[hdr.e64.e_shstrndx].sh_size) + if (shp->sh_name >= sp[shstrndx].sh_size || + lhp->sh_name >= sp[shstrndx].sh_size) continue; /* corrupt sh_name field */ if (shp->sh_type == SHT_PROGBITS && Modified: projects/bhyve_npt_pmap/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c ============================================================================== --- projects/bhyve_npt_pmap/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c Sun Sep 1 07:09:42 2013 (r255113) @@ -21,10 +21,10 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2010 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. * Copyright (c) 2012 Pawel Jakub Dawidek . * All rights reserved. + * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ #include @@ -452,8 +452,12 @@ iter_dependents_cb(zfs_handle_t *zhp, vo } ida->stack = isf.next; } + if (!first && err == 0) err = ida->func(zhp, ida->data); + else + zfs_close(zhp); + return (err); } Modified: projects/bhyve_npt_pmap/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c ============================================================================== --- projects/bhyve_npt_pmap/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Sun Sep 1 07:09:42 2013 (r255113) @@ -23,8 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - /* * DWARF to tdata conversion * @@ -1796,6 +1794,59 @@ die_resolve(dwarf_t *dw) } while (dw->dw_nunres != 0); } +/* + * Any object containing a function or object symbol at any scope should also + * contain DWARF data. + */ +static boolean_t +should_have_dwarf(Elf *elf) +{ + Elf_Scn *scn = NULL; + Elf_Data *data = NULL; + GElf_Shdr shdr; + GElf_Sym sym; + uint32_t symdx = 0; + size_t nsyms = 0; + boolean_t found = B_FALSE; + + while ((scn = elf_nextscn(elf, scn)) != NULL) { + gelf_getshdr(scn, &shdr); + + if (shdr.sh_type == SHT_SYMTAB) { + found = B_TRUE; + break; + } + } + + if (!found) + terminate("cannot convert stripped objects\n"); + + data = elf_getdata(scn, NULL); + nsyms = shdr.sh_size / shdr.sh_entsize; + + for (symdx = 0; symdx < nsyms; symdx++) { + gelf_getsym(data, symdx, &sym); + + if ((GELF_ST_TYPE(sym.st_info) == STT_FUNC) || + (GELF_ST_TYPE(sym.st_info) == STT_TLS) || + (GELF_ST_TYPE(sym.st_info) == STT_OBJECT)) { + char *name; + + name = elf_strptr(elf, shdr.sh_link, sym.st_name); + + /* Studio emits these local symbols regardless */ + if ((strcmp(name, "Bbss.bss") != 0) && + (strcmp(name, "Ttbss.bss") != 0) && + (strcmp(name, "Ddata.data") != 0) && + (strcmp(name, "Ttdata.data") != 0) && + (strcmp(name, "Drodata.rodata") != 0)) + return (B_TRUE); + } + } + + return (B_FALSE); +} + /*ARGSUSED*/ int dw_read(tdata_t *td, Elf *elf, char *filename __unused) @@ -1820,8 +1871,12 @@ dw_read(tdata_t *td, Elf *elf, char *fil if ((rc = dwarf_elf_init(elf, DW_DLC_READ, &dw.dw_dw, &dw.dw_err)) == DW_DLV_NO_ENTRY) { - errno = ENOENT; - return (-1); + if (should_have_dwarf(elf)) { + errno = ENOENT; + return (-1); + } else { + return (0); + } } else if (rc != DW_DLV_OK) { if (dwarf_errno(&dw.dw_err) == DW_DLE_DEBUG_INFO_NULL) { /* @@ -1839,9 +1894,14 @@ dw_read(tdata_t *td, Elf *elf, char *fil &addrsz, &nxthdr, &dw.dw_err)) != DW_DLV_OK) terminate("rc = %d %s\n", rc, dwarf_errmsg(&dw.dw_err)); - if ((cu = die_sibling(&dw, NULL)) == NULL) + if ((cu = die_sibling(&dw, NULL)) == NULL || + (((child = die_child(&dw, cu)) == NULL) && + should_have_dwarf(elf))) { terminate("file does not contain dwarf type data " "(try compiling with -g)\n"); + } else if (child == NULL) { + return (0); + } dw.dw_maxoff = nxthdr - 1; Modified: projects/bhyve_npt_pmap/cddl/lib/libdtrace/Makefile ============================================================================== --- projects/bhyve_npt_pmap/cddl/lib/libdtrace/Makefile Sun Sep 1 04:33:47 2013 (r255112) +++ projects/bhyve_npt_pmap/cddl/lib/libdtrace/Makefile Sun Sep 1 07:09:42 2013 (r255113) @@ -48,8 +48,11 @@ SRCS= dt_aggregate.c \ DSRCS= errno.d \ io.d \ + ip.d \ psinfo.d \ signal.d \ + tcp.d \ + udp.d \ unistd.d WARNS?= 1 Copied: projects/bhyve_npt_pmap/cddl/lib/libdtrace/ip.d (from r255028, head/cddl/lib/libdtrace/ip.d) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve_npt_pmap/cddl/lib/libdtrace/ip.d Sun Sep 1 07:09:42 2013 (r255113, copy of r255028, head/cddl/lib/libdtrace/ip.d) @@ -0,0 +1,285 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + * + * $FreeBSD$ + */ +/* + * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013 Mark Johnston + */ + +#pragma D depends_on provider ip + +/* + * pktinfo is where packet ID info can be made available for deeper + * analysis if packet IDs become supported by the kernel in the future. + * The pkt_addr member is currently always NULL. + */ +typedef struct pktinfo { + uintptr_t pkt_addr; +} pktinfo_t; + +/* + * csinfo is where connection state info is made available. + */ +typedef uint32_t zoneid_t; +typedef struct csinfo { + uintptr_t cs_addr; + uint64_t cs_cid; + pid_t cs_pid; + zoneid_t cs_zoneid; +} csinfo_t; + +/* + * ipinfo contains common IP info for both IPv4 and IPv6. + */ +typedef struct ipinfo { + uint8_t ip_ver; /* IP version (4, 6) */ + uint32_t ip_plength; /* payload length */ + string ip_saddr; /* source address */ + string ip_daddr; /* destination address */ +} ipinfo_t; + +/* + * ifinfo contains network interface info. + */ +typedef struct ifinfo { + string if_name; /* interface name */ + int8_t if_local; /* is delivered locally */ + /*netstackid_t if_ipstack;*/ /* ipstack ID */ + uintptr_t if_addr; /* pointer to raw ill_t */ +} ifinfo_t; + +typedef uint32_t ipaddr_t; +typedef struct { + uint8_t ipha_version_and_hdr_length; + uint8_t ipha_type_of_service; + uint16_t ipha_length; + uint16_t ipha_ident; + uint16_t ipha_fragment_offset_and_flags; + uint8_t ipha_ttl; + uint8_t ipha_protocol; + uint16_t ipha_hdr_checksum; + ipaddr_t ipha_src; + ipaddr_t ipha_dst; +} ipha_t; + +/* + * ipv4info is a translated version of the IPv4 header (with raw pointer). + * These values are NULL if the packet is not IPv4. + */ +typedef struct ipv4info { + uint8_t ipv4_ver; /* IP version (4) */ + uint8_t ipv4_ihl; /* header length, bytes */ + uint8_t ipv4_tos; /* type of service field */ + uint16_t ipv4_length; /* length (header + payload) */ + uint16_t ipv4_ident; /* identification */ + uint8_t ipv4_flags; /* IP flags */ + uint16_t ipv4_offset; /* fragment offset */ + uint8_t ipv4_ttl; /* time to live */ + uint8_t ipv4_protocol; /* next level protocol */ + string ipv4_protostr; /* next level protocol, as a string */ + uint16_t ipv4_checksum; /* header checksum */ + ipaddr_t ipv4_src; /* source address */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Sep 1 07:10:07 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 0DBF0FB4; Sun, 1 Sep 2013 07:10:07 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EFB982AD6; Sun, 1 Sep 2013 07:10:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r817A6pT094213; Sun, 1 Sep 2013 07:10:06 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r817A6pp094212; Sun, 1 Sep 2013 07:10:06 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309010710.r817A6pp094212@svn.freebsd.org> From: Alexander Motin Date: Sun, 1 Sep 2013 07:10:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255114 - projects/camlock/sys/cam/ctl X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Sep 2013 07:10:07 -0000 Author: mav Date: Sun Sep 1 07:10:06 2013 New Revision: 255114 URL: http://svnweb.freebsd.org/changeset/base/255114 Log: Fix the build with CTLFEDEBUG broken by unmapped I/O support changes. Modified: projects/camlock/sys/cam/ctl/scsi_ctl.c Modified: projects/camlock/sys/cam/ctl/scsi_ctl.c ============================================================================== --- projects/camlock/sys/cam/ctl/scsi_ctl.c Sun Sep 1 07:09:42 2013 (r255113) +++ projects/camlock/sys/cam/ctl/scsi_ctl.c Sun Sep 1 07:10:06 2013 (r255114) @@ -952,23 +952,23 @@ ctlfestart(struct cam_periph *periph, un /* * Valid combinations: - * - CAM_SEND_STATUS, SCATTER_VALID = 0, dxfer_len = 0, + * - CAM_SEND_STATUS, CAM_DATA_SG = 0, dxfer_len = 0, * sglist_cnt = 0 - * - CAM_SEND_STATUS = 0, SCATTER_VALID = 0, dxfer_len != 0, + * - CAM_SEND_STATUS = 0, CAM_DATA_SG = 0, dxfer_len != 0, * sglist_cnt = 0 - * - CAM_SEND_STATUS = 0, SCATTER_VALID, dxfer_len != 0, + * - CAM_SEND_STATUS = 0, CAM_DATA_SG, dxfer_len != 0, * sglist_cnt != 0 */ #ifdef CTLFEDEBUG if (((flags & CAM_SEND_STATUS) - && (((flags & CAM_SCATTER_VALID) != 0) + && (((flags & CAM_DATA_SG) != 0) || (dxfer_len != 0) || (csio->sglist_cnt != 0))) || (((flags & CAM_SEND_STATUS) == 0) && (dxfer_len == 0)) - || ((flags & CAM_SCATTER_VALID) + || ((flags & CAM_DATA_SG) && (csio->sglist_cnt == 0)) - || (((flags & CAM_SCATTER_VALID) == 0) + || (((flags & CAM_DATA_SG) == 0) && (csio->sglist_cnt != 0))) { printf("%s: tag %04x cdb %02x flags %#x dxfer_len " "%d sg %u\n", __func__, atio->tag_id, From owner-svn-src-projects@FreeBSD.ORG Sun Sep 1 07:57:54 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id B61C44D9; Sun, 1 Sep 2013 07:57:54 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 955C52C5F; Sun, 1 Sep 2013 07:57:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r817vsbv021864; Sun, 1 Sep 2013 07:57:54 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r817vrQD021860; Sun, 1 Sep 2013 07:57:53 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309010757.r817vrQD021860@svn.freebsd.org> From: Alexander Motin Date: Sun, 1 Sep 2013 07:57:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255115 - projects/camlock/sys/cam X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Sep 2013 07:57:54 -0000 Author: mav Date: Sun Sep 1 07:57:53 2013 New Revision: 255115 URL: http://svnweb.freebsd.org/changeset/base/255115 Log: Add debug trace points for freeze/release device queue. Modified: projects/camlock/sys/cam/cam_debug.h projects/camlock/sys/cam/cam_periph.c projects/camlock/sys/cam/cam_xpt.c projects/camlock/sys/cam/cam_xpt.h Modified: projects/camlock/sys/cam/cam_debug.h ============================================================================== --- projects/camlock/sys/cam/cam_debug.h Sun Sep 1 07:10:06 2013 (r255114) +++ projects/camlock/sys/cam/cam_debug.h Sun Sep 1 07:57:53 2013 (r255115) @@ -99,6 +99,17 @@ extern u_int32_t cam_debug_delay; DELAY(cam_debug_delay); \ } +#define CAM_DEBUG_DEV(dev, flag, printfargs) \ + if (((flag) & (CAM_DEBUG_COMPILE) & cam_dflags) \ + && (cam_dpath != NULL) \ + && (xpt_path_comp_dev(cam_dpath, dev) >= 0) \ + && (xpt_path_comp_dev(cam_dpath, dev) < 2)) { \ + xpt_print_device(dev); \ + printf printfargs; \ + if (cam_debug_delay != 0) \ + DELAY(cam_debug_delay); \ + } + #define CAM_DEBUG_PRINT(flag, printfargs) \ if (((flag) & (CAM_DEBUG_COMPILE) & cam_dflags)) { \ printf("cam_debug: "); \ Modified: projects/camlock/sys/cam/cam_periph.c ============================================================================== --- projects/camlock/sys/cam/cam_periph.c Sun Sep 1 07:10:06 2013 (r255114) +++ projects/camlock/sys/cam/cam_periph.c Sun Sep 1 07:57:53 2013 (r255115) @@ -1096,6 +1096,7 @@ cam_freeze_devq(struct cam_path *path) { struct ccb_hdr ccb_h; + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("cam_freeze_devq\n")); xpt_setup_ccb(&ccb_h, path, /*priority*/1); ccb_h.func_code = XPT_NOOP; ccb_h.flags = CAM_DEV_QFREEZE; @@ -1109,6 +1110,8 @@ cam_release_devq(struct cam_path *path, { struct ccb_relsim crs; + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("cam_release_devq(%u, %u, %u, %d)\n", + relsim_flags, openings, arg, getcount_only)); xpt_setup_ccb(&crs.ccb_h, path, CAM_PRIORITY_NORMAL); crs.ccb_h.func_code = XPT_REL_SIMQ; crs.ccb_h.flags = getcount_only ? CAM_DEV_QFREEZE : 0; Modified: projects/camlock/sys/cam/cam_xpt.c ============================================================================== --- projects/camlock/sys/cam/cam_xpt.c Sun Sep 1 07:10:06 2013 (r255114) +++ projects/camlock/sys/cam/cam_xpt.c Sun Sep 1 07:57:53 2013 (r255115) @@ -3561,6 +3561,40 @@ xpt_path_comp(struct cam_path *path1, st return (retval); } +int +xpt_path_comp_dev(struct cam_path *path, struct cam_ed *dev) +{ + int retval = 0; + + if (path->bus != dev->target->bus) { + if (path->bus->path_id == CAM_BUS_WILDCARD) + retval = 1; + else if (dev->target->bus->path_id == CAM_BUS_WILDCARD) + retval = 2; + else + return (-1); + } + if (path->target != dev->target) { + if (path->target->target_id == CAM_TARGET_WILDCARD) { + if (retval == 0) + retval = 1; + } else if (dev->target->target_id == CAM_TARGET_WILDCARD) + retval = 2; + else + return (-1); + } + if (path->device != dev) { + if (path->device->lun_id == CAM_LUN_WILDCARD) { + if (retval == 0) + retval = 1; + } else if (dev->lun_id == CAM_LUN_WILDCARD) + retval = 2; + else + return (-1); + } + return (retval); +} + void xpt_print_path(struct cam_path *path) { @@ -3594,6 +3628,21 @@ xpt_print_path(struct cam_path *path) } void +xpt_print_device(struct cam_ed *device) +{ + + if (device == NULL) + printf("(nopath): "); + else { + printf("(noperiph:%s%d:%d:%d:%d): ", device->sim->sim_name, + device->sim->unit_number, + device->sim->bus_id, + device->target->target_id, + device->lun_id); + } +} + +void xpt_print(struct cam_path *path, const char *fmt, ...) { va_list ap; @@ -4223,6 +4272,8 @@ xpt_freeze_devq(struct cam_path *path, u devq = dev->sim->devq; mtx_lock(&devq->send_mtx); + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_freeze_devq() %u->%u\n", + dev->ccbq.queue.qfrozen_cnt, dev->ccbq.queue.qfrozen_cnt + count)); freeze = (dev->ccbq.queue.qfrozen_cnt += count); /* Remove frozen device from sendq. */ if (device_is_queued(dev)) @@ -4251,6 +4302,7 @@ xpt_release_devq_timeout(void *arg) struct cam_devq *devq; dev = (struct cam_ed *)arg; + CAM_DEBUG_DEV(dev, CAM_DEBUG_TRACE, ("xpt_release_devq_timeout\n")); devq = dev->sim->devq; mtx_lock(&devq->send_mtx); if (xpt_release_devq_device(dev, /*count*/1, /*run_queue*/TRUE)) @@ -4264,6 +4316,8 @@ xpt_release_devq(struct cam_path *path, struct cam_ed *dev; struct cam_devq *devq; + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_release_devq(%d, %d)\n", + count, run_queue)); dev = path->device; devq = dev->sim->devq; mtx_lock(&devq->send_mtx); @@ -4277,6 +4331,9 @@ xpt_release_devq_device(struct cam_ed *d { mtx_assert(&dev->sim->devq->send_mtx, MA_OWNED); + CAM_DEBUG_DEV(dev, CAM_DEBUG_TRACE, + ("xpt_release_devq_device(%d, %d) %u->%u\n", count, run_queue, + dev->ccbq.queue.qfrozen_cnt, dev->ccbq.queue.qfrozen_cnt - count)); if (count > dev->ccbq.queue.qfrozen_cnt) { #ifdef INVARIANTS printf("xpt_release_devq(): requested %u > present %u\n", Modified: projects/camlock/sys/cam/cam_xpt.h ============================================================================== --- projects/camlock/sys/cam/cam_xpt.h Sun Sep 1 07:10:06 2013 (r255114) +++ projects/camlock/sys/cam/cam_xpt.h Sun Sep 1 07:57:53 2013 (r255115) @@ -35,6 +35,7 @@ /* Forward Declarations */ union ccb; struct cam_periph; +struct cam_ed; struct cam_sim; /* @@ -86,7 +87,10 @@ void xpt_path_counts(struct cam_path * uint32_t *device_ref); int xpt_path_comp(struct cam_path *path1, struct cam_path *path2); +int xpt_path_comp_dev(struct cam_path *path, + struct cam_ed *dev); void xpt_print_path(struct cam_path *path); +void xpt_print_device(struct cam_ed *device); void xpt_print(struct cam_path *path, const char *fmt, ...); int xpt_path_string(struct cam_path *path, char *str, size_t str_len); From owner-svn-src-projects@FreeBSD.ORG Sun Sep 1 09:10:16 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 8FCD978; Sun, 1 Sep 2013 09:10:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7C8822FC2; Sun, 1 Sep 2013 09:10:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r819AGhn063992; Sun, 1 Sep 2013 09:10:16 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r819AGZM063989; Sun, 1 Sep 2013 09:10:16 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309010910.r819AGZM063989@svn.freebsd.org> From: Alexander Motin Date: Sun, 1 Sep 2013 09:10:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255116 - in projects/camlock/sys/cam: ata scsi X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Sep 2013 09:10:16 -0000 Author: mav Date: Sun Sep 1 09:10:15 2013 New Revision: 255116 URL: http://svnweb.freebsd.org/changeset/base/255116 Log: Pass path as an argument to *_set_transfer_settings(). Since they can be called from async context, they can no longer trust path pointer validity inside passed struct ccb_trans_settings. Modified: projects/camlock/sys/cam/ata/ata_xpt.c projects/camlock/sys/cam/scsi/scsi_xpt.c Modified: projects/camlock/sys/cam/ata/ata_xpt.c ============================================================================== --- projects/camlock/sys/cam/ata/ata_xpt.c Sun Sep 1 07:57:53 2013 (r255115) +++ projects/camlock/sys/cam/ata/ata_xpt.c Sun Sep 1 09:10:15 2013 (r255116) @@ -182,7 +182,7 @@ static struct cam_ed * static void ata_device_transport(struct cam_path *path); static void ata_get_transfer_settings(struct ccb_trans_settings *cts); static void ata_set_transfer_settings(struct ccb_trans_settings *cts, - struct cam_ed *device, + struct cam_path *path, int async_update); static void ata_dev_async(u_int32_t async_code, struct cam_eb *bus, @@ -1729,7 +1729,7 @@ ata_action(union ccb *start_ccb) case XPT_SET_TRAN_SETTINGS: { ata_set_transfer_settings(&start_ccb->cts, - start_ccb->ccb_h.path->device, + start_ccb->ccb_h.path, /*async_update*/FALSE); break; } @@ -1829,7 +1829,7 @@ ata_get_transfer_settings(struct ccb_tra } static void -ata_set_transfer_settings(struct ccb_trans_settings *cts, struct cam_ed *device, +ata_set_transfer_settings(struct ccb_trans_settings *cts, struct cam_path *path, int async_update) { struct ccb_pathinq cpi; @@ -1838,8 +1838,9 @@ ata_set_transfer_settings(struct ccb_tra struct cam_sim *sim; struct ata_params *ident_data; struct scsi_inquiry_data *inq_data; + struct cam_ed *device; - if (device == NULL) { + if (path == NULL || (device = path->device) == NULL) { cts->ccb_h.status = CAM_PATH_INVALID; xpt_done((union ccb *)cts); return; @@ -1856,14 +1857,14 @@ ata_set_transfer_settings(struct ccb_tra cts->protocol_version = device->protocol_version; if (cts->protocol != device->protocol) { - xpt_print(cts->ccb_h.path, "Uninitialized Protocol %x:%x?\n", + xpt_print(path, "Uninitialized Protocol %x:%x?\n", cts->protocol, device->protocol); cts->protocol = device->protocol; } if (cts->protocol_version > device->protocol_version) { if (bootverbose) { - xpt_print(cts->ccb_h.path, "Down reving Protocol " + xpt_print(path, "Down reving Protocol " "Version from %d to %d?\n", cts->protocol_version, device->protocol_version); } @@ -1881,21 +1882,21 @@ ata_set_transfer_settings(struct ccb_tra cts->transport_version = device->transport_version; if (cts->transport != device->transport) { - xpt_print(cts->ccb_h.path, "Uninitialized Transport %x:%x?\n", + xpt_print(path, "Uninitialized Transport %x:%x?\n", cts->transport, device->transport); cts->transport = device->transport; } if (cts->transport_version > device->transport_version) { if (bootverbose) { - xpt_print(cts->ccb_h.path, "Down reving Transport " + xpt_print(path, "Down reving Transport " "Version from %d to %d?\n", cts->transport_version, device->transport_version); } cts->transport_version = device->transport_version; } - sim = cts->ccb_h.path->bus->sim; + sim = path->bus->sim; ident_data = &device->ident_data; inq_data = &device->inq_data; if (cts->protocol == PROTO_ATA) @@ -1906,7 +1907,7 @@ ata_set_transfer_settings(struct ccb_tra scsi = &cts->proto_specific.scsi; else scsi = NULL; - xpt_setup_ccb(&cpi.ccb_h, cts->ccb_h.path, CAM_PRIORITY_NONE); + xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE); cpi.ccb_h.func_code = XPT_PATH_INQ; xpt_action((union ccb *)&cpi); @@ -1950,7 +1951,7 @@ ata_set_transfer_settings(struct ccb_tra device->tag_delay_count = CAM_TAG_DELAY_COUNT; device->flags |= CAM_DEV_TAG_AFTER_COUNT; } else if (nowt && !newt) - xpt_stop_tags(cts->ccb_h.path); + xpt_stop_tags(path); } if (async_update == FALSE) @@ -2011,10 +2012,14 @@ ata_dev_async(u_int32_t async_code, stru xpt_release_device(device); } else if (async_code == AC_TRANSFER_NEG) { struct ccb_trans_settings *settings; + struct cam_path path; settings = (struct ccb_trans_settings *)async_arg; - ata_set_transfer_settings(settings, device, + xpt_compile_path(&path, NULL, bus->path_id, target->target_id, + device->lun_id); + ata_set_transfer_settings(settings, &path, /*async_update*/TRUE); + xpt_release_path(&path); } } Modified: projects/camlock/sys/cam/scsi/scsi_xpt.c ============================================================================== --- projects/camlock/sys/cam/scsi/scsi_xpt.c Sun Sep 1 07:57:53 2013 (r255115) +++ projects/camlock/sys/cam/scsi/scsi_xpt.c Sun Sep 1 09:10:15 2013 (r255116) @@ -577,7 +577,7 @@ static struct cam_ed * lun_id_t lun_id); static void scsi_devise_transport(struct cam_path *path); static void scsi_set_transfer_settings(struct ccb_trans_settings *cts, - struct cam_ed *device, + struct cam_path *path, int async_update); static void scsi_toggle_tags(struct cam_path *path); static void scsi_dev_async(u_int32_t async_code, @@ -2534,7 +2534,7 @@ scsi_action(union ccb *start_ccb) case XPT_SET_TRAN_SETTINGS: { scsi_set_transfer_settings(&start_ccb->cts, - start_ccb->ccb_h.path->device, + start_ccb->ccb_h.path, /*async_update*/FALSE); break; } @@ -2559,7 +2559,7 @@ scsi_action(union ccb *start_ccb) } static void -scsi_set_transfer_settings(struct ccb_trans_settings *cts, struct cam_ed *device, +scsi_set_transfer_settings(struct ccb_trans_settings *cts, struct cam_path *path, int async_update) { struct ccb_pathinq cpi; @@ -2568,8 +2568,9 @@ scsi_set_transfer_settings(struct ccb_tr struct ccb_trans_settings_scsi *cur_scsi; struct cam_sim *sim; struct scsi_inquiry_data *inq_data; + struct cam_ed *device; - if (device == NULL) { + if (path == NULL || (device = path->device) == NULL) { cts->ccb_h.status = CAM_PATH_INVALID; xpt_done((union ccb *)cts); return; @@ -2586,14 +2587,14 @@ scsi_set_transfer_settings(struct ccb_tr cts->protocol_version = device->protocol_version; if (cts->protocol != device->protocol) { - xpt_print(cts->ccb_h.path, "Uninitialized Protocol %x:%x?\n", + xpt_print(path, "Uninitialized Protocol %x:%x?\n", cts->protocol, device->protocol); cts->protocol = device->protocol; } if (cts->protocol_version > device->protocol_version) { if (bootverbose) { - xpt_print(cts->ccb_h.path, "Down reving Protocol " + xpt_print(path, "Down reving Protocol " "Version from %d to %d?\n", cts->protocol_version, device->protocol_version); } @@ -2611,21 +2612,21 @@ scsi_set_transfer_settings(struct ccb_tr cts->transport_version = device->transport_version; if (cts->transport != device->transport) { - xpt_print(cts->ccb_h.path, "Uninitialized Transport %x:%x?\n", + xpt_print(path, "Uninitialized Transport %x:%x?\n", cts->transport, device->transport); cts->transport = device->transport; } if (cts->transport_version > device->transport_version) { if (bootverbose) { - xpt_print(cts->ccb_h.path, "Down reving Transport " + xpt_print(path, "Down reving Transport " "Version from %d to %d?\n", cts->transport_version, device->transport_version); } cts->transport_version = device->transport_version; } - sim = cts->ccb_h.path->bus->sim; + sim = path->bus->sim; /* * Nothing more of interest to do unless @@ -2640,7 +2641,7 @@ scsi_set_transfer_settings(struct ccb_tr inq_data = &device->inq_data; scsi = &cts->proto_specific.scsi; - xpt_setup_ccb(&cpi.ccb_h, cts->ccb_h.path, CAM_PRIORITY_NONE); + xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE); cpi.ccb_h.func_code = XPT_PATH_INQ; xpt_action((union ccb *)&cpi); @@ -2661,7 +2662,7 @@ scsi_set_transfer_settings(struct ccb_tr * Perform sanity checking against what the * controller and device can do. */ - xpt_setup_ccb(&cur_cts.ccb_h, cts->ccb_h.path, CAM_PRIORITY_NONE); + xpt_setup_ccb(&cur_cts.ccb_h, path, CAM_PRIORITY_NONE); cur_cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS; cur_cts.type = cts->type; xpt_action((union ccb *)&cur_cts); @@ -2782,7 +2783,7 @@ scsi_set_transfer_settings(struct ccb_tr && (spi->flags & (CTS_SPI_VALID_SYNC_RATE| CTS_SPI_VALID_SYNC_OFFSET| CTS_SPI_VALID_BUS_WIDTH)) != 0) - scsi_toggle_tags(cts->ccb_h.path); + scsi_toggle_tags(path); } if (cts->type == CTS_TYPE_CURRENT_SETTINGS @@ -2819,7 +2820,7 @@ scsi_set_transfer_settings(struct ccb_tr device->tag_delay_count = CAM_TAG_DELAY_COUNT; device->flags |= CAM_DEV_TAG_AFTER_COUNT; } else { - xpt_stop_tags(cts->ccb_h.path); + xpt_stop_tags(path); } } } @@ -2852,10 +2853,10 @@ scsi_toggle_tags(struct cam_path *path) cts.transport_version = XPORT_VERSION_UNSPECIFIED; cts.proto_specific.scsi.flags = 0; cts.proto_specific.scsi.valid = CTS_SCSI_VALID_TQ; - scsi_set_transfer_settings(&cts, path->device, + scsi_set_transfer_settings(&cts, path, /*async_update*/TRUE); cts.proto_specific.scsi.flags = CTS_SCSI_FLAGS_TAG_ENB; - scsi_set_transfer_settings(&cts, path->device, + scsi_set_transfer_settings(&cts, path, /*async_update*/TRUE); } } @@ -2926,10 +2927,14 @@ scsi_dev_async(u_int32_t async_code, str xpt_release_device(device); } else if (async_code == AC_TRANSFER_NEG) { struct ccb_trans_settings *settings; + struct cam_path path; settings = (struct ccb_trans_settings *)async_arg; - scsi_set_transfer_settings(settings, device, + xpt_compile_path(&path, NULL, bus->path_id, target->target_id, + device->lun_id); + scsi_set_transfer_settings(settings, &path, /*async_update*/TRUE); + xpt_release_path(&path); } } From owner-svn-src-projects@FreeBSD.ORG Sun Sep 1 13:33:10 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 82E09F52; Sun, 1 Sep 2013 13:33:10 +0000 (UTC) (envelope-from markm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6DD372B95; Sun, 1 Sep 2013 13:33:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r81DXAHk019689; Sun, 1 Sep 2013 13:33:10 GMT (envelope-from markm@svn.freebsd.org) Received: (from markm@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r81DX5tt019618; Sun, 1 Sep 2013 13:33:05 GMT (envelope-from markm@svn.freebsd.org) Message-Id: <201309011333.r81DX5tt019618@svn.freebsd.org> From: Mark Murray Date: Sun, 1 Sep 2013 13:33:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255121 - in projects/random_number_generator: contrib/gcc contrib/gcc/config/arm contrib/gcc/doc contrib/gcclibs/libcpp contrib/gcclibs/libcpp/include lib/libc/gen lib/libc/include lib... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Sep 2013 13:33:10 -0000 Author: markm Date: Sun Sep 1 13:33:05 2013 New Revision: 255121 URL: http://svnweb.freebsd.org/changeset/base/255121 Log: MFC Added: projects/random_number_generator/lib/libc/include/errlst.h - copied unchanged from r255120, head/lib/libc/include/errlst.h Modified: projects/random_number_generator/contrib/gcc/ChangeLog.gcc43 projects/random_number_generator/contrib/gcc/config/arm/libunwind.S projects/random_number_generator/contrib/gcc/config/arm/unwind-arm.c projects/random_number_generator/contrib/gcc/config/arm/unwind-arm.h projects/random_number_generator/contrib/gcc/doc/extend.texi projects/random_number_generator/contrib/gcclibs/libcpp/expr.c projects/random_number_generator/contrib/gcclibs/libcpp/include/cpplib.h projects/random_number_generator/lib/libc/gen/errlst.c projects/random_number_generator/lib/libc/stdio/xprintf_errno.c projects/random_number_generator/lib/libc/string/strerror.c projects/random_number_generator/lib/libelf/libelf_data.c projects/random_number_generator/share/examples/scsi_target/scsi_target.c projects/random_number_generator/share/man/man4/vtnet.4 projects/random_number_generator/sys/amd64/amd64/apic_vector.S projects/random_number_generator/sys/amd64/amd64/pmap.c projects/random_number_generator/sys/cam/ctl/scsi_ctl.c projects/random_number_generator/sys/cam/scsi/scsi_enc.c projects/random_number_generator/sys/cam/scsi/scsi_targ_bh.c projects/random_number_generator/sys/cam/scsi/scsi_target.c projects/random_number_generator/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c projects/random_number_generator/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c projects/random_number_generator/sys/cddl/dev/fbt/fbt_powerpc.c projects/random_number_generator/sys/dev/virtio/network/if_vtnet.c projects/random_number_generator/sys/dev/virtio/network/if_vtnetvar.h projects/random_number_generator/sys/dev/virtio/network/virtio_net.h projects/random_number_generator/sys/dev/virtio/pci/virtio_pci.c projects/random_number_generator/sys/dev/virtio/virtio_if.m projects/random_number_generator/sys/dev/virtio/virtqueue.c projects/random_number_generator/sys/dev/virtio/virtqueue.h projects/random_number_generator/sys/mips/mips/pmap.c projects/random_number_generator/sys/modules/virtio/network/Makefile projects/random_number_generator/sys/powerpc/powermac/atibl.c projects/random_number_generator/sys/powerpc/powermac/nvbl.c projects/random_number_generator/sys/vm/uma_core.c Directory Properties: projects/random_number_generator/ (props changed) projects/random_number_generator/contrib/gcc/ (props changed) projects/random_number_generator/lib/libc/ (props changed) projects/random_number_generator/share/man/man4/ (props changed) projects/random_number_generator/sys/ (props changed) Modified: projects/random_number_generator/contrib/gcc/ChangeLog.gcc43 ============================================================================== --- projects/random_number_generator/contrib/gcc/ChangeLog.gcc43 Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/contrib/gcc/ChangeLog.gcc43 Sun Sep 1 13:33:05 2013 (r255121) @@ -1,3 +1,9 @@ +2007-06-05 Joerg Wunsch (r23479) + + PR preprocessor/23479 + * doc/extend.texi: Document the 0b-prefixed binary integer + constant extension. + 2007-05-01 Dwarakanath Rajagopal (r124341) * doc/invoke.texi: Fix typo, 'AMD Family 10h core' instead of Modified: projects/random_number_generator/contrib/gcc/config/arm/libunwind.S ============================================================================== --- projects/random_number_generator/contrib/gcc/config/arm/libunwind.S Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/contrib/gcc/config/arm/libunwind.S Sun Sep 1 13:33:05 2013 (r255121) @@ -116,5 +116,6 @@ UNWIND_WRAPPER _Unwind_RaiseException 1 UNWIND_WRAPPER _Unwind_Resume 1 UNWIND_WRAPPER _Unwind_Resume_or_Rethrow 1 UNWIND_WRAPPER _Unwind_ForcedUnwind 3 +UNWIND_WRAPPER _Unwind_Backtrace 2 -#endif /* __symbian__ */ +#endif /* ndef __symbian__ */ Modified: projects/random_number_generator/contrib/gcc/config/arm/unwind-arm.c ============================================================================== --- projects/random_number_generator/contrib/gcc/config/arm/unwind-arm.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/contrib/gcc/config/arm/unwind-arm.c Sun Sep 1 13:33:05 2013 (r255121) @@ -747,6 +747,66 @@ _Unwind_DeleteException (_Unwind_Excepti } +/* Perform stack backtrace through unwind data. */ +_Unwind_Reason_Code +__gnu_Unwind_Backtrace(_Unwind_Trace_Fn trace, void * trace_argument, + phase2_vrs * entry_vrs); +_Unwind_Reason_Code +__gnu_Unwind_Backtrace(_Unwind_Trace_Fn trace, void * trace_argument, + phase2_vrs * entry_vrs) +{ + phase1_vrs saved_vrs; + _Unwind_Reason_Code code; + + _Unwind_Control_Block ucb; + _Unwind_Control_Block *ucbp = &ucb; + + /* Set the pc to the call site. */ + entry_vrs->core.r[R_PC] = entry_vrs->core.r[R_LR]; + + /* Save the core registers. */ + saved_vrs.core = entry_vrs->core; + /* Set demand-save flags. */ + saved_vrs.demand_save_flags = ~(_uw) 0; + + do + { + /* Find the entry for this routine. */ + if (get_eit_entry (ucbp, saved_vrs.core.r[R_PC]) != _URC_OK) + { + code = _URC_FAILURE; + break; + } + + /* The dwarf unwinder assumes the context structure holds things + like the function and LSDA pointers. The ARM implementation + caches these in the exception header (UCB). To avoid + rewriting everything we make the virtual IP register point at + the UCB. */ + _Unwind_SetGR((_Unwind_Context *)&saved_vrs, 12, (_Unwind_Ptr) ucbp); + + /* Call trace function. */ + if ((*trace) ((_Unwind_Context *) &saved_vrs, trace_argument) + != _URC_NO_REASON) + { + code = _URC_FAILURE; + break; + } + + /* Call the pr to decide what to do. */ + code = ((personality_routine) UCB_PR_ADDR (ucbp)) + (_US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND, + ucbp, (void *) &saved_vrs); + } + while (code != _URC_END_OF_STACK + && code != _URC_FAILURE); + + finish: + restore_non_core_regs (&saved_vrs); + return code; +} + + /* Common implementation for ARM ABI defined personality routines. ID is the index of the personality routine, other arguments are as defined by __aeabi_unwind_cpp_pr{0,1,2}. */ @@ -1014,3 +1074,19 @@ _Unwind_GetTextRelBase (_Unwind_Context { abort (); } + +#ifdef __FreeBSD__ +/* FreeBSD expects these to be functions */ +_Unwind_Ptr +_Unwind_GetIP (struct _Unwind_Context *context) +{ + return _Unwind_GetGR (context, 15) & ~(_Unwind_Word)1; +} + +_Unwind_Ptr +_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn) +{ + *ip_before_insn = 0; + return _Unwind_GetGR (context, 15) & ~(_Unwind_Word)1; +} +#endif Modified: projects/random_number_generator/contrib/gcc/config/arm/unwind-arm.h ============================================================================== --- projects/random_number_generator/contrib/gcc/config/arm/unwind-arm.h Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/contrib/gcc/config/arm/unwind-arm.h Sun Sep 1 13:33:05 2013 (r255121) @@ -205,6 +205,13 @@ extern "C" { _Unwind_Control_Block *, struct _Unwind_Context *, void *); _Unwind_Reason_Code _Unwind_ForcedUnwind (_Unwind_Control_Block *, _Unwind_Stop_Fn, void *); + /* @@@ Use unwind data to perform a stack backtrace. The trace callback + is called for every stack frame in the call chain, but no cleanup + actions are performed. */ + typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn) (_Unwind_Context *, void *); + _Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, + void*); + _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *); void _Unwind_Complete(_Unwind_Control_Block *ucbp); void _Unwind_DeleteException (_Unwind_Exception *); @@ -246,12 +253,17 @@ extern "C" { return val; } +#ifndef __FreeBSD__ /* Return the address of the instruction, not the actual IP value. */ #define _Unwind_GetIP(context) \ (_Unwind_GetGR (context, 15) & ~(_Unwind_Word)1) #define _Unwind_GetIPInfo(context, ip_before_insn) \ (*ip_before_insn = 0, _Unwind_GetGR (context, 15) & ~(_Unwind_Word)1) +#else + _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *); + _Unwind_Ptr _Unwind_GetIPInfo (struct _Unwind_Context *, int *); +#endif static inline void _Unwind_SetGR (_Unwind_Context *context, int regno, _Unwind_Word val) Modified: projects/random_number_generator/contrib/gcc/doc/extend.texi ============================================================================== --- projects/random_number_generator/contrib/gcc/doc/extend.texi Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/contrib/gcc/doc/extend.texi Sun Sep 1 13:33:05 2013 (r255121) @@ -81,6 +81,7 @@ extensions, accepted by GCC in C89 mode * Pragmas:: Pragmas accepted by GCC. * Unnamed Fields:: Unnamed struct/union fields within structs/unions. * Thread-Local:: Per-thread variables. +* Binary constants:: Binary constants using the @samp{0b} prefix. @end menu @node Statement Exprs @@ -10424,6 +10425,28 @@ Non-@code{static} members shall not be @ @end quotation @end itemize +@node Binary constants +@section Binary constants using the @samp{0b} prefix +@cindex Binary constants using the @samp{0b} prefix + +Integer constants can be written as binary constants, consisting of a +sequence of @samp{0} and @samp{1} digits, prefixed by @samp{0b} or +@samp{0B}. This is particularly useful in environments that operate a +lot on the bit-level (like microcontrollers). + +The following statements are identical: + +@smallexample +i = 42; +i = 0x2a; +i = 052; +i = 0b101010; +@end smallexample + +The type of these constants follows the same rules as for octal or +hexadecimal integer constants, so suffixes like @samp{L} or @samp{UL} +can be applied. + @node C++ Extensions @chapter Extensions to the C++ Language @cindex extensions, C++ language Modified: projects/random_number_generator/contrib/gcclibs/libcpp/expr.c ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libcpp/expr.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/contrib/gcclibs/libcpp/expr.c Sun Sep 1 13:33:05 2013 (r255121) @@ -188,6 +188,11 @@ cpp_classify_number (cpp_reader *pfile, radix = 16; str++; } + else if ((*str == 'b' || *str == 'B') && (str[1] == '0' || str[1] == '1')) + { + radix = 2; + str++; + } } /* Now scan for a well-formed integer or float. */ @@ -226,10 +231,22 @@ cpp_classify_number (cpp_reader *pfile, radix = 10; if (max_digit >= radix) - SYNTAX_ERROR2 ("invalid digit \"%c\" in octal constant", '0' + max_digit); + { + if (radix == 2) + SYNTAX_ERROR2 ("invalid digit \"%c\" in binary constant", '0' + max_digit); + else + SYNTAX_ERROR2 ("invalid digit \"%c\" in octal constant", '0' + max_digit); + } if (float_flag != NOT_FLOAT) { + if (radix == 2) + { + cpp_error (pfile, CPP_DL_ERROR, + "invalid prefix \"0b\" for floating constant"); + return CPP_N_INVALID; + } + if (radix == 16 && CPP_PEDANTIC (pfile) && !CPP_OPTION (pfile, c99)) cpp_error (pfile, CPP_DL_PEDWARN, "use of C99 hexadecimal floating constant"); @@ -321,11 +338,16 @@ cpp_classify_number (cpp_reader *pfile, if ((result & CPP_N_IMAGINARY) && CPP_PEDANTIC (pfile)) cpp_error (pfile, CPP_DL_PEDWARN, "imaginary constants are a GCC extension"); + if (radix == 2 && CPP_PEDANTIC (pfile)) + cpp_error (pfile, CPP_DL_PEDWARN, + "binary constants are a GCC extension"); if (radix == 10) result |= CPP_N_DECIMAL; else if (radix == 16) result |= CPP_N_HEX; + else if (radix == 2) + result |= CPP_N_BINARY; else result |= CPP_N_OCTAL; @@ -376,6 +398,11 @@ cpp_interpret_integer (cpp_reader *pfile base = 16; p += 2; } + else if ((type & CPP_N_RADIX) == CPP_N_BINARY) + { + base = 2; + p += 2; + } /* We can add a digit to numbers strictly less than this without needing the precision and slowness of double integers. */ @@ -431,12 +458,25 @@ static cpp_num append_digit (cpp_num num, int digit, int base, size_t precision) { cpp_num result; - unsigned int shift = 3 + (base == 16); + unsigned int shift; bool overflow; cpp_num_part add_high, add_low; - /* Multiply by 8 or 16. Catching this overflow here means we don't + /* Multiply by 2, 8 or 16. Catching this overflow here means we don't need to worry about add_high overflowing. */ + switch (base) + { + case 2: + shift = 1; + break; + + case 16: + shift = 4; + break; + + default: + shift = 3; + } overflow = !!(num.high >> (PART_PRECISION - shift)); result.high = num.high << shift; result.low = num.low << shift; Modified: projects/random_number_generator/contrib/gcclibs/libcpp/include/cpplib.h ============================================================================== --- projects/random_number_generator/contrib/gcclibs/libcpp/include/cpplib.h Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/contrib/gcclibs/libcpp/include/cpplib.h Sun Sep 1 13:33:05 2013 (r255121) @@ -745,6 +745,7 @@ struct cpp_num #define CPP_N_DECIMAL 0x0100 #define CPP_N_HEX 0x0200 #define CPP_N_OCTAL 0x0400 +#define CPP_N_BINARY 0x0800 #define CPP_N_UNSIGNED 0x1000 /* Properties. */ #define CPP_N_IMAGINARY 0x2000 Modified: projects/random_number_generator/lib/libc/gen/errlst.c ============================================================================== --- projects/random_number_generator/lib/libc/gen/errlst.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/lib/libc/gen/errlst.c Sun Sep 1 13:33:05 2013 (r255121) @@ -34,6 +34,7 @@ static char sccsid[] = "@(#)errlst.c 8.2 __FBSDID("$FreeBSD$"); #include +#include "errlst.h" const char *const sys_errlist[] = { "No error: 0", /* 0 - ENOERROR */ @@ -156,3 +157,8 @@ const char *const sys_errlist[] = { "Previous owner died", /* 96 - EOWNERDEAD */ }; const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]); + +#ifdef PIC +__strong_reference(sys_errlist, __hidden_sys_errlist); +__strong_reference(sys_nerr, __hidden_sys_nerr); +#endif Copied: projects/random_number_generator/lib/libc/include/errlst.h (from r255120, head/lib/libc/include/errlst.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/random_number_generator/lib/libc/include/errlst.h Sun Sep 1 13:33:05 2013 (r255121, copy of r255120, head/lib/libc/include/errlst.h) @@ -0,0 +1,43 @@ +/*- + * Copyright (c) 2013 Jilles Tjoelker + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef __ERRLST_H__ +#define __ERRLST_H__ + +#include + +#ifdef PIC +/* If the main executable imports these, do not use its copy from libc.so. */ +extern const char *const __hidden_sys_errlist[] __hidden; +extern const int __hidden_sys_nerr __hidden; +#else +#define __hidden_sys_errlist sys_errlist +#define __hidden_sys_nerr sys_nerr +#endif + +#endif /* __ERRLST_H__ */ Modified: projects/random_number_generator/lib/libc/stdio/xprintf_errno.c ============================================================================== --- projects/random_number_generator/lib/libc/stdio/xprintf_errno.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/lib/libc/stdio/xprintf_errno.c Sun Sep 1 13:33:05 2013 (r255121) @@ -34,6 +34,7 @@ #include #include #include +#include "errlst.h" #include "printf.h" int @@ -54,7 +55,7 @@ __printf_render_errno(struct __printf_io ret = 0; error = *((const int *)arg[0]); - if (error >= 0 && error < sys_nerr) { + if (error >= 0 && error < __hidden_sys_nerr) { p = strerror(error); return (__printf_out(io, pi, p, strlen(p))); } Modified: projects/random_number_generator/lib/libc/string/strerror.c ============================================================================== --- projects/random_number_generator/lib/libc/string/strerror.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/lib/libc/string/strerror.c Sun Sep 1 13:33:05 2013 (r255121) @@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include "errlst.h" + #define UPREFIX "Unknown error" /* @@ -87,7 +89,7 @@ strerror_r(int errnum, char *strerrbuf, catd = catopen("libc", NL_CAT_LOCALE); #endif - if (errnum < 0 || errnum >= sys_nerr) { + if (errnum < 0 || errnum >= __hidden_sys_nerr) { errstr(errnum, #if defined(NLS) catgets(catd, 1, 0xffff, UPREFIX), @@ -99,9 +101,9 @@ strerror_r(int errnum, char *strerrbuf, } else { if (strlcpy(strerrbuf, #if defined(NLS) - catgets(catd, 1, errnum, sys_errlist[errnum]), + catgets(catd, 1, errnum, __hidden_sys_errlist[errnum]), #else - sys_errlist[errnum], + __hidden_sys_errlist[errnum], #endif buflen) >= buflen) retval = ERANGE; Modified: projects/random_number_generator/lib/libelf/libelf_data.c ============================================================================== --- projects/random_number_generator/lib/libelf/libelf_data.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/lib/libelf/libelf_data.c Sun Sep 1 13:33:05 2013 (r255121) @@ -84,13 +84,21 @@ _libelf_xlate_shtype(uint32_t sht) case SHT_SUNW_dof: return (ELF_T_BYTE); #endif + case SHT_ARM_PREEMPTMAP: + /* FALLTHROUGH */ + case SHT_ARM_ATTRIBUTES: + /* FALLTHROUGH */ + case SHT_ARM_DEBUGOVERLAY: + /* FALLTHROUGH */ + case SHT_ARM_OVERLAYSECTION: + /* FALLTHROUGH */ case SHT_MIPS_DWARF: /* FALLTHROUGH */ case SHT_MIPS_REGINFO: /* FALLTHROUGH */ case SHT_MIPS_OPTIONS: /* FALLTHROUGH */ - case SHT_AMD64_UNWIND: /* == SHT_IA_64_UNWIND */ + case SHT_AMD64_UNWIND: /* == SHT_IA_64_UNWIND == SHT_ARM_EXIDX */ return (ELF_T_BYTE); default: return (-1); Modified: projects/random_number_generator/share/examples/scsi_target/scsi_target.c ============================================================================== --- projects/random_number_generator/share/examples/scsi_target/scsi_target.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/share/examples/scsi_target/scsi_target.c Sun Sep 1 13:33:05 2013 (r255121) @@ -365,7 +365,7 @@ init_ccbs() for (i = 0; i < MAX_INITIATORS; i++) { struct ccb_accept_tio *atio; struct atio_descr *a_descr; - struct ccb_immed_notify *inot; + struct ccb_immediate_notify *inot; atio = (struct ccb_accept_tio *)malloc(sizeof(*atio)); if (atio == NULL) { @@ -382,7 +382,7 @@ init_ccbs() atio->ccb_h.targ_descr = a_descr; send_ccb((union ccb *)atio, /*priority*/1); - inot = (struct ccb_immed_notify *)malloc(sizeof(*inot)); + inot = (struct ccb_immediate_notify *)malloc(sizeof(*inot)); if (inot == NULL) { warn("malloc INOT"); return (-1); @@ -593,7 +593,7 @@ handle_read() oo += run_queue(c_descr->atio); break; } - case XPT_IMMED_NOTIFY: + case XPT_IMMEDIATE_NOTIFY: /* INOTs are handled with priority */ TAILQ_INSERT_HEAD(&work_queue, &ccb->ccb_h, periph_links.tqe); @@ -903,7 +903,7 @@ free_ccb(union ccb *ccb) case XPT_ACCEPT_TARGET_IO: free(ccb->ccb_h.targ_descr); /* FALLTHROUGH */ - case XPT_IMMED_NOTIFY: + case XPT_IMMEDIATE_NOTIFY: default: free(ccb); break; Modified: projects/random_number_generator/share/man/man4/vtnet.4 ============================================================================== --- projects/random_number_generator/share/man/man4/vtnet.4 Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/share/man/man4/vtnet.4 Sun Sep 1 13:33:05 2013 (r255121) @@ -69,14 +69,30 @@ prompt before booting the kernel or stor .Xr loader.conf 5 . .Bl -tag -width "xxxxxx" .It Va hw.vtnet.csum_disable +.It Va hw.vtnet. Ns Ar X Ns Va .csum_disable This tunable disables receive and send checksum offload. The default value is 0. .It Va hw.vtnet.tso_disable +.It Va hw.vtnet. Ns Ar X Ns Va .tso_disable This tunable disables TSO. The default value is 0. .It Va hw.vtnet.lro_disable +.It Va hw.vtnet. Ns Ar X Ns Va .lro_disable This tunable disables LRO. The default value is 0. +.It Va hw.vtnet.mq_disable +.It Va hw.vtnet. Ns Ar X Ns Va .mq_disable +This tunable disables multiqueue. +The default value is 0. +.It Va hw.vtnet.mq_max_pairs +.It Va hw.vtnet. Ns Ar X Ns Va .mq_max_pairs +This tunable sets the maximum number of transmit and receive queue pairs. +Multiple queues are only supported when the Multiqueue feature is negotiated. +This driver supports a maximum of 8 queue pairs. +The number of queue pairs used is the lesser of the maximum supported by the +driver and the hypervisor, the number of CPUs present in the guest, and this +tunable if not zero. +The default value is 0. .El .Sh SEE ALSO .Xr arp 4 , Modified: projects/random_number_generator/sys/amd64/amd64/apic_vector.S ============================================================================== --- projects/random_number_generator/sys/amd64/amd64/apic_vector.S Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/sys/amd64/amd64/apic_vector.S Sun Sep 1 13:33:05 2013 (r255121) @@ -160,11 +160,11 @@ IDTVEC(xen_intr_upcall) SUPERALIGN_TEXT global_invltlb: - movl %cr4,%eax - andl $~0x80,%eax - movl %eax,%cr4 - orl $0x80,%eax - movl %eax,%cr4 + movq %cr4,%rax + andq $~0x80,%rax /* PGE */ + movq %rax,%cr4 + orq $0x80,%rax + movq %rax,%cr4 invltlb_ret_clear_pm_save: movq smp_tlb_pmap,%rdx testq %rdx,%rdx Modified: projects/random_number_generator/sys/amd64/amd64/pmap.c ============================================================================== --- projects/random_number_generator/sys/amd64/amd64/pmap.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/sys/amd64/amd64/pmap.c Sun Sep 1 13:33:05 2013 (r255121) @@ -762,7 +762,6 @@ pmap_bootstrap(vm_paddr_t *firstaddr) /* Initialize the PAT MSR. */ pmap_init_pat(); -#ifdef SMP /* Initialize TLB Context Id. */ TUNABLE_INT_FETCH("vm.pmap.pcid_enabled", &pmap_pcid_enabled); if ((cpu_feature2 & CPUID2_PCID) != 0 && pmap_pcid_enabled) { @@ -773,8 +772,10 @@ pmap_bootstrap(vm_paddr_t *firstaddr) invpcid_works = (cpu_stdext_feature & CPUID_STDEXT_INVPCID) != 0; kernel_pmap->pm_pcid = 0; - } else +#ifndef SMP + pmap_pcid_enabled = 0; #endif + } else pmap_pcid_enabled = 0; } Modified: projects/random_number_generator/sys/cam/ctl/scsi_ctl.c ============================================================================== --- projects/random_number_generator/sys/cam/ctl/scsi_ctl.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/sys/cam/ctl/scsi_ctl.c Sun Sep 1 13:33:05 2013 (r255121) @@ -961,23 +961,23 @@ ctlfestart(struct cam_periph *periph, un /* * Valid combinations: - * - CAM_SEND_STATUS, SCATTER_VALID = 0, dxfer_len = 0, + * - CAM_SEND_STATUS, CAM_DATA_SG = 0, dxfer_len = 0, * sglist_cnt = 0 - * - CAM_SEND_STATUS = 0, SCATTER_VALID = 0, dxfer_len != 0, + * - CAM_SEND_STATUS = 0, CAM_DATA_SG = 0, dxfer_len != 0, * sglist_cnt = 0 - * - CAM_SEND_STATUS = 0, SCATTER_VALID, dxfer_len != 0, + * - CAM_SEND_STATUS = 0, CAM_DATA_SG, dxfer_len != 0, * sglist_cnt != 0 */ #ifdef CTLFEDEBUG if (((flags & CAM_SEND_STATUS) - && (((flags & CAM_SCATTER_VALID) != 0) + && (((flags & CAM_DATA_SG) != 0) || (dxfer_len != 0) || (csio->sglist_cnt != 0))) || (((flags & CAM_SEND_STATUS) == 0) && (dxfer_len == 0)) - || ((flags & CAM_SCATTER_VALID) + || ((flags & CAM_DATA_SG) && (csio->sglist_cnt == 0)) - || (((flags & CAM_SCATTER_VALID) == 0) + || (((flags & CAM_DATA_SG) == 0) && (csio->sglist_cnt != 0))) { printf("%s: tag %04x cdb %02x flags %#x dxfer_len " "%d sg %u\n", __func__, atio->tag_id, Modified: projects/random_number_generator/sys/cam/scsi/scsi_enc.c ============================================================================== --- projects/random_number_generator/sys/cam/scsi/scsi_enc.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/sys/cam/scsi/scsi_enc.c Sun Sep 1 13:33:05 2013 (r255121) @@ -56,6 +56,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + MALLOC_DEFINE(M_SCSIENC, "SCSI ENC", "SCSI ENC buffers"); /* Enclosure type independent driver */ @@ -719,12 +721,12 @@ enc_type(struct ccb_getdev *cgd) return (ENC_NONE); } -#ifdef ENC_ENABLE_PASSTHROUGH +#ifdef SES_ENABLE_PASSTHROUGH if ((iqd[6] & 0x40) && (iqd[2] & 0x7) >= 2) { /* * PassThrough Device. */ - return (ENC_ENC_PASSTHROUGH); + return (ENC_SES_PASSTHROUGH); } #endif Modified: projects/random_number_generator/sys/cam/scsi/scsi_targ_bh.c ============================================================================== --- projects/random_number_generator/sys/cam/scsi/scsi_targ_bh.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/sys/cam/scsi/scsi_targ_bh.c Sun Sep 1 13:33:05 2013 (r255121) @@ -283,16 +283,13 @@ targbhenlun(struct cam_periph *periph) xpt_setup_ccb(&atio->ccb_h, periph->path, CAM_PRIORITY_NORMAL); atio->ccb_h.func_code = XPT_ACCEPT_TARGET_IO; atio->ccb_h.cbfcnp = targbhdone; - xpt_action((union ccb *)atio); - status = atio->ccb_h.status; - if (status != CAM_REQ_INPROG) { - targbhfreedescr(atio->ccb_h.ccb_descr); - free(atio, M_SCSIBH); - break; - } ((struct targbh_cmd_desc*)atio->ccb_h.ccb_descr)->atio_link = softc->accept_tio_list; softc->accept_tio_list = atio; + xpt_action((union ccb *)atio); + status = atio->ccb_h.status; + if (status != CAM_REQ_INPROG) + break; } if (i == 0) { @@ -308,10 +305,10 @@ targbhenlun(struct cam_periph *periph) * so the SIM can tell us of asynchronous target mode events. */ for (i = 0; i < MAX_ACCEPT; i++) { - struct ccb_immed_notify *inot; + struct ccb_immediate_notify *inot; - inot = (struct ccb_immed_notify*)malloc(sizeof(*inot), M_SCSIBH, - M_NOWAIT); + inot = (struct ccb_immediate_notify*)malloc(sizeof(*inot), + M_SCSIBH, M_NOWAIT); if (inot == NULL) { status = CAM_RESRC_UNAVAIL; @@ -319,16 +316,14 @@ targbhenlun(struct cam_periph *periph) } xpt_setup_ccb(&inot->ccb_h, periph->path, CAM_PRIORITY_NORMAL); - inot->ccb_h.func_code = XPT_IMMED_NOTIFY; + inot->ccb_h.func_code = XPT_IMMEDIATE_NOTIFY; inot->ccb_h.cbfcnp = targbhdone; + SLIST_INSERT_HEAD(&softc->immed_notify_slist, &inot->ccb_h, + periph_links.sle); xpt_action((union ccb *)inot); status = inot->ccb_h.status; - if (status != CAM_REQ_INPROG) { - free(inot, M_SCSIBH); + if (status != CAM_REQ_INPROG) break; - } - SLIST_INSERT_HEAD(&softc->immed_notify_slist, &inot->ccb_h, - periph_links.sle); } if (i == 0) { @@ -413,7 +408,9 @@ targbhctor(struct cam_periph *periph, vo periph->softc = softc; softc->init_level++; - return (targbhenlun(periph)); + if (targbhenlun(periph) != CAM_REQ_CMP) + cam_periph_invalidate(periph); + return (CAM_REQ_CMP); } static void @@ -715,7 +712,7 @@ targbhdone(struct cam_periph *periph, un } break; } - case XPT_IMMED_NOTIFY: + case XPT_IMMEDIATE_NOTIFY: { int frozen; Modified: projects/random_number_generator/sys/cam/scsi/scsi_target.c ============================================================================== --- projects/random_number_generator/sys/cam/scsi/scsi_target.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/sys/cam/scsi/scsi_target.c Sun Sep 1 13:33:05 2013 (r255121) @@ -551,6 +551,7 @@ targwrite(struct cdev *dev, struct uio * switch (func_code) { case XPT_ACCEPT_TARGET_IO: case XPT_IMMED_NOTIFY: + case XPT_IMMEDIATE_NOTIFY: cam_periph_lock(softc->periph); ccb = targgetccb(softc, func_code, priority); descr = (struct targ_cmd_descr *)ccb->ccb_h.targ_descr; @@ -781,6 +782,7 @@ targdone(struct cam_periph *periph, unio switch (done_ccb->ccb_h.func_code) { /* All FC_*_QUEUED CCBs go back to userland */ case XPT_IMMED_NOTIFY: + case XPT_IMMEDIATE_NOTIFY: case XPT_ACCEPT_TARGET_IO: case XPT_CONT_TARGET_IO: TAILQ_INSERT_TAIL(&softc->user_ccb_queue, &done_ccb->ccb_h, @@ -961,6 +963,7 @@ targfreeccb(struct targ_softc *softc, un switch (ccb->ccb_h.func_code) { case XPT_ACCEPT_TARGET_IO: case XPT_IMMED_NOTIFY: + case XPT_IMMEDIATE_NOTIFY: CAM_DEBUG_PRINT(CAM_DEBUG_PERIPH, ("freeing ccb %p\n", ccb)); free(ccb, M_TARG); break; @@ -1131,6 +1134,9 @@ targccblen(xpt_opcode func_code) case XPT_IMMED_NOTIFY: len = sizeof(struct ccb_immed_notify); break; + case XPT_IMMEDIATE_NOTIFY: + len = sizeof(struct ccb_immediate_notify); + break; case XPT_REL_SIMQ: len = sizeof(struct ccb_relsim); break; Modified: projects/random_number_generator/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c ============================================================================== --- projects/random_number_generator/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c Sun Sep 1 13:33:05 2013 (r255121) @@ -349,50 +349,84 @@ zero: uint64_t dtrace_getarg(int arg, int aframes) { - return (0); -} - -#ifdef notyet -{ - int depth = 0; - register_t sp; - vm_offset_t callpc; - pc_t caller = (pc_t) solaris_cpu[curcpu].cpu_dtrace_caller; - - if (intrpc != 0) - pcstack[depth++] = (pc_t) intrpc; - - aframes++; - - sp = dtrace_getfp(); - - while (depth < pcstack_limit) { - if (!INKERNEL((long) frame)) - break; - - callpc = *(void **)(sp + RETURN_OFFSET); - - if (!INKERNEL(callpc)) - break; + uintptr_t val; + uintptr_t *fp = (uintptr_t *)dtrace_getfp(); + uintptr_t *stack; + int i; + + /* + * A total of 8 arguments are passed via registers; any argument with + * index of 7 or lower is therefore in a register. + */ + int inreg = 7; + + for (i = 1; i <= aframes; i++) { + fp = (uintptr_t *)*fp; + + /* + * On ppc32 AIM, and booke, trapexit() is the immediately following + * label. On ppc64 AIM trapexit() follows a nop. + */ + if (((long)(fp[1]) == (long)trapexit) || + (((long)(fp[1]) + 4 == (long)trapexit))) { + /* + * In the case of powerpc, we will use the pointer to the regs + * structure that was pushed when we took the trap. To get this + * structure, we must increment beyond the frame structure. If the + * argument that we're seeking is passed on the stack, we'll pull + * the true stack pointer out of the saved registers and decrement + * our argument by the number of arguments passed in registers; if + * the argument we're seeking is passed in regsiters, we can just + * load it directly. + */ +#ifdef __powerpc64__ + struct reg *rp = (struct reg *)((uintptr_t)fp[0] + 48); +#else + struct reg *rp = (struct reg *)((uintptr_t)fp[0] + 8); +#endif - if (aframes > 0) { - aframes--; - if ((aframes == 0) && (caller != 0)) { - pcstack[depth++] = caller; + if (arg <= inreg) { + stack = &rp->fixreg[3]; + } else { + stack = (uintptr_t *)(rp->fixreg[1]); + arg -= inreg; } - } - else { - pcstack[depth++] = callpc; + goto load; } - sp = *(void **)sp; } - for (; depth < pcstack_limit; depth++) { - pcstack[depth] = 0; + /* + * We know that we did not come through a trap to get into + * dtrace_probe() -- the provider simply called dtrace_probe() + * directly. As this is the case, we need to shift the argument + * that we're looking for: the probe ID is the first argument to + * dtrace_probe(), so the argument n will actually be found where + * one would expect to find argument (n + 1). + */ + arg++; + + if (arg <= inreg) { + /* + * This shouldn't happen. If the argument is passed in a + * register then it should have been, well, passed in a + * register... + */ + DTRACE_CPUFLAG_SET(CPU_DTRACE_ILLOP); + return (0); } + + arg -= (inreg + 1); + stack = fp + 2; + +load: + DTRACE_CPUFLAG_SET(CPU_DTRACE_NOFAULT); + val = stack[arg]; + DTRACE_CPUFLAG_CLEAR(CPU_DTRACE_NOFAULT); + + return (val); + return (0); } -#endif int dtrace_getstackdepth(int aframes) Modified: projects/random_number_generator/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c ============================================================================== --- projects/random_number_generator/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c Sun Sep 1 13:01:59 2013 (r255120) +++ projects/random_number_generator/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c Sun Sep 1 13:33:05 2013 (r255121) @@ -51,6 +51,8 @@ extern int dtrace_in_probe; extern dtrace_id_t dtrace_probeid_error; extern int (*dtrace_invop_jump_addr)(struct trapframe *); +extern void dtrace_getnanotime(struct timespec *tsp); + int dtrace_invop(uintptr_t, uintptr_t *, uintptr_t); void dtrace_invop_init(void); void dtrace_invop_uninit(void); @@ -63,13 +65,13 @@ typedef struct dtrace_invop_hdlr { dtrace_invop_hdlr_t *dtrace_invop_hdlr; int -dtrace_invop(uintptr_t addr, uintptr_t *stack, uintptr_t eax) +dtrace_invop(uintptr_t addr, uintptr_t *stack, uintptr_t arg0) { dtrace_invop_hdlr_t *hdlr; int rval; for (hdlr = dtrace_invop_hdlr; hdlr != NULL; hdlr = hdlr->dtih_next) - if ((rval = hdlr->dtih_func(addr, stack, eax)) != 0) + if ((rval = hdlr->dtih_func(addr, stack, arg0)) != 0) return (rval); return (0); @@ -134,7 +136,7 @@ dtrace_xcall(processorid_t cpu, dtrace_x CPU_SETOF(cpu, &cpus); smp_rendezvous_cpus(cpus, smp_no_rendevous_barrier, func, - smp_no_rendevous_barrier, arg); + smp_no_rendevous_barrier, arg); } static void @@ -145,9 +147,82 @@ dtrace_sync_func(void) void dtrace_sync(void) { - dtrace_xcall(DTRACE_CPUALL, (dtrace_xcall_t)dtrace_sync_func, NULL); + dtrace_xcall(DTRACE_CPUALL, (dtrace_xcall_t)dtrace_sync_func, NULL); +} + +static int64_t tgt_cpu_tsc; +static int64_t hst_cpu_tsc; +static int64_t timebase_skew[MAXCPU]; +static uint64_t nsec_scale; + +/* See below for the explanation of this macro. */ +/* This is taken from the amd64 dtrace_subr, to provide a synchronized timer + * between multiple processors in dtrace. Since PowerPC Timebases can be much + * lower than x86, the scale shift is 26 instead of 28, allowing for a 15.63MHz + * timebase. + */ +#define SCALE_SHIFT 26 + +static void +dtrace_gethrtime_init_cpu(void *arg) +{ + uintptr_t cpu = (uintptr_t) arg; + + if (cpu == curcpu) + tgt_cpu_tsc = mftb(); + else + hst_cpu_tsc = mftb(); +} + +static void +dtrace_gethrtime_init(void *arg) +{ + struct pcpu *pc; + uint64_t tb_f; + cpuset_t map; + int i; + + tb_f = cpu_tickrate(); + + /* + * The following line checks that nsec_scale calculated below + * doesn't overflow 32-bit unsigned integer, so that it can multiply + * another 32-bit integer without overflowing 64-bit. + * Thus minimum supported Timebase frequency is 15.63MHz. + */ + KASSERT(tb_f > (NANOSEC >> (32 - SCALE_SHIFT)), ("Timebase frequency is too low")); + + /* + * We scale up NANOSEC/tb_f ratio to preserve as much precision + * as possible. + * 2^26 factor was chosen quite arbitrarily from practical + * considerations: + * - it supports TSC frequencies as low as 15.63MHz (see above); + */ + nsec_scale = ((uint64_t)NANOSEC << SCALE_SHIFT) / tb_f; + + /* The current CPU is the reference one. */ + sched_pin(); + timebase_skew[curcpu] = 0; + CPU_FOREACH(i) { + if (i == curcpu) + continue; + + pc = pcpu_find(i); + CPU_SETOF(PCPU_GET(cpuid), &map); + CPU_SET(pc->pc_cpuid, &map); + + smp_rendezvous_cpus(map, NULL, + dtrace_gethrtime_init_cpu, + smp_no_rendevous_barrier, (void *)(uintptr_t) i); + + timebase_skew[i] = tgt_cpu_tsc - hst_cpu_tsc; + } + sched_unpin(); } +SYSINIT(dtrace_gethrtime_init, SI_SUB_SMP, SI_ORDER_ANY, dtrace_gethrtime_init, NULL); + /* * DTrace needs a high resolution time function which can * be called from a probe context and guaranteed not to have @@ -158,12 +233,21 @@ dtrace_sync(void) uint64_t dtrace_gethrtime() { - struct timespec curtime; - - nanouptime(&curtime); - - return (curtime.tv_sec * 1000000000UL + curtime.tv_nsec); + uint64_t timebase; + uint32_t lo; + uint32_t hi; + /* + * We split timebase value into lower and higher 32-bit halves and separately + * scale them with nsec_scale, then we scale them down by 2^28 + * (see nsec_scale calculations) taking into account 32-bit shift of + * the higher half and finally add. + */ + timebase = mftb() - timebase_skew[curcpu]; + lo = timebase; + hi = timebase >> 32; + return (((lo * nsec_scale) >> SCALE_SHIFT) + + ((hi * nsec_scale) << (32 - SCALE_SHIFT))); } uint64_t @@ -171,12 +255,12 @@ dtrace_gethrestime(void) { struct timespec curtime; - getnanotime(&curtime); + dtrace_getnanotime(&curtime); return (curtime.tv_sec * 1000000000UL + curtime.tv_nsec); } -/* Function to handle DTrace traps during probes. See amd64/amd64/trap.c */ +/* Function to handle DTrace traps during probes. See powerpc/powerpc/trap.c */ int dtrace_trap(struct trapframe *frame, u_int type) { @@ -196,34 +280,34 @@ dtrace_trap(struct trapframe *frame, u_i *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Sep 1 20:48:28 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 21C23A7E; Sun, 1 Sep 2013 20:48:28 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0C7E324E6; Sun, 1 Sep 2013 20:48:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r81KmSC4074820; Sun, 1 Sep 2013 20:48:28 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r81KmNlB074765; Sun, 1 Sep 2013 20:48:23 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309012048.r81KmNlB074765@svn.freebsd.org> From: Alexander Motin Date: Sun, 1 Sep 2013 20:48:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255132 - in projects/camlock: contrib/bmake contrib/gcc contrib/gcc/doc contrib/gcclibs/libcpp contrib/gcclibs/libcpp/include etc/devd lib/libc/gen lib/libc/include lib/libc/stdio lib/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Sep 2013 20:48:28 -0000 Author: mav Date: Sun Sep 1 20:48:22 2013 New Revision: 255132 URL: http://svnweb.freebsd.org/changeset/base/255132 Log: MFC @ 255131 Added: projects/camlock/lib/libc/include/errlst.h - copied unchanged from r255131, head/lib/libc/include/errlst.h projects/camlock/sys/arm/conf/DIGI-CCWMX53 - copied unchanged from r255131, head/sys/arm/conf/DIGI-CCWMX53 projects/camlock/sys/arm/freescale/imx/files.imx53 - copied unchanged from r255131, head/sys/arm/freescale/imx/files.imx53 projects/camlock/sys/arm/freescale/imx/imx53_machdep.c - copied unchanged from r255131, head/sys/arm/freescale/imx/imx53_machdep.c projects/camlock/sys/arm/freescale/imx/std.imx53 - copied unchanged from r255131, head/sys/arm/freescale/imx/std.imx53 projects/camlock/sys/boot/fdt/dts/digi-ccwmx53.dts - copied unchanged from r255131, head/sys/boot/fdt/dts/digi-ccwmx53.dts projects/camlock/sys/boot/fdt/dts/imx53x.dtsi - copied unchanged from r255131, head/sys/boot/fdt/dts/imx53x.dtsi Modified: projects/camlock/contrib/bmake/compat.c projects/camlock/contrib/gcc/ChangeLog.gcc43 projects/camlock/contrib/gcc/doc/extend.texi projects/camlock/contrib/gcclibs/libcpp/expr.c projects/camlock/contrib/gcclibs/libcpp/include/cpplib.h projects/camlock/etc/devd/usb.conf projects/camlock/lib/libc/gen/errlst.c projects/camlock/lib/libc/stdio/xprintf_errno.c projects/camlock/lib/libc/stdlib/system.c projects/camlock/lib/libc/string/strerror.c projects/camlock/lib/libelf/libelf_data.c projects/camlock/share/examples/scsi_target/scsi_target.c projects/camlock/share/man/man4/vtnet.4 projects/camlock/sys/amd64/amd64/apic_vector.S projects/camlock/sys/amd64/amd64/pmap.c projects/camlock/sys/arm/freescale/imx/imx51_ccm.c projects/camlock/sys/arm/freescale/imx/imx51_gpio.c projects/camlock/sys/arm/freescale/imx/imx51_iomux.c projects/camlock/sys/arm/freescale/imx/imx51_machdep.c projects/camlock/sys/arm/freescale/imx/imx_gpt.c projects/camlock/sys/arm/freescale/imx/imx_wdog.c projects/camlock/sys/cam/scsi/scsi_enc.c projects/camlock/sys/cam/scsi/scsi_targ_bh.c projects/camlock/sys/cam/scsi/scsi_target.c projects/camlock/sys/dev/usb/serial/uftdi.c projects/camlock/sys/dev/usb/usbdevs projects/camlock/sys/dev/virtio/network/if_vtnet.c projects/camlock/sys/dev/virtio/network/if_vtnetvar.h projects/camlock/sys/dev/virtio/network/virtio_net.h projects/camlock/sys/dev/virtio/pci/virtio_pci.c projects/camlock/sys/dev/virtio/virtio_if.m projects/camlock/sys/dev/virtio/virtqueue.c projects/camlock/sys/dev/virtio/virtqueue.h projects/camlock/sys/mips/mips/pmap.c projects/camlock/sys/modules/virtio/network/Makefile projects/camlock/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/camlock/tools/tools/bus_autoconf/bus_load_file.c Directory Properties: projects/camlock/ (props changed) projects/camlock/contrib/bmake/ (props changed) projects/camlock/contrib/gcc/ (props changed) projects/camlock/lib/libc/ (props changed) projects/camlock/share/man/man4/ (props changed) projects/camlock/sys/ (props changed) projects/camlock/sys/boot/ (props changed) Modified: projects/camlock/contrib/bmake/compat.c ============================================================================== --- projects/camlock/contrib/bmake/compat.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/contrib/bmake/compat.c Sun Sep 1 20:48:22 2013 (r255132) @@ -340,7 +340,7 @@ again: /* * The following work for any of the builtin shell specs. */ - if (shellErrFlag) { + if (errCheck && shellErrFlag) { shargv[shargc++] = shellErrFlag; } if (DEBUG(SHELL)) Modified: projects/camlock/contrib/gcc/ChangeLog.gcc43 ============================================================================== --- projects/camlock/contrib/gcc/ChangeLog.gcc43 Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/contrib/gcc/ChangeLog.gcc43 Sun Sep 1 20:48:22 2013 (r255132) @@ -1,3 +1,9 @@ +2007-06-05 Joerg Wunsch (r23479) + + PR preprocessor/23479 + * doc/extend.texi: Document the 0b-prefixed binary integer + constant extension. + 2007-05-01 Dwarakanath Rajagopal (r124341) * doc/invoke.texi: Fix typo, 'AMD Family 10h core' instead of Modified: projects/camlock/contrib/gcc/doc/extend.texi ============================================================================== --- projects/camlock/contrib/gcc/doc/extend.texi Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/contrib/gcc/doc/extend.texi Sun Sep 1 20:48:22 2013 (r255132) @@ -81,6 +81,7 @@ extensions, accepted by GCC in C89 mode * Pragmas:: Pragmas accepted by GCC. * Unnamed Fields:: Unnamed struct/union fields within structs/unions. * Thread-Local:: Per-thread variables. +* Binary constants:: Binary constants using the @samp{0b} prefix. @end menu @node Statement Exprs @@ -10424,6 +10425,28 @@ Non-@code{static} members shall not be @ @end quotation @end itemize +@node Binary constants +@section Binary constants using the @samp{0b} prefix +@cindex Binary constants using the @samp{0b} prefix + +Integer constants can be written as binary constants, consisting of a +sequence of @samp{0} and @samp{1} digits, prefixed by @samp{0b} or +@samp{0B}. This is particularly useful in environments that operate a +lot on the bit-level (like microcontrollers). + +The following statements are identical: + +@smallexample +i = 42; +i = 0x2a; +i = 052; +i = 0b101010; +@end smallexample + +The type of these constants follows the same rules as for octal or +hexadecimal integer constants, so suffixes like @samp{L} or @samp{UL} +can be applied. + @node C++ Extensions @chapter Extensions to the C++ Language @cindex extensions, C++ language Modified: projects/camlock/contrib/gcclibs/libcpp/expr.c ============================================================================== --- projects/camlock/contrib/gcclibs/libcpp/expr.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/contrib/gcclibs/libcpp/expr.c Sun Sep 1 20:48:22 2013 (r255132) @@ -188,6 +188,11 @@ cpp_classify_number (cpp_reader *pfile, radix = 16; str++; } + else if ((*str == 'b' || *str == 'B') && (str[1] == '0' || str[1] == '1')) + { + radix = 2; + str++; + } } /* Now scan for a well-formed integer or float. */ @@ -226,10 +231,22 @@ cpp_classify_number (cpp_reader *pfile, radix = 10; if (max_digit >= radix) - SYNTAX_ERROR2 ("invalid digit \"%c\" in octal constant", '0' + max_digit); + { + if (radix == 2) + SYNTAX_ERROR2 ("invalid digit \"%c\" in binary constant", '0' + max_digit); + else + SYNTAX_ERROR2 ("invalid digit \"%c\" in octal constant", '0' + max_digit); + } if (float_flag != NOT_FLOAT) { + if (radix == 2) + { + cpp_error (pfile, CPP_DL_ERROR, + "invalid prefix \"0b\" for floating constant"); + return CPP_N_INVALID; + } + if (radix == 16 && CPP_PEDANTIC (pfile) && !CPP_OPTION (pfile, c99)) cpp_error (pfile, CPP_DL_PEDWARN, "use of C99 hexadecimal floating constant"); @@ -321,11 +338,16 @@ cpp_classify_number (cpp_reader *pfile, if ((result & CPP_N_IMAGINARY) && CPP_PEDANTIC (pfile)) cpp_error (pfile, CPP_DL_PEDWARN, "imaginary constants are a GCC extension"); + if (radix == 2 && CPP_PEDANTIC (pfile)) + cpp_error (pfile, CPP_DL_PEDWARN, + "binary constants are a GCC extension"); if (radix == 10) result |= CPP_N_DECIMAL; else if (radix == 16) result |= CPP_N_HEX; + else if (radix == 2) + result |= CPP_N_BINARY; else result |= CPP_N_OCTAL; @@ -376,6 +398,11 @@ cpp_interpret_integer (cpp_reader *pfile base = 16; p += 2; } + else if ((type & CPP_N_RADIX) == CPP_N_BINARY) + { + base = 2; + p += 2; + } /* We can add a digit to numbers strictly less than this without needing the precision and slowness of double integers. */ @@ -431,12 +458,25 @@ static cpp_num append_digit (cpp_num num, int digit, int base, size_t precision) { cpp_num result; - unsigned int shift = 3 + (base == 16); + unsigned int shift; bool overflow; cpp_num_part add_high, add_low; - /* Multiply by 8 or 16. Catching this overflow here means we don't + /* Multiply by 2, 8 or 16. Catching this overflow here means we don't need to worry about add_high overflowing. */ + switch (base) + { + case 2: + shift = 1; + break; + + case 16: + shift = 4; + break; + + default: + shift = 3; + } overflow = !!(num.high >> (PART_PRECISION - shift)); result.high = num.high << shift; result.low = num.low << shift; Modified: projects/camlock/contrib/gcclibs/libcpp/include/cpplib.h ============================================================================== --- projects/camlock/contrib/gcclibs/libcpp/include/cpplib.h Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/contrib/gcclibs/libcpp/include/cpplib.h Sun Sep 1 20:48:22 2013 (r255132) @@ -745,6 +745,7 @@ struct cpp_num #define CPP_N_DECIMAL 0x0100 #define CPP_N_HEX 0x0200 #define CPP_N_OCTAL 0x0400 +#define CPP_N_BINARY 0x0800 #define CPP_N_UNSIGNED 0x1000 /* Properties. */ #define CPP_N_IMAGINARY 0x2000 Modified: projects/camlock/etc/devd/usb.conf ============================================================================== --- projects/camlock/etc/devd/usb.conf Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/etc/devd/usb.conf Sun Sep 1 20:48:22 2013 (r255132) @@ -129,7 +129,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0403"; - match "product" "(0x6001|0x6004|0x6006|0x6006|0x6010|0x6011|0x6014|0x8372|0x9378|0x9379|0x937a|0x937c|0x9868|0x9e90|0x9f80|0xa6d0|0xabb8|0xb810|0xb811|0xb812|0xbaf8|0xbbe2|0xbca0|0xbca1|0xbca2|0xbca4|0xbcd8|0xbcd9|0xbcda|0xbdc8|0xbfd8|0xbfd9|0xbfda|0xbfdb|0xbfdc|0xc7d0|0xc850|0xc991|0xcaa0|0xcc48|0xcc49|0xcc4a|0xd010|0xd011|0xd012|0xd013|0xd014|0xd015|0xd016|0xd017|0xd070|0xd071|0xd388|0xd389|0xd38a|0xd38b|0xd38c|0xd38d|0xd38e|0xd38f|0xd578|0xd678|0xd738|0xd780|0xdaf8|0xdaf9|0xdafa|0xdafb|0xdafc|0xdafd|0xdafe|0xdaff|0xdc00|0xdc01|0xdd20|0xdf28|0xdf30|0xdf31|0xdf32|0xdf33|0xdf35|0xe000|0xe001|0xe002|0xe004|0xe006|0xe008|0xe009|0xe00a|0xe050|0xe0e8|0xe0e9|0xe0ea|0xe0eb|0xe0ec|0xe0ed|0xe0ee|0xe0ef|0xe0f0|0xe0f1|0xe0f2|0xe0f3|0xe0f4|0xe0f5|0xe0f6|0xe0f7|0xe40b|0xe520|0xe548|0xe6c8|0xe700|0xe729|0xe808|0xe809|0xe80a|0xe80b|0xe80c|0xe80d|0xe80e|0xe80f|0xe888|0xe889|0xe88a|0xe88b|0xe88c|0xe88d|0xe88e|0xe88f|0xea90|0xebe0|0xec88|0xec89|0xed22|0xed71|0xed72|0xed73|0xed74|0xee18|0xeee8|0xeee 9|0xeeea|0xeeeb|0xeeec|0xeeed|0xeeee|0xeeef|0xef50|0xef51|0xf068|0xf069|0xf06a|0xf06b|0xf06c|0xf06d|0xf06e|0xf06f|0xf070|0xf0c0|0xf0c8|0xf208|0xf2d0|0xf3c0|0xf3c1|0xf3c2|0xf448|0xf449|0xf44a|0xf44b|0xf44c|0xf460|0xf608|0xf60b|0xf680|0xf850|0xf857|0xf9d0|0xf9d1|0xf9d2|0xf9d3|0xf9d4|0xf9d5|0xfa00|0xfa01|0xfa02|0xfa03|0xfa04|0xfa05|0xfa06|0xfa10|0xfa33|0xfa88|0xfad0|0xfaf0|0xfb58|0xfb59|0xfb5a|0xfb5b|0xfb5c|0xfb5d|0xfb5e|0xfb5f|0xfb80|0xfb99|0xfbfa|0xfc08|0xfc09|0xfc0a|0xfc0b|0xfc0c|0xfc0d|0xfc0e|0xfc0f|0xfc60|0xfc70|0xfc71|0xfc72|0xfc73|0xfc82|0xfd60|0xfe38|0xff00|0xff18|0xff1c|0xff1d|0xff20|0xff38|0xff39|0xff3a|0xff3b|0xff3c|0xff3d|0xff3e|0xff3f|0xffa8)"; + match "product" "(0x6001|0x6004|0x6006|0x6006|0x6010|0x6011|0x6014|0x6015|0x8372|0x9378|0x9379|0x937a|0x937c|0x9868|0x9e90|0x9f80|0xa6d0|0xabb8|0xb810|0xb811|0xb812|0xbaf8|0xbbe2|0xbca0|0xbca1|0xbca2|0xbca4|0xbcd8|0xbcd9|0xbcda|0xbdc8|0xbfd8|0xbfd9|0xbfda|0xbfdb|0xbfdc|0xc7d0|0xc850|0xc991|0xcaa0|0xcc48|0xcc49|0xcc4a|0xd010|0xd011|0xd012|0xd013|0xd014|0xd015|0xd016|0xd017|0xd070|0xd071|0xd388|0xd389|0xd38a|0xd38b|0xd38c|0xd38d|0xd38e|0xd38f|0xd578|0xd678|0xd738|0xd780|0xdaf8|0xdaf9|0xdafa|0xdafb|0xdafc|0xdafd|0xdafe|0xdaff|0xdc00|0xdc01|0xdd20|0xdf28|0xdf30|0xdf31|0xdf32|0xdf33|0xdf35|0xe000|0xe001|0xe002|0xe004|0xe006|0xe008|0xe009|0xe00a|0xe050|0xe0e8|0xe0e9|0xe0ea|0xe0eb|0xe0ec|0xe0ed|0xe0ee|0xe0ef|0xe0f0|0xe0f1|0xe0f2|0xe0f3|0xe0f4|0xe0f5|0xe0f6|0xe0f7|0xe40b|0xe520|0xe548|0xe6c8|0xe700|0xe729|0xe808|0xe809|0xe80a|0xe80b|0xe80c|0xe80d|0xe80e|0xe80f|0xe888|0xe889|0xe88a|0xe88b|0xe88c|0xe88d|0xe88e|0xe88f|0xea90|0xebe0|0xec88|0xec89|0xed22|0xed71|0xed72|0xed73|0xed74|0xee18|0xeee 8|0xeee9|0xeeea|0xeeeb|0xeeec|0xeeed|0xeeee|0xeeef|0xef50|0xef51|0xf068|0xf069|0xf06a|0xf06b|0xf06c|0xf06d|0xf06e|0xf06f|0xf070|0xf0c0|0xf0c8|0xf208|0xf2d0|0xf3c0|0xf3c1|0xf3c2|0xf448|0xf449|0xf44a|0xf44b|0xf44c|0xf460|0xf608|0xf60b|0xf680|0xf850|0xf857|0xf9d0|0xf9d1|0xf9d2|0xf9d3|0xf9d4|0xf9d5|0xfa00|0xfa01|0xfa02|0xfa03|0xfa04|0xfa05|0xfa06|0xfa10|0xfa33|0xfa88|0xfad0|0xfaf0|0xfb58|0xfb59|0xfb5a|0xfb5b|0xfb5c|0xfb5d|0xfb5e|0xfb5f|0xfb80|0xfb99|0xfbfa|0xfc08|0xfc09|0xfc0a|0xfc0b|0xfc0c|0xfc0d|0xfc0e|0xfc0f|0xfc60|0xfc70|0xfc71|0xfc72|0xfc73|0xfc82|0xfd60|0xfe38|0xff00|0xff18|0xff1c|0xff1d|0xff20|0xff38|0xff39|0xff3a|0xff3b|0xff3c|0xff3d|0xff3e|0xff3f|0xffa8)"; action "kldload -n uftdi"; }; @@ -296,6 +296,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x044e"; + match "product" "(0x3001|0x3002)"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x0456"; match "product" "(0xf000|0xf001)"; action "kldload -n uftdi"; @@ -385,7 +393,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0489"; - match "product" "(0xe027|0xe02c|0xe036|0xe03c|0xe03d|0xe04e|0xe056|0xe057)"; + match "product" "(0xe027|0xe02c|0xe036|0xe03c|0xe03d|0xe042|0xe04e|0xe056|0xe057)"; action "kldload -n ng_ubt"; }; @@ -520,6 +528,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x04bf"; + match "product" "0x030a"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x04c5"; match "product" "(0x1058|0x1079)"; action "kldload -n uipaq"; @@ -529,7 +545,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x04ca"; - match "product" "(0x3005|0x3006|0x3008)"; + match "product" "(0x2003|0x3005|0x3006|0x3008)"; action "kldload -n ng_ubt"; }; @@ -1080,6 +1096,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x05ac"; + match "product" "(0x8213|0x8215|0x8218|0x821a|0x821b|0x821f|0x8281|0x828f)"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x05ad"; match "product" "0x0fba"; action "kldload -n uplcom"; @@ -2048,6 +2072,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x0a5c"; + match "product" "0x21e1"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x0acd"; match "product" "0x0300"; action "kldload -n uftdi"; @@ -2257,6 +2289,14 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0b05"; + match "product" "0x17b5"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0b05"; match "product" "(0x4200|0x4201|0x4202|0x420f|0x9200|0x9202)"; action "kldload -n uipaq"; }; @@ -2448,6 +2488,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x0bdb"; + match "product" "0x1002"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x0bed"; match "product" "(0x1100|0x1101)"; action "kldload -n uslcom"; @@ -2472,6 +2520,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x0c10"; + match "product" "0x0000"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x0c26"; match "product" "(0x0004|0x0009|0x000a|0x000b|0x000c|0x000d|0x0010|0x0011|0x0012|0x0013|0x0018)"; action "kldload -n uftdi"; @@ -2888,6 +2944,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x0e8d"; + match "product" "0x763f"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x0ea0"; match "product" "0x6858"; action "kldload -n uplcom"; @@ -4777,6 +4841,14 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x413c"; + match "product" "0x8197"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x413c"; match "product" "0x9500"; action "kldload -n uslcom"; }; @@ -5008,6 +5080,26 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x0489"; + match "intclass" "0xff"; + match "intsubclass" "0x01"; + match "intprotocol" "0x01"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x05ac"; + match "intclass" "0xff"; + match "intsubclass" "0x01"; + match "intprotocol" "0x01"; + action "kldload -n ng_ubt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x05ac"; match "intclass" "0xff"; match "intsubclass" "0xfd"; @@ -5168,5 +5260,5 @@ nomatch 32 { action "kldload -n umass"; }; -# 2515 USB entries processed +# 2537 USB entries processed Modified: projects/camlock/lib/libc/gen/errlst.c ============================================================================== --- projects/camlock/lib/libc/gen/errlst.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/lib/libc/gen/errlst.c Sun Sep 1 20:48:22 2013 (r255132) @@ -34,6 +34,7 @@ static char sccsid[] = "@(#)errlst.c 8.2 __FBSDID("$FreeBSD$"); #include +#include "errlst.h" const char *const sys_errlist[] = { "No error: 0", /* 0 - ENOERROR */ @@ -156,3 +157,8 @@ const char *const sys_errlist[] = { "Previous owner died", /* 96 - EOWNERDEAD */ }; const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]); + +#ifdef PIC +__strong_reference(sys_errlist, __hidden_sys_errlist); +__strong_reference(sys_nerr, __hidden_sys_nerr); +#endif Copied: projects/camlock/lib/libc/include/errlst.h (from r255131, head/lib/libc/include/errlst.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/camlock/lib/libc/include/errlst.h Sun Sep 1 20:48:22 2013 (r255132, copy of r255131, head/lib/libc/include/errlst.h) @@ -0,0 +1,43 @@ +/*- + * Copyright (c) 2013 Jilles Tjoelker + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef __ERRLST_H__ +#define __ERRLST_H__ + +#include + +#ifdef PIC +/* If the main executable imports these, do not use its copy from libc.so. */ +extern const char *const __hidden_sys_errlist[] __hidden; +extern const int __hidden_sys_nerr __hidden; +#else +#define __hidden_sys_errlist sys_errlist +#define __hidden_sys_nerr sys_nerr +#endif + +#endif /* __ERRLST_H__ */ Modified: projects/camlock/lib/libc/stdio/xprintf_errno.c ============================================================================== --- projects/camlock/lib/libc/stdio/xprintf_errno.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/lib/libc/stdio/xprintf_errno.c Sun Sep 1 20:48:22 2013 (r255132) @@ -34,6 +34,7 @@ #include #include #include +#include "errlst.h" #include "printf.h" int @@ -54,7 +55,7 @@ __printf_render_errno(struct __printf_io ret = 0; error = *((const int *)arg[0]); - if (error >= 0 && error < sys_nerr) { + if (error >= 0 && error < __hidden_sys_nerr) { p = strerror(error); return (__printf_out(io, pi, p, strlen(p))); } Modified: projects/camlock/lib/libc/stdlib/system.c ============================================================================== --- projects/camlock/lib/libc/stdlib/system.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/lib/libc/stdlib/system.c Sun Sep 1 20:48:22 2013 (r255132) @@ -59,6 +59,8 @@ __system(const char *command) (void)sigemptyset(&newsigblock); (void)sigaddset(&newsigblock, SIGCHLD); + (void)sigaddset(&newsigblock, SIGINT); + (void)sigaddset(&newsigblock, SIGQUIT); (void)_sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock); switch(pid = vfork()) { case -1: /* error */ Modified: projects/camlock/lib/libc/string/strerror.c ============================================================================== --- projects/camlock/lib/libc/string/strerror.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/lib/libc/string/strerror.c Sun Sep 1 20:48:22 2013 (r255132) @@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include "errlst.h" + #define UPREFIX "Unknown error" /* @@ -87,7 +89,7 @@ strerror_r(int errnum, char *strerrbuf, catd = catopen("libc", NL_CAT_LOCALE); #endif - if (errnum < 0 || errnum >= sys_nerr) { + if (errnum < 0 || errnum >= __hidden_sys_nerr) { errstr(errnum, #if defined(NLS) catgets(catd, 1, 0xffff, UPREFIX), @@ -99,9 +101,9 @@ strerror_r(int errnum, char *strerrbuf, } else { if (strlcpy(strerrbuf, #if defined(NLS) - catgets(catd, 1, errnum, sys_errlist[errnum]), + catgets(catd, 1, errnum, __hidden_sys_errlist[errnum]), #else - sys_errlist[errnum], + __hidden_sys_errlist[errnum], #endif buflen) >= buflen) retval = ERANGE; Modified: projects/camlock/lib/libelf/libelf_data.c ============================================================================== --- projects/camlock/lib/libelf/libelf_data.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/lib/libelf/libelf_data.c Sun Sep 1 20:48:22 2013 (r255132) @@ -84,13 +84,21 @@ _libelf_xlate_shtype(uint32_t sht) case SHT_SUNW_dof: return (ELF_T_BYTE); #endif + case SHT_ARM_PREEMPTMAP: + /* FALLTHROUGH */ + case SHT_ARM_ATTRIBUTES: + /* FALLTHROUGH */ + case SHT_ARM_DEBUGOVERLAY: + /* FALLTHROUGH */ + case SHT_ARM_OVERLAYSECTION: + /* FALLTHROUGH */ case SHT_MIPS_DWARF: /* FALLTHROUGH */ case SHT_MIPS_REGINFO: /* FALLTHROUGH */ case SHT_MIPS_OPTIONS: /* FALLTHROUGH */ - case SHT_AMD64_UNWIND: /* == SHT_IA_64_UNWIND */ + case SHT_AMD64_UNWIND: /* == SHT_IA_64_UNWIND == SHT_ARM_EXIDX */ return (ELF_T_BYTE); default: return (-1); Modified: projects/camlock/share/examples/scsi_target/scsi_target.c ============================================================================== --- projects/camlock/share/examples/scsi_target/scsi_target.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/share/examples/scsi_target/scsi_target.c Sun Sep 1 20:48:22 2013 (r255132) @@ -365,7 +365,7 @@ init_ccbs() for (i = 0; i < MAX_INITIATORS; i++) { struct ccb_accept_tio *atio; struct atio_descr *a_descr; - struct ccb_immed_notify *inot; + struct ccb_immediate_notify *inot; atio = (struct ccb_accept_tio *)malloc(sizeof(*atio)); if (atio == NULL) { @@ -382,7 +382,7 @@ init_ccbs() atio->ccb_h.targ_descr = a_descr; send_ccb((union ccb *)atio, /*priority*/1); - inot = (struct ccb_immed_notify *)malloc(sizeof(*inot)); + inot = (struct ccb_immediate_notify *)malloc(sizeof(*inot)); if (inot == NULL) { warn("malloc INOT"); return (-1); @@ -593,7 +593,7 @@ handle_read() oo += run_queue(c_descr->atio); break; } - case XPT_IMMED_NOTIFY: + case XPT_IMMEDIATE_NOTIFY: /* INOTs are handled with priority */ TAILQ_INSERT_HEAD(&work_queue, &ccb->ccb_h, periph_links.tqe); @@ -903,7 +903,7 @@ free_ccb(union ccb *ccb) case XPT_ACCEPT_TARGET_IO: free(ccb->ccb_h.targ_descr); /* FALLTHROUGH */ - case XPT_IMMED_NOTIFY: + case XPT_IMMEDIATE_NOTIFY: default: free(ccb); break; Modified: projects/camlock/share/man/man4/vtnet.4 ============================================================================== --- projects/camlock/share/man/man4/vtnet.4 Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/share/man/man4/vtnet.4 Sun Sep 1 20:48:22 2013 (r255132) @@ -69,14 +69,30 @@ prompt before booting the kernel or stor .Xr loader.conf 5 . .Bl -tag -width "xxxxxx" .It Va hw.vtnet.csum_disable +.It Va hw.vtnet. Ns Ar X Ns Va .csum_disable This tunable disables receive and send checksum offload. The default value is 0. .It Va hw.vtnet.tso_disable +.It Va hw.vtnet. Ns Ar X Ns Va .tso_disable This tunable disables TSO. The default value is 0. .It Va hw.vtnet.lro_disable +.It Va hw.vtnet. Ns Ar X Ns Va .lro_disable This tunable disables LRO. The default value is 0. +.It Va hw.vtnet.mq_disable +.It Va hw.vtnet. Ns Ar X Ns Va .mq_disable +This tunable disables multiqueue. +The default value is 0. +.It Va hw.vtnet.mq_max_pairs +.It Va hw.vtnet. Ns Ar X Ns Va .mq_max_pairs +This tunable sets the maximum number of transmit and receive queue pairs. +Multiple queues are only supported when the Multiqueue feature is negotiated. +This driver supports a maximum of 8 queue pairs. +The number of queue pairs used is the lesser of the maximum supported by the +driver and the hypervisor, the number of CPUs present in the guest, and this +tunable if not zero. +The default value is 0. .El .Sh SEE ALSO .Xr arp 4 , Modified: projects/camlock/sys/amd64/amd64/apic_vector.S ============================================================================== --- projects/camlock/sys/amd64/amd64/apic_vector.S Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/sys/amd64/amd64/apic_vector.S Sun Sep 1 20:48:22 2013 (r255132) @@ -160,11 +160,11 @@ IDTVEC(xen_intr_upcall) SUPERALIGN_TEXT global_invltlb: - movl %cr4,%eax - andl $~0x80,%eax - movl %eax,%cr4 - orl $0x80,%eax - movl %eax,%cr4 + movq %cr4,%rax + andq $~0x80,%rax /* PGE */ + movq %rax,%cr4 + orq $0x80,%rax + movq %rax,%cr4 invltlb_ret_clear_pm_save: movq smp_tlb_pmap,%rdx testq %rdx,%rdx Modified: projects/camlock/sys/amd64/amd64/pmap.c ============================================================================== --- projects/camlock/sys/amd64/amd64/pmap.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/sys/amd64/amd64/pmap.c Sun Sep 1 20:48:22 2013 (r255132) @@ -762,7 +762,6 @@ pmap_bootstrap(vm_paddr_t *firstaddr) /* Initialize the PAT MSR. */ pmap_init_pat(); -#ifdef SMP /* Initialize TLB Context Id. */ TUNABLE_INT_FETCH("vm.pmap.pcid_enabled", &pmap_pcid_enabled); if ((cpu_feature2 & CPUID2_PCID) != 0 && pmap_pcid_enabled) { @@ -773,8 +772,10 @@ pmap_bootstrap(vm_paddr_t *firstaddr) invpcid_works = (cpu_stdext_feature & CPUID_STDEXT_INVPCID) != 0; kernel_pmap->pm_pcid = 0; - } else +#ifndef SMP + pmap_pcid_enabled = 0; #endif + } else pmap_pcid_enabled = 0; } Copied: projects/camlock/sys/arm/conf/DIGI-CCWMX53 (from r255131, head/sys/arm/conf/DIGI-CCWMX53) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/camlock/sys/arm/conf/DIGI-CCWMX53 Sun Sep 1 20:48:22 2013 (r255132, copy of r255131, head/sys/arm/conf/DIGI-CCWMX53) @@ -0,0 +1,175 @@ +# Kernel configuration for Digi ConnectCore Wi-i.MX53 boards +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ + +ident DIGI-CCWMX53 + +include "../freescale/imx/std.imx53" + +makeoptions WITHOUT_MODULES="ahc" + +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +#options DEBUG + +options SCHED_4BSD # 4BSD scheduler +#options PREEMPTION # Enable kernel thread preemption +options INET # InterNETworking +options INET6 # IPv6 communications protocols +#options SCTP # Stream Control Transmission Protocol +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options UFS_GJOURNAL # Enable gjournal-based UFS journaling +#options MD_ROOT # MD is a potential root device +options NFSCL # New Network Filesystem Client +#options NFSD # New Network Filesystem Server +options NFSLOCKD # Network Lock Manager +options NFS_ROOT # NFS usable as /, requires NFSCL +options MSDOSFS # MSDOS Filesystem +options CD9660 # ISO 9660 Filesystem +#options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +options TMPFS # TMP Memory Filesystem +options GEOM_PART_GPT # GUID Partition Tables. +options GEOM_LABEL # Provides labelization +#options COMPAT_FREEBSD5 # Compatible with FreeBSD5 +#options COMPAT_FREEBSD6 # Compatible with FreeBSD6 +#options COMPAT_FREEBSD7 # Compatible with FreeBSD7 +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options INCLUDE_CONFIG_FILE # Include this file in kernel +options VFP # vfp/neon + +# required for netbooting +#options BOOTP +#options BOOTP_COMPAT +#options BOOTP_NFSROOT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=ue0 + +#options ROOTDEVNAME=\"ufs:ada0s2a\" + + +# kernel/memory size reduction +#options MUTEX_NOINLINE +#options NO_FFS_SNAPSHOT +#options NO_SWAPPING +#options NO_SYSCTL_DESCR +#options RWLOCK_NOINLINE + +# Debugging support. Always need this: +options KDB # Enable kernel debugger support. +# For minimum debugger support (stable branch) use: +#options KDB_TRACE # Print a stack trace for a panic. +# For full debugger support use this instead: +options DDB # Support DDB. +#options GDB # Support remote GDB. +options DEADLKRES # Enable the deadlock resolver +options INVARIANTS # Enable calls of extra sanity checking +options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +options WITNESS # Enable checks to detect deadlocks and cycles + +# The `bpf' device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +# Note that 'bpf' is required for DHCP. +device bpf # Berkeley packet filter + +# Pseudo devices. +device loop # Network loopback +device random # Entropy device +device ether # Ethernet support +#device vlan # 802.1Q VLAN support +#device tun # Packet tunnel. +#device md # Memory "disks" +#device gif # IPv6 and IPv4 tunneling +#device faith # IPv6-to-IPv4 relaying (translation) +#device firmware # firmware assist module + +# Serial (COM) ports +#device uart # Multi-uart driver +options ALT_BREAK_TO_DEBUGGER + +device ata +device atapci # Only for helper functions +device imxata +options ATA_STATIC_ID # Static device numbering + +device iomux # IO Multiplexor + +device gpio +device gpioled + +device fsliic +device iic +device iicbus + +# SCSI peripherals +device scbus # SCSI bus (required for SCSI) +device da # Direct Access (disks) +device cd # CD +device pass # Passthrough device (direct SCSI access) + +# USB support +#options USB_DEBUG # enable debug msgs +#device ehci # OHCI USB interface +#device usb # USB Bus (required) +#device umass # Disks/Mass storage - Requires scbus and da +#device uhid # "Human Interface Devices" +#device ukbd # Allow keyboard like HIDs to control console +#device ums + +# USB Ethernet, requires miibus +#device miibus +#device aue # ADMtek USB Ethernet +#device axe # ASIX Electronics USB Ethernet +#device cdce # Generic USB over Ethernet +#device cue # CATC USB Ethernet +#device kue # Kawasaki LSI USB Ethernet +#device rue # RealTek RTL8150 USB Ethernet +#device udav # Davicom DM9601E USB + +# USB Wireless +#device rum # Ralink Technology RT2501USB wireless NICs + +# Watchdog timer. +# WARNING: can't be disabled!!! +device imxwdt # Watchdog + +# Wireless NIC cards +device wlan # 802.11 support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_amrr # AMRR transmit rate control algorithm + +# Flattened Device Tree +options FDT +options FDT_DTB_STATIC +makeoptions FDT_DTS_FILE=digi-ccwmx53.dts + +# NOTE: serial console will be disabled if syscons enabled +# Uncomment following lines for framebuffer/syscons support +#device sc +#device kbdmux +#options SC_DFLT_FONT # compile font in +#makeoptions SC_DFLT_FONT=cp437 Copied: projects/camlock/sys/arm/freescale/imx/files.imx53 (from r255131, head/sys/arm/freescale/imx/files.imx53) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/camlock/sys/arm/freescale/imx/files.imx53 Sun Sep 1 20:48:22 2013 (r255132, copy of r255131, head/sys/arm/freescale/imx/files.imx53) @@ -0,0 +1,51 @@ +# $FreeBSD$ +arm/arm/bus_space_asm_generic.S standard +arm/arm/bus_space_generic.c standard +arm/arm/cpufunc_asm_armv5.S standard +arm/arm/cpufunc_asm_arm11.S standard +arm/arm/cpufunc_asm_armv7.S standard +arm/arm/irq_dispatch.S standard +kern/kern_clocksource.c standard + +# Init +arm/freescale/imx/imx53_machdep.c standard +arm/freescale/imx/common.c standard +arm/freescale/imx/bus_space.c standard + +# Dummy serial console +arm/freescale/imx/console.c standard + +# TrustZone Interrupt Controller +arm/freescale/imx/tzic.c standard + +# IOMUX - external pins multiplexor +arm/freescale/imx/imx51_iomux.c optional iomux + +# GPIO +arm/freescale/imx/imx51_gpio.c optional gpio + +# Generic Periodic Timer +arm/freescale/imx/imx_gpt.c standard + +# Clock Configuration Manager +arm/freescale/imx/imx51_ccm.c standard + +# i.MX5xx PATA controller +dev/ata/chipsets/ata-fsl.c optional imxata + +# UART driver +#dev/uart/uart_dev_imx.c optional uart + +# USB join controller (1 OTG, 3 EHCI) +dev/usb/controller/ehci_imx.c optional ehci + +# Watchdog +arm/freescale/imx/imx_wdog.c optional imxwdt + +# i2c +arm/freescale/imx/i2c.c optional fsliic +dev/ofw/ofw_iicbus.c optional fsliic + +# IPU - Image Processing Unit (frame buffer also) +arm/freescale/imx/imx51_ipuv3.c optional sc + Modified: projects/camlock/sys/arm/freescale/imx/imx51_ccm.c ============================================================================== --- projects/camlock/sys/arm/freescale/imx/imx51_ccm.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/sys/arm/freescale/imx/imx51_ccm.c Sun Sep 1 20:48:22 2013 (r255132) @@ -140,7 +140,8 @@ static int imxccm_match(device_t dev) { - if (!ofw_bus_is_compatible(dev, "fsl,imx51-ccm")) + if (!ofw_bus_is_compatible(dev, "fsl,imx51-ccm") && + !ofw_bus_is_compatible(dev, "fsl,imx53-ccm")) return (ENXIO); device_set_desc(dev, "Freescale Clock Control Module"); Modified: projects/camlock/sys/arm/freescale/imx/imx51_gpio.c ============================================================================== --- projects/camlock/sys/arm/freescale/imx/imx51_gpio.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/sys/arm/freescale/imx/imx51_gpio.c Sun Sep 1 20:48:22 2013 (r255132) @@ -370,7 +370,8 @@ static int imx51_gpio_probe(device_t dev) { - if (ofw_bus_is_compatible(dev, "fsl,imx51-gpio")) { + if (ofw_bus_is_compatible(dev, "fsl,imx51-gpio") || + ofw_bus_is_compatible(dev, "fsl,imx53-gpio")) { device_set_desc(dev, "i.MX515 GPIO Controller"); return (BUS_PROBE_DEFAULT); } Modified: projects/camlock/sys/arm/freescale/imx/imx51_iomux.c ============================================================================== --- projects/camlock/sys/arm/freescale/imx/imx51_iomux.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/sys/arm/freescale/imx/imx51_iomux.c Sun Sep 1 20:48:22 2013 (r255132) @@ -106,7 +106,8 @@ static int iomux_probe(device_t dev) { - if (!ofw_bus_is_compatible(dev, "fsl,imx51-iomux")) + if (!ofw_bus_is_compatible(dev, "fsl,imx51-iomux") && + !ofw_bus_is_compatible(dev, "fsl,imx53-iomux")) return (ENXIO); device_set_desc(dev, "Freescale i.MX51 IO pins multiplexor"); Modified: projects/camlock/sys/arm/freescale/imx/imx51_machdep.c ============================================================================== --- projects/camlock/sys/arm/freescale/imx/imx51_machdep.c Sun Sep 1 20:22:52 2013 (r255131) +++ projects/camlock/sys/arm/freescale/imx/imx51_machdep.c Sun Sep 1 20:48:22 2013 (r255132) @@ -107,7 +107,7 @@ platform_devmap_init(void) * Map segment where UART1 and UART2 located. */ fdt_devmap[0].pd_va = IMX51_DEV_VIRT_BASE + 0x03f00000; - fdt_devmap[0].pd_pa = 0x73f00000; + fdt_devmap[0].pd_pa = 0x53f00000; fdt_devmap[0].pd_size = 0x00100000; fdt_devmap[0].pd_prot = VM_PROT_READ | VM_PROT_WRITE; fdt_devmap[0].pd_cache = PTE_NOCACHE; Copied: projects/camlock/sys/arm/freescale/imx/imx53_machdep.c (from r255131, head/sys/arm/freescale/imx/imx53_machdep.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/camlock/sys/arm/freescale/imx/imx53_machdep.c Sun Sep 1 20:48:22 2013 (r255132, copy of r255131, head/sys/arm/freescale/imx/imx53_machdep.c) @@ -0,0 +1,141 @@ +/*- + * Copyright (c) 1994-1998 Mark Brinicombe. + * Copyright (c) 1994 Brini. + * Copyright (c) 2012, 2013 The FreeBSD Foundation + * All rights reserved. + * + * This code is derived from software written for Brini by Mark Brinicombe + * Portions of this software were developed by Oleksandr Rybalko + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Brini. + * 4. The name of the company nor the name of the author may be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "opt_platform.h" + +#include +__FBSDID("$FreeBSD$"); + +#define _ARM32_BUS_DMA_PRIVATE +#include +#include +#include +#include + +#include +#include + +#include +#include /* For trapframe_t, used in */ +#include +#include + +#include + +#define IMX53_DEV_VIRT_BASE 0xe0000000 + +vm_offset_t +initarm_lastaddr(void) +{ + + boothowto |= RB_VERBOSE|RB_MULTIPLE; + bootverbose = 1; + + if (fdt_immr_addr(IMX53_DEV_VIRT_BASE) != 0) + while (1); + + /* Platform-specific initialisation */ + return (fdt_immr_va - ARM_NOCACHE_KVA_SIZE); +} + +/* + * Set initial values of GPIO output ports + */ +void +initarm_gpio_init(void) +{ + +} + +void +initarm_late_init(void) +{ + +} *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Sep 2 05:59:39 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id CF62E738; Mon, 2 Sep 2013 05:59:39 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id BC5482FBB; Mon, 2 Sep 2013 05:59:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r825xdHA000233; Mon, 2 Sep 2013 05:59:39 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r825xdY0000232; Mon, 2 Sep 2013 05:59:39 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309020559.r825xdY0000232@svn.freebsd.org> From: Alexander Motin Date: Mon, 2 Sep 2013 05:59:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255141 - projects/camlock/sys/cam X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Sep 2013 05:59:39 -0000 Author: mav Date: Mon Sep 2 05:59:39 2013 New Revision: 255141 URL: http://svnweb.freebsd.org/changeset/base/255141 Log: - Grab queue lock when modifying device flags on XPT_REL_SIMQ operation. - Switch device release callout from SIM lock to queue lock. Modified: projects/camlock/sys/cam/cam_xpt.c Modified: projects/camlock/sys/cam/cam_xpt.c ============================================================================== --- projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 05:35:06 2013 (r255140) +++ projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 05:59:39 2013 (r255141) @@ -2854,6 +2854,7 @@ call_sim: } } + mtx_lock(&dev->sim->devq->send_mtx); if ((crs->release_flags & RELSIM_RELEASE_AFTER_TIMEOUT) != 0) { if ((dev->flags & CAM_DEV_REL_TIMEOUT_PENDING) != 0) { @@ -2906,6 +2907,7 @@ call_sim: start_ccb->ccb_h.flags |= CAM_DEV_QFREEZE; } } + mtx_unlock(&dev->sim->devq->send_mtx); if ((start_ccb->ccb_h.flags & CAM_DEV_QFREEZE) == 0) xpt_release_devq(path, /*count*/1, /*run_queue*/TRUE); @@ -4304,10 +4306,9 @@ xpt_release_devq_timeout(void *arg) dev = (struct cam_ed *)arg; CAM_DEBUG_DEV(dev, CAM_DEBUG_TRACE, ("xpt_release_devq_timeout\n")); devq = dev->sim->devq; - mtx_lock(&devq->send_mtx); + mtx_assert(&devq->send_mtx, MA_OWNED); if (xpt_release_devq_device(dev, /*count*/1, /*run_queue*/TRUE)) - xpt_run_devq(dev->sim->devq); - mtx_unlock(&devq->send_mtx); + xpt_run_devq(devq); } void @@ -4726,7 +4727,7 @@ xpt_alloc_device(struct cam_eb *bus, str device->tag_saved_openings = 0; device->refcount = 1; mtx_init(&device->device_mtx, "CAM device lock", NULL, MTX_DEF); - callout_init_mtx(&device->callout, bus->sim->mtx, 0); + callout_init_mtx(&device->callout, &devq->send_mtx, 0); TASK_INIT(&device->device_destroy_task, 0, xpt_destroy_device, device); /* * Hold a reference to our parent bus so it From owner-svn-src-projects@FreeBSD.ORG Mon Sep 2 06:41:56 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 110C434B; Mon, 2 Sep 2013 06:41:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D883021B5; Mon, 2 Sep 2013 06:41:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r826ftkK026833; Mon, 2 Sep 2013 06:41:55 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r826ftEZ026830; Mon, 2 Sep 2013 06:41:55 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309020641.r826ftEZ026830@svn.freebsd.org> From: Alexander Motin Date: Mon, 2 Sep 2013 06:41:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255142 - projects/camlock/sys/cam X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Sep 2013 06:41:56 -0000 Author: mav Date: Mon Sep 2 06:41:54 2013 New Revision: 255142 URL: http://svnweb.freebsd.org/changeset/base/255142 Log: As much as possible keep SIM KBI: - move new fields to the end of struct cam_sim; - resurrect xpt_create_path_unlocked() as dummy wrapper. Modified: projects/camlock/sys/cam/cam_sim.h projects/camlock/sys/cam/cam_xpt.c projects/camlock/sys/cam/cam_xpt.h Modified: projects/camlock/sys/cam/cam_sim.h ============================================================================== --- projects/camlock/sys/cam/cam_sim.h Mon Sep 2 05:59:39 2013 (r255141) +++ projects/camlock/sys/cam/cam_sim.h Mon Sep 2 06:41:54 2013 (r255142) @@ -95,11 +95,6 @@ struct cam_sim { void *softc; struct mtx *mtx; TAILQ_HEAD(, ccb_hdr) sim_doneq; - struct mtx sim_doneq_mtx; - int sim_doneq_flags; -#define CAM_SIM_DQ_ONQ 0x04 -#define CAM_SIM_DQ_POLLED 0x08 -#define CAM_SIM_DQ_BATCH 0x10 TAILQ_ENTRY(cam_sim) links; u_int32_t path_id;/* The Boot device may set this to 0? */ u_int32_t unit_number; @@ -112,6 +107,11 @@ struct cam_sim { struct callout callout; struct cam_devq *devq; /* Device Queue to use for this SIM */ int refcount; /* References to the SIM. */ + int sim_doneq_flags; +#define CAM_SIM_DQ_ONQ 0x04 +#define CAM_SIM_DQ_POLLED 0x08 +#define CAM_SIM_DQ_BATCH 0x10 + struct mtx sim_doneq_mtx; }; #define CAM_SIM_LOCK(sim) mtx_lock((sim)->mtx) Modified: projects/camlock/sys/cam/cam_xpt.c ============================================================================== --- projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 05:59:39 2013 (r255141) +++ projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 06:41:54 2013 (r255142) @@ -3364,6 +3364,16 @@ xpt_create_path(struct cam_path **new_pa } cam_status +xpt_create_path_unlocked(struct cam_path **new_path_ptr, + struct cam_periph *periph, path_id_t path_id, + target_id_t target_id, lun_id_t lun_id) +{ + + return (xpt_create_path(new_path_ptr, periph, path_id, target_id, + lun_id)); +} + +cam_status xpt_compile_path(struct cam_path *new_path, struct cam_periph *perph, path_id_t path_id, target_id_t target_id, lun_id_t lun_id) { Modified: projects/camlock/sys/cam/cam_xpt.h ============================================================================== --- projects/camlock/sys/cam/cam_xpt.h Mon Sep 2 05:59:39 2013 (r255141) +++ projects/camlock/sys/cam/cam_xpt.h Mon Sep 2 06:41:54 2013 (r255142) @@ -79,6 +79,10 @@ cam_status xpt_create_path(struct cam_p struct cam_periph *perph, path_id_t path_id, target_id_t target_id, lun_id_t lun_id); +cam_status xpt_create_path_unlocked(struct cam_path **new_path_ptr, + struct cam_periph *perph, + path_id_t path_id, + target_id_t target_id, lun_id_t lun_id); int xpt_getattr(char *buf, size_t len, const char *attr, struct cam_path *path); void xpt_free_path(struct cam_path *path); From owner-svn-src-projects@FreeBSD.ORG Mon Sep 2 11:35:56 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 93F4F263; Mon, 2 Sep 2013 11:35:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 81FFC27B9; Mon, 2 Sep 2013 11:35:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r82BZuF7000967; Mon, 2 Sep 2013 11:35:56 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r82BZtJs000963; Mon, 2 Sep 2013 11:35:55 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309021135.r82BZtJs000963@svn.freebsd.org> From: Alexander Motin Date: Mon, 2 Sep 2013 11:35:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255145 - in projects/camlock/sys/cam: . ata scsi X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Sep 2013 11:35:56 -0000 Author: mav Date: Mon Sep 2 11:35:55 2013 New Revision: 255145 URL: http://svnweb.freebsd.org/changeset/base/255145 Log: Remove some residual SIM references. Modified: projects/camlock/sys/cam/ata/ata_xpt.c projects/camlock/sys/cam/cam_xpt.c projects/camlock/sys/cam/scsi/scsi_enc_ses.c projects/camlock/sys/cam/scsi/scsi_xpt.c Modified: projects/camlock/sys/cam/ata/ata_xpt.c ============================================================================== --- projects/camlock/sys/cam/ata/ata_xpt.c Mon Sep 2 10:44:54 2013 (r255144) +++ projects/camlock/sys/cam/ata/ata_xpt.c Mon Sep 2 11:35:55 2013 (r255145) @@ -1788,10 +1788,8 @@ ata_get_transfer_settings(struct ccb_tra struct ccb_trans_settings_ata *ata; struct ccb_trans_settings_scsi *scsi; struct cam_ed *device; - struct cam_sim *sim; device = cts->ccb_h.path->device; - sim = cts->ccb_h.path->bus->sim; xpt_action_default((union ccb *)cts); if (cts->protocol == PROTO_UNKNOWN || @@ -1835,7 +1833,6 @@ ata_set_transfer_settings(struct ccb_tra struct ccb_pathinq cpi; struct ccb_trans_settings_ata *ata; struct ccb_trans_settings_scsi *scsi; - struct cam_sim *sim; struct ata_params *ident_data; struct scsi_inquiry_data *inq_data; struct cam_ed *device; @@ -1896,7 +1893,6 @@ ata_set_transfer_settings(struct ccb_tra cts->transport_version = device->transport_version; } - sim = path->bus->sim; ident_data = &device->ident_data; inq_data = &device->inq_data; if (cts->protocol == PROTO_ATA) Modified: projects/camlock/sys/cam/cam_xpt.c ============================================================================== --- projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 10:44:54 2013 (r255144) +++ projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 11:35:55 2013 (r255145) @@ -469,7 +469,6 @@ xptdoioctl(struct cdev *dev, u_long cmd, inccb->ccb_h.target_lun) != CAM_REQ_CMP){ error = EINVAL; - CAM_SIM_UNLOCK(bus->sim); xpt_free_ccb(ccb); break; } @@ -503,7 +502,6 @@ xptdoioctl(struct cdev *dev, u_long cmd, inccb->ccb_h.target_lun) != CAM_REQ_CMP){ error = EINVAL; - CAM_SIM_UNLOCK(bus->sim); break; } /* Ensure all of our fields are correct */ Modified: projects/camlock/sys/cam/scsi/scsi_enc_ses.c ============================================================================== --- projects/camlock/sys/cam/scsi/scsi_enc_ses.c Mon Sep 2 10:44:54 2013 (r255144) +++ projects/camlock/sys/cam/scsi/scsi_enc_ses.c Mon Sep 2 11:35:55 2013 (r255145) @@ -888,7 +888,6 @@ ses_path_iter_devid_callback(enc_softc_t struct device_match_result *device_match; struct device_match_pattern *device_pattern; ses_path_iter_args_t *args; - struct cam_sim *sim; args = (ses_path_iter_args_t *)arg; match_pattern.type = DEV_MATCH_DEVICE; @@ -914,7 +913,6 @@ ses_path_iter_devid_callback(enc_softc_t cdm.match_buf_len = sizeof(match_result); cdm.matches = &match_result; - sim = xpt_path_sim(cdm.ccb_h.path); xpt_action((union ccb *)&cdm); xpt_free_path(cdm.ccb_h.path); Modified: projects/camlock/sys/cam/scsi/scsi_xpt.c ============================================================================== --- projects/camlock/sys/cam/scsi/scsi_xpt.c Mon Sep 2 10:44:54 2013 (r255144) +++ projects/camlock/sys/cam/scsi/scsi_xpt.c Mon Sep 2 11:35:55 2013 (r255145) @@ -2566,7 +2566,6 @@ scsi_set_transfer_settings(struct ccb_tr struct ccb_trans_settings cur_cts; struct ccb_trans_settings_scsi *scsi; struct ccb_trans_settings_scsi *cur_scsi; - struct cam_sim *sim; struct scsi_inquiry_data *inq_data; struct cam_ed *device; @@ -2626,8 +2625,6 @@ scsi_set_transfer_settings(struct ccb_tr cts->transport_version = device->transport_version; } - sim = path->bus->sim; - /* * Nothing more of interest to do unless * this is a device connected via the From owner-svn-src-projects@FreeBSD.ORG Mon Sep 2 13:24:08 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 21335B68; Mon, 2 Sep 2013 13:24:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0EAC32079; Mon, 2 Sep 2013 13:24:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r82DO78L065308; Mon, 2 Sep 2013 13:24:07 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r82DO7Hm065307; Mon, 2 Sep 2013 13:24:07 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309021324.r82DO7Hm065307@svn.freebsd.org> From: Alexander Motin Date: Mon, 2 Sep 2013 13:24:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255147 - projects/camlock/sys/cam X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Sep 2013 13:24:08 -0000 Author: mav Date: Mon Sep 2 13:24:07 2013 New Revision: 255147 URL: http://svnweb.freebsd.org/changeset/base/255147 Log: Remove some unneeded pointer dereferences. Modified: projects/camlock/sys/cam/cam_xpt.c Modified: projects/camlock/sys/cam/cam_xpt.c ============================================================================== --- projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 12:37:33 2013 (r255146) +++ projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 13:24:07 2013 (r255147) @@ -3215,8 +3215,7 @@ xpt_run_devq(struct cam_devq *devq) * available. */ xpt_freeze_devq(work_ccb->ccb_h.path, 1); - STAILQ_INSERT_TAIL(&xsoftc.highpowerq, - work_ccb->ccb_h.path->device, + STAILQ_INSERT_TAIL(&xsoftc.highpowerq, device, highpowerq_entry); mtx_unlock(&xsoftc.xpt_lock); @@ -3279,12 +3278,11 @@ xpt_run_devq(struct cam_devq *devq) } /* - * Device queues can be shared among multiple sim instances - * that reside on different busses. Use the SIM in the queue - * CCB's path, rather than the one in the bus that was passed - * into this function. + * Device queues can be shared among multiple SIM instances + * that reside on different busses. Use the SIM from the + * queued device, rather than the one from the calling bus. */ - sim = work_ccb->ccb_h.path->bus->sim; + sim = device->sim; lock = (mtx_owned(sim->mtx) == 0); if (lock) CAM_SIM_LOCK(sim); From owner-svn-src-projects@FreeBSD.ORG Mon Sep 2 15:06:09 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id EA872F5E; Mon, 2 Sep 2013 15:06:09 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id BE92A2A2C; Mon, 2 Sep 2013 15:06:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r82F69ff024731; Mon, 2 Sep 2013 15:06:09 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r82F69VL024729; Mon, 2 Sep 2013 15:06:09 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309021506.r82F69VL024729@svn.freebsd.org> From: Alexander Motin Date: Mon, 2 Sep 2013 15:06:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255148 - projects/camlock/sys/cam X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Sep 2013 15:06:10 -0000 Author: mav Date: Mon Sep 2 15:06:09 2013 New Revision: 255148 URL: http://svnweb.freebsd.org/changeset/base/255148 Log: Remove some unused variables found by clang analyzer. Modified: projects/camlock/sys/cam/cam_periph.c projects/camlock/sys/cam/cam_xpt.c Modified: projects/camlock/sys/cam/cam_periph.c ============================================================================== --- projects/camlock/sys/cam/cam_periph.c Mon Sep 2 13:24:07 2013 (r255147) +++ projects/camlock/sys/cam/cam_periph.c Mon Sep 2 15:06:09 2013 (r255148) @@ -1032,7 +1032,6 @@ cam_periph_runccb(union ccb *ccb, { int error; - error = 0; xpt_path_assert(ccb->ccb_h.path, MA_OWNED); /* Modified: projects/camlock/sys/cam/cam_xpt.c ============================================================================== --- projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 13:24:07 2013 (r255147) +++ projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 15:06:09 2013 (r255148) @@ -3046,11 +3046,9 @@ xpt_polled_action(union ccb *start_ccb) void xpt_schedule(struct cam_periph *periph, u_int32_t new_priority) { - struct cam_devq *devq; CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("xpt_schedule\n")); cam_periph_assert(periph, MA_OWNED); - devq = periph->sim->devq; if (new_priority < periph->scheduled_priority) { periph->scheduled_priority = new_priority; xpt_run_allocq(periph, 0); @@ -3121,11 +3119,9 @@ static void xpt_run_allocq(struct cam_periph *periph, int sleep) { struct cam_ed *device; - struct cam_devq *devq; union ccb *ccb; uint32_t prio; - devq = periph->sim->devq; cam_periph_assert(periph, MA_OWNED); if (periph->periph_allocating) return; @@ -3785,13 +3781,11 @@ void xpt_release_ccb(union ccb *free_ccb) { struct cam_ed *device; - struct cam_devq *devq; struct cam_periph *periph; CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_release_ccb\n")); xpt_path_assert(free_ccb->ccb_h.path, MA_OWNED); device = free_ccb->ccb_h.path->device; - devq = device->sim->devq; periph = free_ccb->ccb_h.path->periph; xpt_free_ccb(free_ccb); From owner-svn-src-projects@FreeBSD.ORG Mon Sep 2 16:20:11 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id B134DFE5; Mon, 2 Sep 2013 16:20:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8E81F2F20; Mon, 2 Sep 2013 16:20:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r82GKB4I069307; Mon, 2 Sep 2013 16:20:11 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r82GKBAj069306; Mon, 2 Sep 2013 16:20:11 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309021620.r82GKBAj069306@svn.freebsd.org> From: Alexander Motin Date: Mon, 2 Sep 2013 16:20:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255150 - projects/camlock/sys/cam X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Sep 2013 16:20:11 -0000 Author: mav Date: Mon Sep 2 16:20:10 2013 New Revision: 255150 URL: http://svnweb.freebsd.org/changeset/base/255150 Log: - Add missing locking around cam_ccbq_resize() call. - Reshuffle xpt_done_process() to reduce device lock scope. Modified: projects/camlock/sys/cam/cam_xpt.c Modified: projects/camlock/sys/cam/cam_xpt.c ============================================================================== --- projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 15:52:48 2013 (r255149) +++ projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 16:20:10 2013 (r255150) @@ -4809,7 +4809,9 @@ xpt_dev_ccbq_resize(struct cam_path *pat struct cam_ed *dev; dev = path->device; + mtx_lock(&dev->sim->devq->send_mtx); result = cam_ccbq_resize(&dev->ccbq, newopenings); + mtx_unlock(&dev->sim->devq->send_mtx); if ((dev->flags & CAM_DEV_TAG_AFTER_COUNT) != 0 || (dev->inq_flags & SID_CmdQue) != 0) dev->tag_saved_openings = newopenings; @@ -5158,7 +5160,8 @@ static void xpt_done_process(struct ccb_hdr *ccb_h) { struct cam_sim *sim; - struct mtx *mtx; + struct cam_devq *devq; + struct mtx *mtx = NULL; if (ccb_h->flags & CAM_HIGH_POWER) { struct highpowerlist *hphead; @@ -5191,15 +5194,26 @@ xpt_done_process(struct ccb_hdr *ccb_h) } sim = ccb_h->path->bus->sim; - mtx = xpt_path_mtx(ccb_h->path); - mtx_lock(mtx); + if (ccb_h->status & CAM_RELEASE_SIMQ) { + xpt_release_simq(sim, /*run_queue*/FALSE); + ccb_h->status &= ~CAM_RELEASE_SIMQ; + } + + if ((ccb_h->flags & CAM_DEV_QFRZDIS) + && (ccb_h->status & CAM_DEV_QFRZN)) { + xpt_release_devq(ccb_h->path, /*count*/1, + /*run_queue*/FALSE); + ccb_h->status &= ~CAM_DEV_QFRZN; + } + + devq = sim->devq; if ((ccb_h->func_code & XPT_FC_USER_CCB) == 0) { struct cam_ed *dev; - mtx_lock(&sim->devq->send_mtx); - sim->devq->send_active--; - sim->devq->send_openings++; + mtx_lock(&devq->send_mtx); + devq->send_active--; + devq->send_openings++; dev = ccb_h->path->device; cam_ccbq_ccb_done(&dev->ccbq, (union ccb *)ccb_h); @@ -5219,29 +5233,23 @@ xpt_done_process(struct ccb_hdr *ccb_h) } if (!device_is_queued(dev)) - (void)xpt_schedule_devq(sim->devq, dev); - mtx_unlock(&sim->devq->send_mtx); + (void)xpt_schedule_devq(devq, dev); + mtx_unlock(&devq->send_mtx); + + mtx = xpt_path_mtx(ccb_h->path); + mtx_lock(mtx); if ((dev->flags & CAM_DEV_TAG_AFTER_COUNT) != 0 && (--dev->tag_delay_count == 0)) xpt_start_tags(ccb_h->path); - } - if (ccb_h->status & CAM_RELEASE_SIMQ) { - xpt_release_simq(sim, /*run_queue*/FALSE); - ccb_h->status &= ~CAM_RELEASE_SIMQ; - } - - if ((ccb_h->flags & CAM_DEV_QFRZDIS) - && (ccb_h->status & CAM_DEV_QFRZN)) { - xpt_release_devq(ccb_h->path, /*count*/1, - /*run_queue*/FALSE); - ccb_h->status &= ~CAM_DEV_QFRZN; - } - - if (ccb_h->flags & CAM_UNLOCKED) { - mtx_unlock(mtx); - mtx = NULL; + if ((ccb_h->flags & CAM_UNLOCKED) != 0) { + mtx_unlock(mtx); + mtx = NULL; + } + } else if ((ccb_h->flags & CAM_UNLOCKED) == 0) { + mtx = xpt_path_mtx(ccb_h->path); + mtx_lock(mtx); } /* Call the peripheral driver's callback */ @@ -5249,9 +5257,9 @@ xpt_done_process(struct ccb_hdr *ccb_h) if (mtx != NULL) mtx_unlock(mtx); - mtx_lock(&sim->devq->send_mtx); - xpt_run_devq(sim->devq); - mtx_unlock(&sim->devq->send_mtx); + mtx_lock(&devq->send_mtx); + xpt_run_devq(devq); + mtx_unlock(&devq->send_mtx); } void From owner-svn-src-projects@FreeBSD.ORG Mon Sep 2 22:45:50 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 50176777; Mon, 2 Sep 2013 22:45:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2E9162DCD; Mon, 2 Sep 2013 22:45:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r82Mjo94003652; Mon, 2 Sep 2013 22:45:50 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r82Mjnda003650; Mon, 2 Sep 2013 22:45:49 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309022245.r82Mjnda003650@svn.freebsd.org> From: Alexander Motin Date: Mon, 2 Sep 2013 22:45:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255159 - projects/camlock/sys/cam X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Sep 2013 22:45:50 -0000 Author: mav Date: Mon Sep 2 22:45:49 2013 New Revision: 255159 URL: http://svnweb.freebsd.org/changeset/base/255159 Log: - Since we no longer have allocation queue, make send queue include devices without additional indirection. - Avoid grabbing device lock inside xpt_done_process() when possible. Modified: projects/camlock/sys/cam/cam_xpt.c projects/camlock/sys/cam/cam_xpt_internal.h Modified: projects/camlock/sys/cam/cam_xpt.c ============================================================================== --- projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 22:22:56 2013 (r255158) +++ projects/camlock/sys/cam/cam_xpt.c Mon Sep 2 22:45:49 2013 (r255159) @@ -327,7 +327,7 @@ xpt_schedule_devq(struct cam_devq *devq, */ retval = xpt_schedule_dev(&devq->send_queue, - &dev->devq_entry.pinfo, + &dev->devq_entry, CAMQ_GET_PRIO(&dev->ccbq.queue)); } else { retval = 0; @@ -338,7 +338,7 @@ xpt_schedule_devq(struct cam_devq *devq, static __inline int device_is_queued(struct cam_ed *device) { - return (device->devq_entry.pinfo.index != CAM_UNQUEUED_INDEX); + return (device->devq_entry.index != CAM_UNQUEUED_INDEX); } static void @@ -3183,14 +3183,12 @@ xpt_run_devq(struct cam_devq *devq) while ((devq->send_queue.entries > 0) && (devq->send_openings > 0) && (devq->send_queue.qfrozen_cnt <= 1)) { - struct cam_ed_qinfo *qinfo; struct cam_ed *device; union ccb *work_ccb; struct cam_sim *sim; - qinfo = (struct cam_ed_qinfo *)camq_remove(&devq->send_queue, + device = (struct cam_ed *)camq_remove(&devq->send_queue, CAMQ_HEAD); - device = qinfo->device; CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("running device %p\n", device)); @@ -4279,7 +4277,7 @@ xpt_freeze_devq(struct cam_path *path, u freeze = (dev->ccbq.queue.qfrozen_cnt += count); /* Remove frozen device from sendq. */ if (device_is_queued(dev)) - camq_remove(&devq->send_queue, dev->devq_entry.pinfo.index); + camq_remove(&devq->send_queue, dev->devq_entry.index); mtx_unlock(&devq->send_mtx); return (freeze); } @@ -4709,8 +4707,7 @@ xpt_alloc_device(struct cam_eb *bus, str if (device == NULL) return (NULL); - cam_init_pinfo(&device->devq_entry.pinfo); - device->devq_entry.device = device; + cam_init_pinfo(&device->devq_entry); device->target = target; device->lun_id = lun_id; device->sim = bus->sim; @@ -4780,7 +4777,7 @@ xpt_release_device(struct cam_ed *device KASSERT(SLIST_EMPTY(&device->periphs), ("destroying device, but periphs list is not empty")); - KASSERT(device->devq_entry.pinfo.index == CAM_UNQUEUED_INDEX, + KASSERT(device->devq_entry.index == CAM_UNQUEUED_INDEX, ("destroying device while still queued for ccbs")); if ((device->flags & CAM_DEV_REL_TIMEOUT_PENDING) != 0) @@ -5209,13 +5206,11 @@ xpt_done_process(struct ccb_hdr *ccb_h) devq = sim->devq; if ((ccb_h->func_code & XPT_FC_USER_CCB) == 0) { - struct cam_ed *dev; + struct cam_ed *dev = ccb_h->path->device; mtx_lock(&devq->send_mtx); devq->send_active--; devq->send_openings++; - - dev = ccb_h->path->device; cam_ccbq_ccb_done(&dev->ccbq, (union ccb *)ccb_h); if (((dev->flags & CAM_DEV_REL_ON_QUEUE_EMPTY) != 0 @@ -5236,20 +5231,26 @@ xpt_done_process(struct ccb_hdr *ccb_h) (void)xpt_schedule_devq(devq, dev); mtx_unlock(&devq->send_mtx); - mtx = xpt_path_mtx(ccb_h->path); - mtx_lock(mtx); + if ((dev->flags & CAM_DEV_TAG_AFTER_COUNT) != 0) { + mtx = xpt_path_mtx(ccb_h->path); + mtx_lock(mtx); - if ((dev->flags & CAM_DEV_TAG_AFTER_COUNT) != 0 - && (--dev->tag_delay_count == 0)) - xpt_start_tags(ccb_h->path); + if ((dev->flags & CAM_DEV_TAG_AFTER_COUNT) != 0 + && (--dev->tag_delay_count == 0)) + xpt_start_tags(ccb_h->path); + } + } - if ((ccb_h->flags & CAM_UNLOCKED) != 0) { + if ((ccb_h->flags & CAM_UNLOCKED) == 0) { + if (mtx == NULL) { + mtx = xpt_path_mtx(ccb_h->path); + mtx_lock(mtx); + } + } else { + if (mtx != NULL) { mtx_unlock(mtx); mtx = NULL; } - } else if ((ccb_h->flags & CAM_UNLOCKED) == 0) { - mtx = xpt_path_mtx(ccb_h->path); - mtx_lock(mtx); } /* Call the peripheral driver's callback */ Modified: projects/camlock/sys/cam/cam_xpt_internal.h ============================================================================== --- projects/camlock/sys/cam/cam_xpt_internal.h Mon Sep 2 22:22:56 2013 (r255158) +++ projects/camlock/sys/cam/cam_xpt_internal.h Mon Sep 2 22:45:49 2013 (r255159) @@ -57,23 +57,13 @@ struct xpt_xport { }; /* - * Structure for queueing a device in a run queue. - * There is one run queue for allocating new ccbs, - * and another for sending ccbs to the controller. - */ -struct cam_ed_qinfo { - cam_pinfo pinfo; - struct cam_ed *device; -}; - -/* * The CAM EDT (Existing Device Table) contains the device information for * all devices for all busses in the system. The table contains a * cam_ed structure for each device on the bus. */ struct cam_ed { + cam_pinfo devq_entry; TAILQ_ENTRY(cam_ed) links; - struct cam_ed_qinfo devq_entry; struct cam_et *target; struct cam_sim *sim; lun_id_t lun_id; From owner-svn-src-projects@FreeBSD.ORG Wed Sep 4 08:01:17 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 46E6E506; Wed, 4 Sep 2013 08:01:17 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3293B2C28; Wed, 4 Sep 2013 08:01:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r8481HZ6098003; Wed, 4 Sep 2013 08:01:17 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r8481Bkc097939; Wed, 4 Sep 2013 08:01:11 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201309040801.r8481Bkc097939@svn.freebsd.org> From: Alexander Motin Date: Wed, 4 Sep 2013 08:01:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255201 - in projects/camlock: . bin/sh contrib/binutils/gas/config contrib/binutils/opcodes contrib/gcc contrib/gcc/config/i386 contrib/gcc/doc contrib/libexecinfo etc/defaults etc/rc.... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Sep 2013 08:01:17 -0000 Author: mav Date: Wed Sep 4 08:01:11 2013 New Revision: 255201 URL: http://svnweb.freebsd.org/changeset/base/255201 Log: MFC @ r255200 Added: projects/camlock/gnu/usr.bin/cc/include/__wmmintrin_aes.h - copied unchanged from r255200, head/gnu/usr.bin/cc/include/__wmmintrin_aes.h projects/camlock/gnu/usr.bin/cc/include/__wmmintrin_pclmul.h - copied unchanged from r255200, head/gnu/usr.bin/cc/include/__wmmintrin_pclmul.h projects/camlock/sys/crypto/aesni/aesencdec.h - copied unchanged from r255200, head/sys/crypto/aesni/aesencdec.h projects/camlock/sys/dev/hwpmc/hwpmc_mpc7xxx.c - copied unchanged from r255200, head/sys/dev/hwpmc/hwpmc_mpc7xxx.c projects/camlock/sys/dev/hwpmc/hwpmc_powerpc.h - copied unchanged from r255200, head/sys/dev/hwpmc/hwpmc_powerpc.h Deleted: projects/camlock/gnu/usr.bin/patch/ projects/camlock/sys/crypto/aesni/aesencdec_amd64.S projects/camlock/sys/crypto/aesni/aesencdec_i386.S Modified: projects/camlock/ObsoleteFiles.inc projects/camlock/bin/sh/jobs.c projects/camlock/bin/sh/jobs.h projects/camlock/bin/sh/trap.c projects/camlock/bin/sh/trap.h projects/camlock/contrib/binutils/gas/config/tc-i386.c projects/camlock/contrib/binutils/opcodes/i386-dis.c projects/camlock/contrib/binutils/opcodes/i386-opc.tbl projects/camlock/contrib/binutils/opcodes/i386-tbl.h projects/camlock/contrib/gcc/config/i386/i386.c projects/camlock/contrib/gcc/config/i386/i386.h projects/camlock/contrib/gcc/config/i386/i386.opt projects/camlock/contrib/gcc/doc/invoke.texi projects/camlock/contrib/gcc/opth-gen.awk projects/camlock/contrib/libexecinfo/execinfo.h (contents, props changed) projects/camlock/etc/defaults/periodic.conf projects/camlock/etc/rc.d/routing projects/camlock/gnu/usr.bin/Makefile projects/camlock/gnu/usr.bin/cc/include/Makefile projects/camlock/lib/Makefile projects/camlock/lib/libc/gen/signal.3 projects/camlock/lib/libexecinfo/Makefile projects/camlock/share/man/man5/periodic.conf.5 projects/camlock/share/mk/bsd.libnames.mk projects/camlock/sys/amd64/amd64/db_disasm.c projects/camlock/sys/arm/freescale/imx/imx51_machdep.c projects/camlock/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c projects/camlock/sys/conf/files.amd64 projects/camlock/sys/conf/files.i386 projects/camlock/sys/crypto/aesni/aeskeys_amd64.S projects/camlock/sys/crypto/aesni/aesni.c projects/camlock/sys/crypto/aesni/aesni.h projects/camlock/sys/crypto/aesni/aesni_wrap.c projects/camlock/sys/dev/atkbdc/psm.c projects/camlock/sys/dev/cxgbe/tom/t4_listen.c projects/camlock/sys/dev/hwpmc/hwpmc_mod.c projects/camlock/sys/dev/hwpmc/hwpmc_powerpc.c projects/camlock/sys/dev/virtio/network/if_vtnet.c projects/camlock/sys/dev/virtio/network/if_vtnetvar.h projects/camlock/sys/dev/virtio/virtqueue.c projects/camlock/sys/dev/xen/blkback/blkback.c projects/camlock/sys/fs/nfsclient/nfs_clvfsops.c projects/camlock/sys/geom/eli/g_eli.c projects/camlock/sys/i386/xen/mp_machdep.c projects/camlock/sys/kern/uipc_debug.c projects/camlock/sys/kern/uipc_sockbuf.c projects/camlock/sys/kern/uipc_socket.c projects/camlock/sys/kern/vfs_mount.c projects/camlock/sys/mips/conf/DIR-825 projects/camlock/sys/mips/include/_stdint.h projects/camlock/sys/modules/aesni/Makefile projects/camlock/sys/modules/cam/Makefile projects/camlock/sys/modules/hwpmc/Makefile projects/camlock/sys/modules/send/Makefile projects/camlock/sys/netinet/sctp_auth.c projects/camlock/sys/netinet/sctp_auth.h projects/camlock/sys/netinet/sctp_indata.c projects/camlock/sys/netinet/sctp_os_bsd.h projects/camlock/sys/netinet/sctp_output.c projects/camlock/sys/netinet/sctp_structs.h projects/camlock/sys/netinet/sctp_timer.c projects/camlock/sys/netinet/sctp_uio.h projects/camlock/sys/netinet/sctputil.c projects/camlock/sys/netpfil/pf/pf_lb.c projects/camlock/sys/powerpc/aim/trap.c projects/camlock/sys/powerpc/include/_stdint.h projects/camlock/sys/powerpc/include/pmc_mdep.h projects/camlock/sys/sys/mount.h projects/camlock/sys/sys/mouse.h projects/camlock/sys/sys/param.h projects/camlock/sys/sys/sockbuf.h projects/camlock/sys/sys/time.h projects/camlock/sys/x86/xen/hvm.c projects/camlock/usr.sbin/periodic/periodic.sh projects/camlock/usr.sbin/rtadvd/if.c Directory Properties: projects/camlock/ (props changed) projects/camlock/contrib/binutils/ (props changed) projects/camlock/contrib/gcc/ (props changed) projects/camlock/contrib/libexecinfo/ (props changed) projects/camlock/lib/libc/ (props changed) projects/camlock/sys/ (props changed) projects/camlock/sys/conf/ (props changed) projects/camlock/usr.sbin/rtadvd/ (props changed) Modified: projects/camlock/ObsoleteFiles.inc ============================================================================== --- projects/camlock/ObsoleteFiles.inc Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/ObsoleteFiles.inc Wed Sep 4 08:01:11 2013 (r255201) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20130903: gnupatch is no more +OLD_FILES+=usr/bin/gnupatch +OLD_FILES+=usr/share/man/man1/gnupatch.1.gz # 20130829: bsdpatch is patch unconditionally OLD_FILES+=usr/bin/bsdpatch OLD_FILES+=usr/share/man/man1/bsdpatch.1.gz Modified: projects/camlock/bin/sh/jobs.c ============================================================================== --- projects/camlock/bin/sh/jobs.c Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/bin/sh/jobs.c Wed Sep 4 08:01:11 2013 (r255201) @@ -83,13 +83,12 @@ static struct job *bgjob = NULL; /* last static struct job *jobmru; /* most recently used job list */ static pid_t initialpgrp; /* pgrp of shell on invocation */ #endif -int in_waitcmd = 0; /* are we in waitcmd()? */ -volatile sig_atomic_t breakwaitcmd = 0; /* should wait be terminated? */ static int ttyfd = -1; /* mode flags for dowait */ #define DOWAIT_BLOCK 0x1 /* wait until a child exits */ -#define DOWAIT_SIG 0x2 /* if DOWAIT_BLOCK, abort on signals */ +#define DOWAIT_SIG 0x2 /* if DOWAIT_BLOCK, abort on SIGINT/SIGQUIT */ +#define DOWAIT_SIG_ANY 0x4 /* if DOWAIT_SIG, abort on any signal */ #if JOBS static void restartjob(struct job *); @@ -484,7 +483,7 @@ waitcmd(int argc __unused, char **argv _ static int waitcmdloop(struct job *job) { - int status, retval; + int status, retval, sig; struct job *jp; /* @@ -492,7 +491,6 @@ waitcmdloop(struct job *job) * received. */ - in_waitcmd++; do { if (job != NULL) { if (job->state == JOBDONE) { @@ -508,7 +506,6 @@ waitcmdloop(struct job *job) if (job == bgjob) bgjob = NULL; } - in_waitcmd--; return retval; } } else { @@ -524,7 +521,6 @@ waitcmdloop(struct job *job) } for (jp = jobtab ; ; jp++) { if (jp >= jobtab + njobs) { /* no running procs */ - in_waitcmd--; return 0; } if (jp->used && jp->state == 0) @@ -532,9 +528,10 @@ waitcmdloop(struct job *job) } } } while (dowait(DOWAIT_BLOCK | DOWAIT_SIG, (struct job *)NULL) != -1); - in_waitcmd--; - return pendingsig + 128; + sig = pendingsig_waitcmd; + pendingsig_waitcmd = 0; + return sig + 128; } @@ -990,7 +987,8 @@ waitforjob(struct job *jp, int *origstat INTOFF; TRACE(("waitforjob(%%%td) called\n", jp - jobtab + 1)); while (jp->state == 0) - if (dowait(DOWAIT_BLOCK | (Tflag ? DOWAIT_SIG : 0), jp) == -1) + if (dowait(DOWAIT_BLOCK | (Tflag ? DOWAIT_SIG | + DOWAIT_SIG_ANY : 0), jp) == -1) dotrap(); #if JOBS if (jp->jobctl) { @@ -1081,12 +1079,17 @@ dowait(int mode, struct job *job) pid = wait3(&status, wflags, (struct rusage *)NULL); TRACE(("wait returns %d, status=%d\n", (int)pid, status)); if (pid == 0 && (mode & DOWAIT_SIG) != 0) { - sigsuspend(&omask); pid = -1; + if (((mode & DOWAIT_SIG_ANY) != 0 ? + pendingsig : pendingsig_waitcmd) != 0) { + errno = EINTR; + break; + } + sigsuspend(&omask); if (int_pending()) break; } - } while (pid == -1 && errno == EINTR && breakwaitcmd == 0); + } while (pid == -1 && errno == EINTR); if (pid == -1 && errno == ECHILD && job != NULL) job->state = JOBDONE; if ((mode & DOWAIT_SIG) != 0) { @@ -1095,11 +1098,6 @@ dowait(int mode, struct job *job) sigprocmask(SIG_SETMASK, &omask, NULL); INTON; } - if (breakwaitcmd != 0) { - breakwaitcmd = 0; - if (pid <= 0) - return -1; - } if (pid <= 0) return pid; INTOFF; Modified: projects/camlock/bin/sh/jobs.h ============================================================================== --- projects/camlock/bin/sh/jobs.h Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/bin/sh/jobs.h Wed Sep 4 08:01:11 2013 (r255201) @@ -83,8 +83,6 @@ enum { }; extern int job_warning; /* user was warned about stopped jobs */ -extern int in_waitcmd; /* are we in waitcmd()? */ -extern volatile sig_atomic_t breakwaitcmd; /* break wait to process traps? */ void setjobctl(int); void showjobs(int, int); Modified: projects/camlock/bin/sh/trap.c ============================================================================== --- projects/camlock/bin/sh/trap.c Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/bin/sh/trap.c Wed Sep 4 08:01:11 2013 (r255201) @@ -74,6 +74,7 @@ __FBSDID("$FreeBSD$"); static char sigmode[NSIG]; /* current value of signal */ volatile sig_atomic_t pendingsig; /* indicates some signal received */ +volatile sig_atomic_t pendingsig_waitcmd; /* indicates SIGINT/SIGQUIT received */ int in_dotrap; /* do we execute in a trap handler? */ static char *volatile trap[NSIG]; /* trap handler commands */ static volatile sig_atomic_t gotsig[NSIG]; @@ -389,23 +390,13 @@ onsig(int signo) } /* If we are currently in a wait builtin, prepare to break it */ - if ((signo == SIGINT || signo == SIGQUIT) && in_waitcmd != 0) { - breakwaitcmd = 1; - pendingsig = signo; - } + if (signo == SIGINT || signo == SIGQUIT) + pendingsig_waitcmd = signo; if (trap[signo] != NULL && trap[signo][0] != '\0' && (signo != SIGCHLD || !ignore_sigchld)) { gotsig[signo] = 1; pendingsig = signo; - - /* - * If a trap is set, not ignored and not the null command, we - * need to make sure traps are executed even when a child - * blocks signals. - */ - if (Tflag && !(trap[signo][0] == ':' && trap[signo][1] == '\0')) - breakwaitcmd = 1; } #ifndef NO_HISTORY @@ -428,6 +419,7 @@ dotrap(void) in_dotrap++; for (;;) { pendingsig = 0; + pendingsig_waitcmd = 0; for (i = 1; i < NSIG; i++) { if (gotsig[i]) { gotsig[i] = 0; Modified: projects/camlock/bin/sh/trap.h ============================================================================== --- projects/camlock/bin/sh/trap.h Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/bin/sh/trap.h Wed Sep 4 08:01:11 2013 (r255201) @@ -34,6 +34,7 @@ */ extern volatile sig_atomic_t pendingsig; +extern volatile sig_atomic_t pendingsig_waitcmd; extern int in_dotrap; extern volatile sig_atomic_t gotwinch; Modified: projects/camlock/contrib/binutils/gas/config/tc-i386.c ============================================================================== --- projects/camlock/contrib/binutils/gas/config/tc-i386.c Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/binutils/gas/config/tc-i386.c Wed Sep 4 08:01:11 2013 (r255201) @@ -3990,7 +3990,8 @@ output_insn (void) goto check_prefix; } } - else if (i.tm.base_opcode == 0x660f3880 || i.tm.base_opcode == 0x660f3881) + else if (i.tm.base_opcode == 0x660f3880 || i.tm.base_opcode == 0x660f3881 + || i.tm.base_opcode == 0x660f3882) { /* invept and invvpid are 3 byte instructions with a mandatory prefix. */ @@ -4040,7 +4041,8 @@ output_insn (void) *p++ = (i.tm.base_opcode >> 16) & 0xff; } else if (i.tm.base_opcode == 0x660f3880 || - i.tm.base_opcode == 0x660f3881) + i.tm.base_opcode == 0x660f3881 || + i.tm.base_opcode == 0x660f3882) { p = frag_more (3); *p++ = (i.tm.base_opcode >> 16) & 0xff; Modified: projects/camlock/contrib/binutils/opcodes/i386-dis.c ============================================================================== --- projects/camlock/contrib/binutils/opcodes/i386-dis.c Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/binutils/opcodes/i386-dis.c Wed Sep 4 08:01:11 2013 (r255201) @@ -550,6 +550,7 @@ fetch_data (struct disassemble_info *inf #define PREGRP104 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 104 } } #define PREGRP105 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 105 } } #define PREGRP106 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 106 } } +#define PREGRP107 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 107 } } #define X86_64_0 NULL, { { NULL, X86_64_SPECIAL }, { NULL, 0 } } @@ -2668,6 +2669,14 @@ static const struct dis386 prefix_user_t { "pclmulqdq", { XM, EXx, Ib } }, { "(bad)", { XX } }, }, + + /* PREGRP107 */ + { + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { "invpcid",{ Gm, Mo } }, + { "(bad)", { XX } }, + }, }; static const struct dis386 x86_64_table[][2] = { @@ -2839,7 +2848,7 @@ static const struct dis386 three_byte_ta /* 80 */ { PREGRP98 }, { PREGRP99 }, - { "(bad)", { XX } }, + { PREGRP107 }, { "(bad)", { XX } }, { "(bad)", { XX } }, { "(bad)", { XX } }, Modified: projects/camlock/contrib/binutils/opcodes/i386-opc.tbl ============================================================================== --- projects/camlock/contrib/binutils/opcodes/i386-opc.tbl Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/binutils/opcodes/i386-opc.tbl Wed Sep 4 08:01:11 2013 (r255201) @@ -1498,3 +1498,7 @@ xsetbv, 0, 0xf01, 0xd1, CpuXSAVE, No_bSu xsave, 1, 0xfae, 0x4, CpuXSAVE, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_xSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S } xsaveopt, 1, 0xfae, 0x6, CpuXSAVE, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_xSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S } xrstor, 1, 0xfae, 0x5, CpuXSAVE, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_xSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S } + +// INVPCID +invpcid, 2, 0x660f3882, None, CpuNo64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, { BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32 } +invpcid, 2, 0x660f3882, None, Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, { BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg64 } Modified: projects/camlock/contrib/binutils/opcodes/i386-tbl.h ============================================================================== --- projects/camlock/contrib/binutils/opcodes/i386-tbl.h Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/binutils/opcodes/i386-tbl.h Wed Sep 4 08:01:11 2013 (r255201) @@ -3641,6 +3641,14 @@ const template i386_optab[] = Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, { BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg64 } }, + { "invpcid", 2, 0x660f3882, None, CpuNo64, + Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, + { BaseIndex|Disp8|Disp16|Disp32|Disp32S, + Reg32 } }, + { "invpcid", 2, 0x660f3882, None, Cpu64, + Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_xSuf|NoRex64, + { BaseIndex|Disp8|Disp16|Disp32|Disp32S, + Reg64 } }, { "vmcall", 0, 0xf01, 0xc1, CpuVMX, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_xSuf|ImmExt, { 0 } }, Modified: projects/camlock/contrib/gcc/config/i386/i386.c ============================================================================== --- projects/camlock/contrib/gcc/config/i386/i386.c Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/gcc/config/i386/i386.c Wed Sep 4 08:01:11 2013 (r255201) @@ -1684,6 +1684,14 @@ ix86_handle_option (size_t code, const c } return true; + case OPT_maes: + if (!value) + { + target_flags &= ~MASK_AES; + target_flags_explicit |= MASK_AES; + } + return true; + default: return true; } @@ -2187,6 +2195,10 @@ override_options (void) if (TARGET_SSE3) target_flags |= MASK_SSE2; + /* Turn on SSE2 builtins for -maes. */ + if (TARGET_AES) + target_flags |= MASK_SSE2; + /* Turn on SSE builtins for -msse2. */ if (TARGET_SSE2) target_flags |= MASK_SSE; Modified: projects/camlock/contrib/gcc/config/i386/i386.h ============================================================================== --- projects/camlock/contrib/gcc/config/i386/i386.h Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/gcc/config/i386/i386.h Wed Sep 4 08:01:11 2013 (r255201) @@ -428,6 +428,8 @@ extern const char *host_detect_local_cpu builtin_define ("__SSSE3__"); \ if (TARGET_SSE4A) \ builtin_define ("__SSE4A__"); \ + if (TARGET_AES) \ + builtin_define ("__AES__"); \ if (TARGET_SSE_MATH && TARGET_SSE) \ builtin_define ("__SSE_MATH__"); \ if (TARGET_SSE_MATH && TARGET_SSE2) \ Modified: projects/camlock/contrib/gcc/config/i386/i386.opt ============================================================================== --- projects/camlock/contrib/gcc/config/i386/i386.opt Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/gcc/config/i386/i386.opt Wed Sep 4 08:01:11 2013 (r255201) @@ -205,6 +205,10 @@ msse4a Target Report Mask(SSE4A) Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation +maes +Target Report Mask(AES) +Support AES built-in functions and code generation. + mpopcnt Target Report Mask(POPCNT) Support code generation of popcount instruction for popcount built-ins Modified: projects/camlock/contrib/gcc/doc/invoke.texi ============================================================================== --- projects/camlock/contrib/gcc/doc/invoke.texi Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/gcc/doc/invoke.texi Wed Sep 4 08:01:11 2013 (r255201) @@ -513,7 +513,7 @@ in the following sections. -mno-fp-ret-in-387 -msoft-float -msvr3-shlib @gol -mno-wide-multiply -mrtd -malign-double @gol -mpreferred-stack-boundary=@var{num} @gol --mmmx -msse -msse2 -msse3 -mssse3 -msse4a -m3dnow -mpopcnt -mabm @gol +-mmmx -msse -msse2 -msse3 -mssse3 -msse4a -m3dnow -mpopcnt -mabm -maes @gol -mthreads -mno-align-stringops -minline-all-stringops @gol -mpush-args -maccumulate-outgoing-args -m128bit-long-double @gol -m96bit-long-double -mregparm=@var{num} -msseregparm @gol @@ -9367,6 +9367,8 @@ preferred alignment to @option{-mpreferr @itemx -mno-popcnt @item -mabm @itemx -mno-abm +@item -maes +@itemx -mno-aes @opindex mmmx @opindex mno-mmx @opindex msse @@ -9374,10 +9376,10 @@ preferred alignment to @option{-mpreferr @opindex m3dnow @opindex mno-3dnow These switches enable or disable the use of instructions in the MMX, -SSE, SSE2, SSE3, SSSE3, SSE4A, ABM or 3DNow! extended instruction sets. -These extensions are also available as built-in functions: see -@ref{X86 Built-in Functions}, for details of the functions enabled and -disabled by these switches. +SSE, SSE2, SSE3, SSSE3, SSE4A, ABM, AES or 3DNow! extended +instruction sets. These extensions are also available as built-in +functions: see @ref{X86 Built-in Functions}, for details of the functions +enabled and disabled by these switches. To have SSE/SSE2 instructions generated automatically from floating-point code (as opposed to 387 instructions), see @option{-mfpmath=sse}. Modified: projects/camlock/contrib/gcc/opth-gen.awk ============================================================================== --- projects/camlock/contrib/gcc/opth-gen.awk Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/gcc/opth-gen.awk Wed Sep 4 08:01:11 2013 (r255201) @@ -87,7 +87,7 @@ for (i = 0; i < n_extra_masks; i++) { } for (var in masknum) { - if (masknum[var] > 31) { + if (masknum[var] > 32) { if (var == "") print "#error too many target masks" else Modified: projects/camlock/contrib/libexecinfo/execinfo.h ============================================================================== --- projects/camlock/contrib/libexecinfo/execinfo.h Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/contrib/libexecinfo/execinfo.h Wed Sep 4 08:01:11 2013 (r255201) @@ -1,4 +1,5 @@ /* $NetBSD: execinfo.h,v 1.2 2012/06/09 21:22:17 christos Exp $ */ +/* $FreeBSD$ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. Modified: projects/camlock/etc/defaults/periodic.conf ============================================================================== --- projects/camlock/etc/defaults/periodic.conf Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/etc/defaults/periodic.conf Wed Sep 4 08:01:11 2013 (r255201) @@ -162,6 +162,71 @@ daily_scrub_zfs_default_threshold="35" daily_local="/etc/daily.local" # Local scripts +# Weekly options + +# These options are used by periodic(8) itself to determine what to do +# with the output of the sub-programs that are run, and where to send +# that output. $weekly_output might be set to /var/log/weekly.log if you +# wish to log the weekly output and have the files rotated by newsyslog(8) +# +weekly_output="root" # user or /file +weekly_show_success="YES" # scripts returning 0 +weekly_show_info="YES" # scripts returning 1 +weekly_show_badconfig="NO" # scripts returning 2 + +# 310.locate +weekly_locate_enable="YES" # Update locate weekly + +# 320.whatis +weekly_whatis_enable="YES" # Update whatis weekly + +# 330.catman +weekly_catman_enable="NO" # Preformat man pages + +# 340.noid +weekly_noid_enable="NO" # Find unowned files +weekly_noid_dirs="/" # Look here + +# 400.status-pkg +weekly_status_pkg_enable="NO" # Find out-of-date pkgs +pkg_version=pkg_version # Use this program +pkg_version_index=/usr/ports/INDEX-10 # Use this index file + +# 450.status-security +weekly_status_security_enable="YES" # Security check +# See also "Security options" above for more options +weekly_status_security_inline="NO" # Run inline ? +weekly_status_security_output="root" # user or /file + +# 999.local +weekly_local="/etc/weekly.local" # Local scripts + + +# Monthly options + +# These options are used by periodic(8) itself to determine what to do +# with the output of the sub-programs that are run, and where to send +# that output. $monthly_output might be set to /var/log/monthly.log if you +# wish to log the monthly output and have the files rotated by newsyslog(8) +# +monthly_output="root" # user or /file +monthly_show_success="YES" # scripts returning 0 +monthly_show_info="YES" # scripts returning 1 +monthly_show_badconfig="NO" # scripts returning 2 + +# 200.accounting +monthly_accounting_enable="YES" # Login accounting + +# 450.status-security +monthly_status_security_enable="YES" # Security check +# See also "Security options" above for more options +monthly_status_security_inline="NO" # Run inline ? +monthly_status_security_output="root" # user or /file + +# 999.local +monthly_local="/etc/monthly.local" # Local scripts + + # Security options # These options are used by the security periodic(8) scripts spawned in @@ -169,11 +234,14 @@ daily_local="/etc/daily.local" # Loca security_status_logdir="/var/log" # Directory for logs security_status_diff_flags="-b -u" # flags for diff output -# Each of the security_status_*_enable options below can have one of the +# Each of the security_status_*_period options below can have one of the # following values: -# - NO +# - NO: do not run at all # - daily: only run during the daily security status # - weekly: only run during the weekly security status +# - monthly: only run during the monthly security status +# Note that if periodic security scripts are run from crontab(5) directly, +# they will be run unless _enable or _period is set to "NO". # 100.chksetuid security_status_chksetuid_enable="YES" @@ -239,70 +307,6 @@ security_status_tcpwrap_enable="YES" security_status_tcpwrap_period="daily" -# Weekly options - -# These options are used by periodic(8) itself to determine what to do -# with the output of the sub-programs that are run, and where to send -# that output. $weekly_output might be set to /var/log/weekly.log if you -# wish to log the weekly output and have the files rotated by newsyslog(8) -# -weekly_output="root" # user or /file -weekly_show_success="YES" # scripts returning 0 -weekly_show_info="YES" # scripts returning 1 -weekly_show_badconfig="NO" # scripts returning 2 - -# 310.locate -weekly_locate_enable="YES" # Update locate weekly - -# 320.whatis -weekly_whatis_enable="YES" # Update whatis weekly - -# 330.catman -weekly_catman_enable="NO" # Preformat man pages - -# 340.noid -weekly_noid_enable="NO" # Find unowned files -weekly_noid_dirs="/" # Look here - -# 400.status-pkg -weekly_status_pkg_enable="NO" # Find out-of-date pkgs -pkg_version=pkg_version # Use this program -pkg_version_index=/usr/ports/INDEX-10 # Use this index file - -# 450.status-security -weekly_status_security_enable="YES" # Security check -# See also "Security options" above for more options -weekly_status_security_inline="NO" # Run inline ? -weekly_status_security_output="root" # user or /file - -# 999.local -weekly_local="/etc/weekly.local" # Local scripts - - -# Monthly options - -# These options are used by periodic(8) itself to determine what to do -# with the output of the sub-programs that are run, and where to send -# that output. $monthly_output might be set to /var/log/monthly.log if you -# wish to log the monthly output and have the files rotated by newsyslog(8) -# -monthly_output="root" # user or /file -monthly_show_success="YES" # scripts returning 0 -monthly_show_info="YES" # scripts returning 1 -monthly_show_badconfig="NO" # scripts returning 2 - -# 200.accounting -monthly_accounting_enable="YES" # Login accounting - -# 450.status-security -monthly_status_security_enable="YES" # Security check -# See also "Security options" above for more options -monthly_status_security_inline="NO" # Run inline ? -monthly_status_security_output="root" # user or /file - -# 999.local -monthly_local="/etc/monthly.local" # Local scripts - # Define source_periodic_confs, the mechanism used by /etc/periodic/*/* # scripts to source defaults/periodic.conf overrides safely. Modified: projects/camlock/etc/rc.d/routing ============================================================================== --- projects/camlock/etc/rc.d/routing Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/etc/rc.d/routing Wed Sep 4 08:01:11 2013 (r255201) @@ -143,7 +143,7 @@ static_inet() [Nn][Oo] | '') ;; *) - static_routes="_default ${static_routes}" + static_routes="${static_routes} _default" route__default="default ${defaultrouter}" ;; esac @@ -205,7 +205,7 @@ static_inet6() [Nn][Oo] | '') ;; *) - ipv6_static_routes="_default ${ipv6_static_routes}" + ipv6_static_routes="${ipv6_static_routes} _default" ipv6_route__default="default ${ipv6_defaultrouter}" ;; esac Modified: projects/camlock/gnu/usr.bin/Makefile ============================================================================== --- projects/camlock/gnu/usr.bin/Makefile Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/gnu/usr.bin/Makefile Wed Sep 4 08:01:11 2013 (r255201) @@ -12,7 +12,6 @@ SUBDIR= ${_binutils} \ ${_gperf} \ grep \ ${_groff} \ - patch \ ${_rcs} \ sdiff \ send-pr \ Modified: projects/camlock/gnu/usr.bin/cc/include/Makefile ============================================================================== --- projects/camlock/gnu/usr.bin/cc/include/Makefile Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/gnu/usr.bin/cc/include/Makefile Wed Sep 4 08:01:11 2013 (r255201) @@ -6,11 +6,12 @@ INCSDIR=${INCLUDEDIR}/gcc/${GCCVER} -.PATH: ${GCCDIR}/config/${GCC_CPU} +.PATH: ${GCCDIR}/config/${GCC_CPU} ${.CURDIR}/../../../../contrib/llvm/tools/clang/lib/Headers .if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64" INCS= ammintrin.h emmintrin.h mmintrin.h mm3dnow.h pmmintrin.h \ tmmintrin.h xmmintrin.h mm_malloc.h +INCS+= wmmintrin.h __wmmintrin_aes.h __wmmintrin_pclmul.h .elif ${TARGET_ARCH} == "ia64" INCS= ia64intrin.h .elif ${TARGET_ARCH} == "arm" Copied: projects/camlock/gnu/usr.bin/cc/include/__wmmintrin_aes.h (from r255200, head/gnu/usr.bin/cc/include/__wmmintrin_aes.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/camlock/gnu/usr.bin/cc/include/__wmmintrin_aes.h Wed Sep 4 08:01:11 2013 (r255201, copy of r255200, head/gnu/usr.bin/cc/include/__wmmintrin_aes.h) @@ -0,0 +1,54 @@ +/*- + * Copyright 2013 John-Mark Gurney + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + * + */ + +#ifndef _WMMINTRIN_AES_H_ +#define _WMMINTRIN_AES_H_ + +#include + +#define MAKE_AES(name) \ +static __inline__ __m128i __attribute__((__always_inline__, __nodebug__)) \ +_mm_## name ##_si128(__m128i __V, __m128i __R) \ +{ \ + __m128i v = __V; \ + \ + __asm__ (#name " %2, %0": "=x" (v): "0" (v), "xm" (__R)); \ + \ + return v; \ +} + +MAKE_AES(aesimc) +MAKE_AES(aesenc) +MAKE_AES(aesenclast) +MAKE_AES(aesdec) +MAKE_AES(aesdeclast) + +#undef MAKE_AES + +#endif /* _WMMINTRIN_AES_H_ */ Copied: projects/camlock/gnu/usr.bin/cc/include/__wmmintrin_pclmul.h (from r255200, head/gnu/usr.bin/cc/include/__wmmintrin_pclmul.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/camlock/gnu/usr.bin/cc/include/__wmmintrin_pclmul.h Wed Sep 4 08:01:11 2013 (r255201, copy of r255200, head/gnu/usr.bin/cc/include/__wmmintrin_pclmul.h) @@ -0,0 +1,53 @@ +/*- + * Copyright 2013 John-Mark Gurney + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + * + */ + +#ifndef _WMMINTRIN_PCLMUL_H_ +#define _WMMINTRIN_PCLMUL_H_ + +#include + +/* + * c selects which parts of a and b to multiple: + * 0x00: a[ 63: 0] * b[ 63: 0] + * 0x01: a[127:64] * b[ 63: 0] + * 0x10: a[ 63: 0] * b[127:64] + * 0x11: a[127:64] * b[127:64] + */ +#define _mm_clmulepi64_si128(a, b, c) \ +({ \ + __m128i _a = (a); \ + __m128i _b = (b); \ + \ + __asm__("pclmulqdq %3, %2, %0": "=x" (_a): "0" (_a), "xm" (_b), \ + "i" (c)); \ + \ + _a; \ +}) + +#endif /* _WMMINTRIN_PCLMUL_H_ */ Modified: projects/camlock/lib/Makefile ============================================================================== --- projects/camlock/lib/Makefile Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/lib/Makefile Wed Sep 4 08:01:11 2013 (r255201) @@ -72,6 +72,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ libdwarf \ libedit \ ${_libefi} \ + libexecinfo \ libexpat \ libfetch \ libgeom \ Modified: projects/camlock/lib/libc/gen/signal.3 ============================================================================== --- projects/camlock/lib/libc/gen/signal.3 Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/lib/libc/gen/signal.3 Wed Sep 4 08:01:11 2013 (r255201) @@ -132,6 +132,7 @@ is possible on a descriptor (see .It 30 Ta Dv SIGUSR1 Ta "terminate process" Ta "User defined signal 1" .It 31 Ta Dv SIGUSR2 Ta "terminate process" Ta "User defined signal 2" .It 32 Ta Dv SIGTHR Ta "terminate process" Ta "thread interrupt" +.It 33 Ta Dv SIGLIBRT Ta "terminate process" Ta "real-time library interrupt" .El .Pp The Modified: projects/camlock/lib/libexecinfo/Makefile ============================================================================== --- projects/camlock/lib/libexecinfo/Makefile Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/lib/libexecinfo/Makefile Wed Sep 4 08:01:11 2013 (r255201) @@ -3,12 +3,16 @@ LIBEXECINFO= ${.CURDIR}/../../contrib/libexecinfo LIB= execinfo +SHLIB_MAJOR= 1 .PATH: ${LIBEXECINFO} -INCS= execinfo.h symtab.h unwind.h +INCS= execinfo.h SRCS= backtrace.c symtab.c unwind.c +DPADD= ${LIBELF} +LDADD= -lelf + MAN= backtrace.3 MLINKS+= backtrace.3 backtrace_symbols.3 Modified: projects/camlock/share/man/man5/periodic.conf.5 ============================================================================== --- projects/camlock/share/man/man5/periodic.conf.5 Wed Sep 4 07:09:56 2013 (r255200) +++ projects/camlock/share/man/man5/periodic.conf.5 Wed Sep 4 08:01:11 2013 (r255201) @@ -482,6 +482,242 @@ This variable behaves in the same way as .Va *_output variables above, namely it can be set either to one or more email addresses or to an absolute file name. +.It Va daily_status_mail_rejects_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to summarise mail rejections logged to +.Pa /var/log/maillog +for the previous day. +.It Va daily_status_mail_rejects_logs +.Pq Vt num +Set to the number of maillog files that should be checked +for yesterday's mail rejects. +.It Va daily_status_named_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to summarise denied zone transfers (AXFR and IXFR) +for the previous day. +.It Va daily_status_named_usedns +.Pq Vt bool +Set to +.Dq Li YES +if you want to enable reverse DNS lookups. +.It Va daily_status_ntpd +.Pq Vt bool +Set to +.Dq Li YES +if you want to enable NTP status check. +.It Va daily_queuerun_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to manually run the mail queue at least once a day. +.It Va daily_submit_queuerun +.Pq Vt bool +Set to +.Dq Li YES +if you also want to manually run the submit mail queue at least once a day +when +.Va daily_queuerun_enable +is set to +.Dq Li YES . +.It Va daily_scrub_zfs_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to run a zfs scrub periodically. +.It Va daily_scrub_zfs_pools +.Pq Vt str +A space separated list of names of zfs pools to scrub. +If the list is empty or not set, all zfs pools are scrubbed. +.It Va daily_scrub_zfs_default_threshold +.Pq Vt int +Number of days between a scrub if no pool-specific threshold is set. +If not set, the default value is 35, corresponding to 5 weeks. +.It Va daily_scrub_zfs_ Ns Ao Ar poolname Ac Ns Va _threshold +.Pq Vt int +The same as +.Va daily_scrub_zfs_default_threshold +but specific to the pool +.Ao Ar poolname Ac Ns . +.It Va daily_local +.Pq Vt str +Set to a list of extra scripts that should be run after all other +daily scripts. +All scripts must be absolute path names. +.El +.Pp +The following variables are used by the standard scripts that reside in +.Pa /etc/periodic/weekly : +.Bl -tag -offset 4n -width 2n +.It Va weekly_locate_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to run +.Pa /usr/libexec/locate.updatedb . +This script is run using +.Nm nice Fl 5 +as user +.Dq Li nobody , +and generates the table used by the +.Xr locate 1 +command. +.It Va weekly_whatis_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to run +.Pa /usr/libexec/makewhatis.local . +This script regenerates the database used by the +.Xr apropos 1 +command. +.It Va weekly_catman_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to run +.Pa /usr/libexec/catman.local . +This script processes all out of date manual pages, speeding up the +.Xr man 1 +command at the expense of disk space. +.It Va weekly_noid_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to locate orphaned files on the system. +An orphaned file is one with an invalid owner or group. +.It Va weekly_noid_dirs +.Pq Vt str +A list of directories under which orphaned files are searched for. +This would usually be set to +.Pa / . +.It Va weekly_status_security_enable +.Pq Vt bool +Weekly counterpart of +.Va daily_status_securiy_enable . +.It Va weekly_status_security_inline +.Pq Vt bool +Weekly counterpart of +.Va daily_status_securiy_inline . +.It Va weekly_status_security_output +.Pq Vt str +Weekly counterpart of +.Va daily_status_securiy_output . +.It Va weekly_status_pkg_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to use +.Xr pkg_version 1 +to list installed packages which are out of date. +.It Va pkg_version +.Pq Vt str +When +.Va weekly_status_pkg_enable +is set to +.Dq Li YES , +this variable specifies the program that is used to determine the out of +date packages. +If unset, the +.Xr pkg_version 1 +program is used. +As an example, this variable might be set to +.Dq Li portversion +if the +.Pa ports/sysutils/portupgrade +port has been installed. +.It Va pkg_version_index +.Pq Vt str +This variable specifies the +.Pa INDEX +file from +.Pa /usr/ports +that should be used by +.Xr pkg_version 1 . +Because the dependency tree may be substantially different between versions of +.Fx , +there may be more than one +.Pa INDEX +file in +.Pa /usr/ports . +.Pp +Note, if the +.Va pkg_version +variable is set to +.Dq Li portversion , +it will also be necessary to arrange that the correct +.Pa INDEX +file is specified +using environment variables and that +.Va pkg_version_index +is cleared in +.Pa /etc/periodic.conf +.Pq Dq Li pkg_version_index= . +.It Va weekly_local +.Pq Vt str +Set to a list of extra scripts that should be run after all other +weekly scripts. +All scripts must be absolute path names. +.El +.Pp +The following variables are used by the standard scripts that reside in +.Pa /etc/periodic/monthly : +.Bl -tag -offset 4n -width 2n +.It Va monthly_accounting_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to do login accounting using the +.Xr ac 8 +command. +.It Va monthly_status_security_enable +.Pq Vt bool +Monthly counterpart of +.Va daily_status_securiy_enable . +.It Va monthly_status_security_inline +.Pq Vt bool +Monthly counterpart of +.Va daily_status_securiy_inline . +.It Va monthly_status_security_output +.Pq Vt str +Monthly counterpart of +.Va daily_status_securiy_output . +.It Va monthly_local +.Pq Vt str +Set to a list of extra scripts that should be run after all other +monthly scripts. +All scripts must be absolute path names. +.El +.Pp +The following variables are used by the standard scripts that reside in +.Pa /etc/periodic/security . +Those scripts are usually run from daily +.Pq Va daily_status_security_enable , +weekly +.Pq Va weekly_status_security_enable , +and monthly +.Pq Va monthly_status_security_enable +periodic hooks. +The +.Va ..._period +of each script can be configured as +.Dq daily , +.Dq weekly , +.Dq monthly +or +.Dq NO . +Note that when periodic security scripts are run from +.Xr crontab 5 , +they will be always run unless their +.Va ..._enable +or +.Va ..._period +variable is set to +.Dq No . +.Bl -tag -offset 4n -width 2n .It Va security_status_diff_flags .Pq Vt str Set to the arguments to pass to the @@ -709,214 +945,6 @@ Set to either .Dq Li monthly or .Dq Li NO . -.It Va daily_status_mail_rejects_enable -.Pq Vt bool -Set to -.Dq Li YES -if you want to summarise mail rejections logged to -.Pa /var/log/maillog -for the previous day. -.It Va daily_status_mail_rejects_logs -.Pq Vt num -Set to the number of maillog files that should be checked -for yesterday's mail rejects. -.It Va daily_status_named_enable -.Pq Vt bool -Set to -.Dq Li YES -if you want to summarise denied zone transfers (AXFR and IXFR) -for the previous day. -.It Va daily_status_named_usedns *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Sep 4 11:28:07 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 37AFBE62; Wed, 4 Sep 2013 11:28:07 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1D41F2A7F; Wed, 4 Sep 2013 11:28:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r84BS7bf015652; Wed, 4 Sep 2013 11:28:07 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r84BS6fP015647; Wed, 4 Sep 2013 11:28:06 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201309041128.r84BS6fP015647@svn.freebsd.org> From: Gleb Smirnoff Date: Wed, 4 Sep 2013 11:28:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255203 - in projects/counters: . bin/cat bin/chflags bin/chio bin/dd bin/df bin/domainname bin/ed bin/expr bin/hostname bin/kenv bin/kill bin/ln bin/ls bin/mkdir bin/pkill bin/ps bin/r... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Sep 2013 11:28:07 -0000 Author: glebius Date: Wed Sep 4 11:27:51 2013 New Revision: 255203 URL: http://svnweb.freebsd.org/changeset/base/255203 Log: Sync with head. Added: projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.sizedkeys.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.sizedkeys.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.sizedkeys.d.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.sizedkeys.d.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.basics.d.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.basics.d.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.compcast.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.compcast.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.compcast.d.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.compcast.d.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.compnarrowassign.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.compnarrowassign.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.compnarrowassign.d.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.compnarrowassign.d.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.execcast.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.execcast.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.execcast.d.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.execcast.d.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cg/ - copied from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cg/ projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pragma/tst.temporal.ksh - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pragma/tst.temporal.ksh projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pragma/tst.temporal2.ksh - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pragma/tst.temporal2.ksh projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pragma/tst.temporal3.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pragma/tst.temporal3.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/err.D_PRINT_AGG.bad.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/err.D_PRINT_AGG.bad.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.dyn.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.dyn.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.enum.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.enum.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.enum.d.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.enum.d.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/tst.xlate.d.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.signs.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.signs.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.signs.d.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.signs.d.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/trace/err.D_TRACE_AGG.bad.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/trace/err.D_TRACE_AGG.bad.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/trace/tst.dyn.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/trace/tst.dyn.d projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/translators/tst.TestTransStability1.ksh - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/translators/tst.TestTransStability1.ksh projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/translators/tst.TestTransStability1.ksh.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/translators/tst.TestTransStability1.ksh.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/translators/tst.TestTransStability2.ksh - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/translators/tst.TestTransStability2.ksh projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/translators/tst.TestTransStability2.ksh.out - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/translators/tst.TestTransStability2.ksh.out projects/counters/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/types/tst.const.d - copied unchanged from r255202, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/types/tst.const.d projects/counters/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pq.c - copied unchanged from r255202, head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pq.c projects/counters/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pq.h - copied unchanged from r255202, head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pq.h projects/counters/cddl/lib/libdtrace/ip.d - copied unchanged from r255202, head/cddl/lib/libdtrace/ip.d projects/counters/cddl/lib/libdtrace/nfssrv.d - copied unchanged from r255202, head/cddl/lib/libdtrace/nfssrv.d projects/counters/cddl/lib/libdtrace/tcp.d - copied unchanged from r255202, head/cddl/lib/libdtrace/tcp.d projects/counters/cddl/lib/libdtrace/udp.d - copied unchanged from r255202, head/cddl/lib/libdtrace/udp.d - copied from r255202, head/contrib/apr/ - copied from r255202, head/contrib/apr-util/ projects/counters/contrib/bind9/bin/dnssec/dnssec-verify.8 - copied unchanged from r255202, head/contrib/bind9/bin/dnssec/dnssec-verify.8 projects/counters/contrib/bind9/bin/dnssec/dnssec-verify.c - copied unchanged from r255202, head/contrib/bind9/bin/dnssec/dnssec-verify.c projects/counters/contrib/bind9/bin/dnssec/dnssec-verify.docbook - copied unchanged from r255202, head/contrib/bind9/bin/dnssec/dnssec-verify.docbook projects/counters/contrib/bind9/bin/dnssec/dnssec-verify.html - copied unchanged from r255202, head/contrib/bind9/bin/dnssec/dnssec-verify.html projects/counters/contrib/bind9/bin/named/bind9.ver3.xsl - copied unchanged from r255202, head/contrib/bind9/bin/named/bind9.ver3.xsl projects/counters/contrib/bind9/bin/named/bind9.ver3.xsl.h - copied unchanged from r255202, head/contrib/bind9/bin/named/bind9.ver3.xsl.h projects/counters/contrib/bind9/doc/arm/man.dnssec-verify.html - copied unchanged from r255202, head/contrib/bind9/doc/arm/man.dnssec-verify.html projects/counters/contrib/bind9/lib/dns/clientinfo.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/clientinfo.c projects/counters/contrib/bind9/lib/dns/include/dns/clientinfo.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/include/dns/clientinfo.h projects/counters/contrib/bind9/lib/dns/include/dns/update.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/include/dns/update.h projects/counters/contrib/bind9/lib/dns/rdata/generic/eui48_108.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/eui48_108.c projects/counters/contrib/bind9/lib/dns/rdata/generic/eui48_108.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/eui48_108.h projects/counters/contrib/bind9/lib/dns/rdata/generic/eui64_109.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/eui64_109.c projects/counters/contrib/bind9/lib/dns/rdata/generic/eui64_109.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/eui64_109.h projects/counters/contrib/bind9/lib/dns/rdata/generic/l32_105.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/l32_105.c projects/counters/contrib/bind9/lib/dns/rdata/generic/l32_105.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/l32_105.h projects/counters/contrib/bind9/lib/dns/rdata/generic/l64_106.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/l64_106.c projects/counters/contrib/bind9/lib/dns/rdata/generic/l64_106.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/l64_106.h projects/counters/contrib/bind9/lib/dns/rdata/generic/lp_107.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/lp_107.c projects/counters/contrib/bind9/lib/dns/rdata/generic/lp_107.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/lp_107.h projects/counters/contrib/bind9/lib/dns/rdata/generic/naptr_35.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/naptr_35.c projects/counters/contrib/bind9/lib/dns/rdata/generic/naptr_35.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/naptr_35.h projects/counters/contrib/bind9/lib/dns/rdata/generic/nid_104.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/nid_104.c projects/counters/contrib/bind9/lib/dns/rdata/generic/nid_104.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/nid_104.h projects/counters/contrib/bind9/lib/dns/rdata/generic/uri_256.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/uri_256.c projects/counters/contrib/bind9/lib/dns/rdata/generic/uri_256.h - copied unchanged from r255202, head/contrib/bind9/lib/dns/rdata/generic/uri_256.h projects/counters/contrib/bind9/lib/dns/update.c - copied unchanged from r255202, head/contrib/bind9/lib/dns/update.c projects/counters/contrib/bind9/lib/isc/include/isc/pool.h - copied unchanged from r255202, head/contrib/bind9/lib/isc/include/isc/pool.h projects/counters/contrib/bind9/lib/isc/include/isc/queue.h - copied unchanged from r255202, head/contrib/bind9/lib/isc/include/isc/queue.h projects/counters/contrib/bind9/lib/isc/include/isc/regex.h - copied unchanged from r255202, head/contrib/bind9/lib/isc/include/isc/regex.h projects/counters/contrib/bind9/lib/isc/pool.c - copied unchanged from r255202, head/contrib/bind9/lib/isc/pool.c projects/counters/contrib/bind9/lib/isc/regex.c - copied unchanged from r255202, head/contrib/bind9/lib/isc/regex.c projects/counters/contrib/bmake/mk/stage-install.sh - copied unchanged from r255202, head/contrib/bmake/mk/stage-install.sh projects/counters/contrib/dialog/buildlist.c - copied unchanged from r255202, head/contrib/dialog/buildlist.c projects/counters/contrib/dialog/po/an.po - copied unchanged from r255202, head/contrib/dialog/po/an.po projects/counters/contrib/dialog/po/ia.po - copied unchanged from r255202, head/contrib/dialog/po/ia.po projects/counters/contrib/dialog/rangebox.c - copied unchanged from r255202, head/contrib/dialog/rangebox.c projects/counters/contrib/dialog/samples/buildlist - copied unchanged from r255202, head/contrib/dialog/samples/buildlist projects/counters/contrib/dialog/samples/buildlist2 - copied unchanged from r255202, head/contrib/dialog/samples/buildlist2 projects/counters/contrib/dialog/samples/checklist12 - copied unchanged from r255202, head/contrib/dialog/samples/checklist12 projects/counters/contrib/dialog/samples/dft-cancel - copied unchanged from r255202, head/contrib/dialog/samples/dft-cancel projects/counters/contrib/dialog/samples/dft-extra - copied unchanged from r255202, head/contrib/dialog/samples/dft-extra projects/counters/contrib/dialog/samples/dft-help - copied unchanged from r255202, head/contrib/dialog/samples/dft-help projects/counters/contrib/dialog/samples/dft-no - copied unchanged from r255202, head/contrib/dialog/samples/dft-no projects/counters/contrib/dialog/samples/fselect0 - copied unchanged from r255202, head/contrib/dialog/samples/fselect0 projects/counters/contrib/dialog/samples/menubox12 - copied unchanged from r255202, head/contrib/dialog/samples/menubox12 projects/counters/contrib/dialog/samples/rangebox - copied unchanged from r255202, head/contrib/dialog/samples/rangebox projects/counters/contrib/dialog/samples/rangebox2 - copied unchanged from r255202, head/contrib/dialog/samples/rangebox2 projects/counters/contrib/dialog/samples/rangebox3 - copied unchanged from r255202, head/contrib/dialog/samples/rangebox3 projects/counters/contrib/dialog/samples/rangebox4 - copied unchanged from r255202, head/contrib/dialog/samples/rangebox4 projects/counters/contrib/dialog/samples/treeview - copied unchanged from r255202, head/contrib/dialog/samples/treeview projects/counters/contrib/dialog/samples/treeview2 - copied unchanged from r255202, head/contrib/dialog/samples/treeview2 projects/counters/contrib/dialog/samples/with-dquotes - copied unchanged from r255202, head/contrib/dialog/samples/with-dquotes projects/counters/contrib/dialog/samples/with-squotes - copied unchanged from r255202, head/contrib/dialog/samples/with-squotes projects/counters/contrib/dialog/treeview.c - copied unchanged from r255202, head/contrib/dialog/treeview.c projects/counters/contrib/flex/ - copied from r255202, head/contrib/flex/ projects/counters/contrib/gcc/config/i386/ammintrin.h - copied unchanged from r255202, head/contrib/gcc/config/i386/ammintrin.h - copied from r255202, head/contrib/libexecinfo/ projects/counters/contrib/libgnuregex/ - copied from r255202, head/contrib/libgnuregex/ projects/counters/contrib/llvm/include/llvm/ADT/None.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/ADT/None.h projects/counters/contrib/llvm/include/llvm/ADT/SparseMultiSet.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/ADT/SparseMultiSet.h projects/counters/contrib/llvm/include/llvm/Analysis/CallGraphSCCPass.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Analysis/CallGraphSCCPass.h projects/counters/contrib/llvm/include/llvm/Analysis/CallPrinter.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Analysis/CallPrinter.h projects/counters/contrib/llvm/include/llvm/Analysis/PtrUseVisitor.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Analysis/PtrUseVisitor.h projects/counters/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h projects/counters/contrib/llvm/include/llvm/CodeGen/DAGCombine.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/CodeGen/DAGCombine.h projects/counters/contrib/llvm/include/llvm/CodeGen/LiveIntervalUnion.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/CodeGen/LiveIntervalUnion.h projects/counters/contrib/llvm/include/llvm/CodeGen/LiveRegMatrix.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/CodeGen/LiveRegMatrix.h projects/counters/contrib/llvm/include/llvm/CodeGen/MachineTraceMetrics.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/CodeGen/MachineTraceMetrics.h projects/counters/contrib/llvm/include/llvm/CodeGen/ScheduleDFS.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/CodeGen/ScheduleDFS.h projects/counters/contrib/llvm/include/llvm/CodeGen/VirtRegMap.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/CodeGen/VirtRegMap.h projects/counters/contrib/llvm/include/llvm/DebugInfo/DWARFFormValue.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/DebugInfo/DWARFFormValue.h projects/counters/contrib/llvm/include/llvm/ExecutionEngine/ObjectCache.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/ExecutionEngine/ObjectCache.h projects/counters/contrib/llvm/include/llvm/ExecutionEngine/SectionMemoryManager.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/ExecutionEngine/SectionMemoryManager.h projects/counters/contrib/llvm/include/llvm/IR/ - copied from r255202, head/contrib/llvm/include/llvm/IR/ projects/counters/contrib/llvm/include/llvm/IRReader/ - copied from r255202, head/contrib/llvm/include/llvm/IRReader/ projects/counters/contrib/llvm/include/llvm/InstVisitor.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/InstVisitor.h projects/counters/contrib/llvm/include/llvm/LinkAllIR.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/LinkAllIR.h projects/counters/contrib/llvm/include/llvm/MC/MCELF.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/MC/MCELF.h projects/counters/contrib/llvm/include/llvm/MC/MCELFStreamer.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/MC/MCELFStreamer.h projects/counters/contrib/llvm/include/llvm/MC/MCInstBuilder.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/MC/MCInstBuilder.h projects/counters/contrib/llvm/include/llvm/Option/ - copied from r255202, head/contrib/llvm/include/llvm/Option/ projects/counters/contrib/llvm/include/llvm/Support/ArrayRecycler.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Support/ArrayRecycler.h projects/counters/contrib/llvm/include/llvm/Support/CBindingWrapping.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Support/CBindingWrapping.h projects/counters/contrib/llvm/include/llvm/Support/Compression.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Support/Compression.h projects/counters/contrib/llvm/include/llvm/Support/ConvertUTF.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Support/ConvertUTF.h projects/counters/contrib/llvm/include/llvm/Support/ErrorOr.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Support/ErrorOr.h projects/counters/contrib/llvm/include/llvm/Support/Watchdog.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Support/Watchdog.h projects/counters/contrib/llvm/include/llvm/Support/YAMLTraits.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Support/YAMLTraits.h projects/counters/contrib/llvm/include/llvm/Target/CostTable.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Target/CostTable.h projects/counters/contrib/llvm/include/llvm/Transforms/ObjCARC.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Transforms/ObjCARC.h projects/counters/contrib/llvm/include/llvm/Transforms/Utils/BlackList.h - copied unchanged from r255202, head/contrib/llvm/include/llvm/Transforms/Utils/BlackList.h projects/counters/contrib/llvm/lib/Analysis/IPA/CallPrinter.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Analysis/IPA/CallPrinter.cpp projects/counters/contrib/llvm/lib/Analysis/IPA/InlineCost.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Analysis/IPA/InlineCost.cpp projects/counters/contrib/llvm/lib/Analysis/PtrUseVisitor.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Analysis/PtrUseVisitor.cpp projects/counters/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp projects/counters/contrib/llvm/lib/Bitcode/Reader/BitstreamReader.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Bitcode/Reader/BitstreamReader.cpp projects/counters/contrib/llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp - copied unchanged from r255202, head/contrib/llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp projects/counters/contrib/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp - copied unchanged from r255202, head/contrib/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp projects/counters/contrib/llvm/lib/CodeGen/ErlangGC.cpp - copied unchanged from r255202, head/contrib/llvm/lib/CodeGen/ErlangGC.cpp projects/counters/contrib/llvm/lib/CodeGen/TargetInstrInfo.cpp - copied unchanged from r255202, head/contrib/llvm/lib/CodeGen/TargetInstrInfo.cpp projects/counters/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp - copied unchanged from r255202, head/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp projects/counters/contrib/llvm/lib/CodeGen/TargetRegisterInfo.cpp - copied unchanged from r255202, head/contrib/llvm/lib/CodeGen/TargetRegisterInfo.cpp projects/counters/contrib/llvm/lib/DebugInfo/DWARFDebugFrame.cpp - copied unchanged from r255202, head/contrib/llvm/lib/DebugInfo/DWARFDebugFrame.cpp projects/counters/contrib/llvm/lib/DebugInfo/DWARFDebugFrame.h - copied unchanged from r255202, head/contrib/llvm/lib/DebugInfo/DWARFDebugFrame.h projects/counters/contrib/llvm/lib/DebugInfo/DWARFRelocMap.h - copied unchanged from r255202, head/contrib/llvm/lib/DebugInfo/DWARFRelocMap.h projects/counters/contrib/llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp - copied unchanged from r255202, head/contrib/llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp projects/counters/contrib/llvm/lib/IR/ - copied from r255202, head/contrib/llvm/lib/IR/ projects/counters/contrib/llvm/lib/IRReader/ - copied from r255202, head/contrib/llvm/lib/IRReader/ projects/counters/contrib/llvm/lib/Option/ - copied from r255202, head/contrib/llvm/lib/Option/ projects/counters/contrib/llvm/lib/Support/Compression.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Support/Compression.cpp projects/counters/contrib/llvm/lib/Support/ConvertUTF.c - copied unchanged from r255202, head/contrib/llvm/lib/Support/ConvertUTF.c projects/counters/contrib/llvm/lib/Support/ConvertUTFWrapper.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Support/ConvertUTFWrapper.cpp projects/counters/contrib/llvm/lib/Support/Unix/Watchdog.inc - copied unchanged from r255202, head/contrib/llvm/lib/Support/Unix/Watchdog.inc projects/counters/contrib/llvm/lib/Support/Watchdog.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Support/Watchdog.cpp projects/counters/contrib/llvm/lib/Support/Windows/Watchdog.inc - copied unchanged from r255202, head/contrib/llvm/lib/Support/Windows/Watchdog.inc projects/counters/contrib/llvm/lib/Support/YAMLTraits.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Support/YAMLTraits.cpp projects/counters/contrib/llvm/lib/Target/AArch64/ - copied from r255202, head/contrib/llvm/lib/Target/AArch64/ projects/counters/contrib/llvm/lib/Target/ARM/A15SDOptimizer.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/ARM/A15SDOptimizer.cpp projects/counters/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp projects/counters/contrib/llvm/lib/Target/ARM/LICENSE.TXT - copied unchanged from r255202, head/contrib/llvm/lib/Target/ARM/LICENSE.TXT projects/counters/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp projects/counters/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.h projects/counters/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOp.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOp.h projects/counters/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp projects/counters/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h projects/counters/contrib/llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp projects/counters/contrib/llvm/lib/Target/Hexagon/HexagonOperands.td - copied unchanged from r255202, head/contrib/llvm/lib/Target/Hexagon/HexagonOperands.td projects/counters/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInst.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInst.cpp projects/counters/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInst.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInst.h projects/counters/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp projects/counters/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h projects/counters/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsReginfo.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsReginfo.cpp projects/counters/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsReginfo.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsReginfo.h projects/counters/contrib/llvm/lib/Target/Mips/MicroMipsInstrFormats.td - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MicroMipsInstrFormats.td projects/counters/contrib/llvm/lib/Target/Mips/MicroMipsInstrInfo.td - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MicroMipsInstrInfo.td projects/counters/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp projects/counters/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.h projects/counters/contrib/llvm/lib/Target/Mips/Mips16ISelLowering.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/Mips16ISelLowering.cpp projects/counters/contrib/llvm/lib/Target/Mips/Mips16ISelLowering.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/Mips16ISelLowering.h projects/counters/contrib/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp projects/counters/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.h projects/counters/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp projects/counters/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.h projects/counters/contrib/llvm/lib/Target/Mips/MipsOs16.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsOs16.cpp projects/counters/contrib/llvm/lib/Target/Mips/MipsOs16.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsOs16.h projects/counters/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp projects/counters/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h projects/counters/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp projects/counters/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.h projects/counters/contrib/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp projects/counters/contrib/llvm/lib/Target/NVPTX/NVVMReflect.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/NVPTX/NVVMReflect.cpp projects/counters/contrib/llvm/lib/Target/PowerPC/AsmParser/ - copied from r255202, head/contrib/llvm/lib/Target/PowerPC/AsmParser/ projects/counters/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp projects/counters/contrib/llvm/lib/Target/R600/ - copied from r255202, head/contrib/llvm/lib/Target/R600/ projects/counters/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcBaseInfo.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcBaseInfo.h projects/counters/contrib/llvm/lib/Target/Sparc/SparcInstr64Bit.td - copied unchanged from r255202, head/contrib/llvm/lib/Target/Sparc/SparcInstr64Bit.td projects/counters/contrib/llvm/lib/Target/SystemZ/ - copied from r255202, head/contrib/llvm/lib/Target/SystemZ/ projects/counters/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp projects/counters/contrib/llvm/lib/Target/X86/X86PadShortFunction.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/X86/X86PadShortFunction.cpp projects/counters/contrib/llvm/lib/Target/X86/X86SchedHaswell.td - copied unchanged from r255202, head/contrib/llvm/lib/Target/X86/X86SchedHaswell.td projects/counters/contrib/llvm/lib/Target/X86/X86SchedSandyBridge.td - copied unchanged from r255202, head/contrib/llvm/lib/Target/X86/X86SchedSandyBridge.td projects/counters/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.cpp projects/counters/contrib/llvm/lib/Target/XCore/Disassembler/ - copied from r255202, head/contrib/llvm/lib/Target/XCore/Disassembler/ projects/counters/contrib/llvm/lib/Target/XCore/InstPrinter/ - copied from r255202, head/contrib/llvm/lib/Target/XCore/InstPrinter/ projects/counters/contrib/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp projects/counters/contrib/llvm/lib/Target/XCore/XCoreMCInstLower.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Target/XCore/XCoreMCInstLower.cpp projects/counters/contrib/llvm/lib/Target/XCore/XCoreMCInstLower.h - copied unchanged from r255202, head/contrib/llvm/lib/Target/XCore/XCoreMCInstLower.h projects/counters/contrib/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp projects/counters/contrib/llvm/lib/Transforms/ObjCARC/ - copied from r255202, head/contrib/llvm/lib/Transforms/ObjCARC/ projects/counters/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp projects/counters/contrib/llvm/lib/Transforms/Vectorize/VecUtils.cpp - copied unchanged from r255202, head/contrib/llvm/lib/Transforms/Vectorize/VecUtils.cpp projects/counters/contrib/llvm/lib/Transforms/Vectorize/VecUtils.h - copied unchanged from r255202, head/contrib/llvm/lib/Transforms/Vectorize/VecUtils.h projects/counters/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h projects/counters/contrib/llvm/tools/clang/include/clang/AST/ASTUnresolvedSet.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/AST/ASTUnresolvedSet.h projects/counters/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h projects/counters/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLNamedCharacterReferences.td - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLNamedCharacterReferences.td projects/counters/contrib/llvm/tools/clang/include/clang/AST/DeclOpenMP.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/AST/DeclOpenMP.h projects/counters/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAArch64.def - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAArch64.def projects/counters/contrib/llvm/tools/clang/include/clang/Basic/CapturedStmt.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Basic/CapturedStmt.h projects/counters/contrib/llvm/tools/clang/include/clang/Basic/CharInfo.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Basic/CharInfo.h projects/counters/contrib/llvm/tools/clang/include/clang/Basic/CommentOptions.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Basic/CommentOptions.h projects/counters/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def projects/counters/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.h projects/counters/contrib/llvm/tools/clang/include/clang/Basic/OperatorPrecedence.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Basic/OperatorPrecedence.h projects/counters/contrib/llvm/tools/clang/include/clang/Basic/TargetCXXABI.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Basic/TargetCXXABI.h projects/counters/contrib/llvm/tools/clang/include/clang/Format/ - copied from r255202, head/contrib/llvm/tools/clang/include/clang/Format/ projects/counters/contrib/llvm/tools/clang/include/clang/Lex/MacroArgs.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Lex/MacroArgs.h projects/counters/contrib/llvm/tools/clang/include/clang/Lex/PPConditionalDirectiveRecord.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Lex/PPConditionalDirectiveRecord.h projects/counters/contrib/llvm/tools/clang/include/clang/Serialization/GlobalModuleIndex.h - copied unchanged from r255202, head/contrib/llvm/tools/clang/include/clang/Serialization/GlobalModuleIndex.h projects/counters/contrib/llvm/tools/clang/lib/ARCMigrate/TransProtectedScope.cpp - copied unchanged from r255202, head/contrib/llvm/tools/clang/lib/ARCMigrate/TransProtectedScope.cpp projects/counters/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp - copied unchanged from r255202, head/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp projects/counters/contrib/llvm/tools/clang/lib/AST/DeclOpenMP.cpp - copied unchanged from r255202, head/contrib/llvm/tools/clang/lib/AST/DeclOpenMP.cpp projects/counters/contrib/llvm/tools/clang/lib/Basic/CharInfo.cpp - copied unchanged from r255202, head/contrib/llvm/tools/clang/lib/Basic/CharInfo.cpp projects/counters/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp - copied unchanged from r255202, head/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp projects/counters/contrib/llvm/tools/clang/lib/Basic/OperatorPrecedence.cpp - copied unchanged from r255202, head/contrib/llvm/tools/clang/lib/Basic/OperatorPrecedence.cpp projects/counters/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp - copied unchanged from r255202, head/contrib/llvm/tools/clang/lib/CodeGen/CGAtomi