Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Feb 2011 23:28:35 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/amd64/amd64 exception.S machdep.c trap.c src/sys/amd64/include segments.h trap.h src/sys/boot/common ufsread.c src/sys/cddl/compat/opensolaris/kern opensolaris_misc.c src/sys/cddl/compat/opensolaris/sys misc.h src/sys/cddl/contrib/opensolaris/uts/common/dtrace ...
Message-ID:  <201102282329.p1SNT4u2004903@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
rwatson     2011-02-28 23:28:35 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_8)
    sys/amd64/amd64      exception.S machdep.c trap.c 
    sys/amd64/include    segments.h trap.h 
    sys/boot/common      ufsread.c 
    sys/cddl/compat/opensolaris/kern opensolaris_misc.c 
    sys/cddl/compat/opensolaris/sys misc.h 
    sys/cddl/contrib/opensolaris/uts/common/dtrace dtrace.c 
                                                   fasttrap.c 
    sys/cddl/contrib/opensolaris/uts/common/sys dtrace.h 
                                                dtrace_impl.h 
                                                fasttrap.h 
    sys/cddl/dev/dtrace  dtrace_cddl.h dtrace_ioctl.c 
                         dtrace_load.c dtrace_unload.c 
    sys/cddl/dev/dtrace/amd64 dtrace_isa.c instr_size.c 
    sys/cddl/dev/dtrace/i386 dtrace_isa.c instr_size.c 
    sys/cddl/dev/systrace systrace.c 
    sys/i386/i386        exception.s machdep.c trap.c 
    sys/i386/include     segments.h trap.h 
    sys/kern             kern_dtrace.c kern_exec.c kern_exit.c 
                         kern_fork.c kern_priv.c kern_proc.c 
                         kern_sig.c kern_timeout.c subr_trap.c 
                         subr_witness.c vfs_cache.c vfs_lookup.c 
                         vfs_syscalls.c 
    sys/modules/dtrace   Makefile 
    sys/modules/dtrace/dtrace Makefile 
    sys/modules/dtrace/dtraceall dtraceall.c 
    sys/modules/dtrace/fasttrap Makefile 
    sys/net              vnet.c 
    sys/opencrypto       deflate.c 
    sys/security/mac     mac_framework.c mac_internal.h 
    sys/sys              dtrace_bsd.h param.h priv.h sdt.h 
                         signal.h sysent.h 
    sys/tools            vnode_if.awk 
    sys/x86/x86          local_apic.c 
  Added files:           (Branch: RELENG_8)
    sys/cddl/contrib/opensolaris/uts/common/sys fasttrap_impl.h 
    sys/cddl/contrib/opensolaris/uts/intel/dtrace fasttrap_isa.c 
    sys/cddl/contrib/opensolaris/uts/sparc/dtrace fasttrap_isa.c 
    sys/cddl/dev/dtrace/amd64 regset.h 
    sys/cddl/dev/dtrace/i386 regset.h 
  Log:
  SVN rev 219107 on 2011-02-28 23:28:35Z by rwatson
  
  Merge userspace DTrace support from head to stable/8:
  
  r209721:
  
    Merge from vendor-sys/opensolaris:
    * add fasttrap files
  
  r209731:
  
    Introduce USD_{SET,GET}{BASE,LIMIT}. These help setting up the user
    segment descriptor hi and lo values. Idea from Solaris.
  
    Reviewed by:  kib
  
  r209763:
  
    Fix style issues with the previous commit, namely
    use-tab-instead-of-space and don't use underscores in macro variables.
  
    Pointed out by:       bde
  
  r210292:
  
    Fix typo in comment.
  
  r210357:
  
    MFamd64:
      Add USD_GETBASE(), USD_SETBASE(), USD_GETLIMIT() and USD_SETLIMIT().
  
  r210611:
  
    Bump the witness pendlist to 768 to accomodate the increased number of
    spinlocks.
  
  r211553:
  
    Add sysname to struct opensolaris_utsname. This is needed by one DTrace
    test.
  
  r211566:
  
    Add a sysname char * to struct opensolaris_utsname.
  
  r211606:
  
    Add the FreeBSD definition for the fasttrap ioctls.
  
  r211607:
  
    Add a function compatibility function dtrace_instr_size_isa() that on
    FreeBSD does the same as dtrace_dis_isize().
  
  r211608:
  
    Kernel DTrace support for:
    o uregs  (sson@)
    o ustack (sson@)
    o /dev/dtrace/helper device (needed for USDT probes)
  
  r211610:
  
    Add more compatibility structure members needed by the upcoming fasttrap
    DTrace device.
  
  r211611:
  
    Destroy the helper device when unloading.
  
  r211613:
  
    Fix style issues.
  
  r211614:
  
    Bump KDTRACE_THREAD_ZERO and use M_ZERO as a malloc flag instead of
    calling bzero.
  
  r211615:
  
    Remove an elif and add an or-clause.
  
  r211616:
  
    Add an extra comment to the SDT probes definition. This allows us to get
    use '-' in probe names, matching the probe names in Solaris.
  
    Add userland SDT probes definitions to sys/sdt.h.
  
  r211617:
  
    Call the systrace_probe_func() when the error value.
  
  r211618:
  
    Port this to FreeBSD. We miss some suword functions, so we use copyout.
  
  r211738:
  
    Port the fasttrap provider to FreeBSD. This provider is responsible for
    injecting debugging probes in the userland programs and is the basis for
    the pid provider and the usdt provider.
  
  r211744:
  
    MD fasttrap implementation.
  
  r211745:
  
    Replace a pksignal() call with tdksignal().
  
    Pointed out by:       kib
  
  r211746:
  
    Update for the recent location of the fasttrap code.
  
  r211747:
  
    Replace structure assignments with explicity memcpy calls. This allows
    Clang to compile this file: it was using the builtin memcpy and we want
    to use the memcpy defined in gptboot.c. (Clang can't compile boot2 yet).
  
    Submitted by: Dimitry Andric <dimitry at andric.com>
    Reviewed by:  jhb
  
  r211751:
  
    Add a trap code for DTrace induced traps.
  
  r211752:
  
    Add two DTrace trap type values. Used by fasttrap.
  
  r211753:
  
    Enable fasttrap and make dtraceall depend on fasttrap when building i386
    or amd64.
  
  r211804:
  
    Call the necessary DTrace function pointers when we have different kinds
    of traps.
  
  r211813:
  
    Add the necessary DTrace function pointers.
  
  r211839:
  
    Sync DTrace bits with amd64 and fix the build.
  
  r211924:
  
    Register an interrupt vector for DTrace return probes. There is some
    code missing in lapic to make sure that we don't overwrite this entry,
    but this will be done on a sequent commit.
  
  r211925:
  
    Replace a memory barrier with a mutex barrier.
  
  r211926:
  
    Add the path necessary to find fasttrap_isa.h to CFLAGS.
  
  r211929:
  
    Remove debugging.
  
  r212004:
  
    When DTrace is enabled, make sure we don't overwrite the IDT_DTRACE_RET
    entry with an IRQ for some hardware component.
  
    Reviewed by:  jhb
  
  r212093:
  
    Make the /dev/dtrace/helper node have the mode 0660. This allows
    programs that refuse to run as root (pgsql) to install probes when their
    user is part of the wheel group.
  
  r212357:
  
    Fix two bugs in DTrace:
    * when the process exits, remove the associated USDT probes
    * when the process forks, duplicate the USDT probes.
  
  r212465:
  
    Avoid a LOR (sleepable after non-sleepable) in
    fasttrap_tracepoint_enable().
  
  r212494:
  
    Revamp locking a bit. This fixes three problems:
    * processes now can't go away while we are inserting probes (fixes a panic)
    * if a trap happens, we won't be holding the process lock (fixes a hang)
    * fix a LOR between the process lock and the fasttrap bucket list lock
  
    Thanks to kib for pointing some problems.
  
  r212568:
  
    Bump __FreeBSD_version to reflect the userland DTrace changes
  
  Sponsored by:                   The FreeBSD Foundation
  Userspace DTrace work by:       rpaulo
  
  Revision     Changes    Path
  1.140.2.10   +4 -0      src/sys/amd64/amd64/exception.S
  1.707.2.17   +7 -0      src/sys/amd64/amd64/machdep.c
  1.332.2.16   +56 -0     src/sys/amd64/amd64/trap.c
  1.43.2.2     +8 -0      src/sys/amd64/include/segments.h
  1.15.10.2    +2 -0      src/sys/amd64/include/trap.h
  1.19.2.2     +9 -4      src/sys/boot/common/ufsread.c
  1.6.2.2      +2 -1      src/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
  1.4.2.3      +1 -0      src/sys/cddl/compat/opensolaris/sys/misc.h
  1.10.2.3     +36 -30    src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
  1.3.2.1      +360 -215  src/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
  1.2.4.2      +5 -0      src/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h
  1.3.4.2      +1 -1      src/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h
  1.1.1.1.4.1  +5 -0      src/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap.h
  1.3.2.2      +199 -0    src/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h (new)
  1.4.2.2      +1904 -0   src/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c (new)
  1.1.2.2      +1597 -0   src/sys/cddl/contrib/opensolaris/uts/sparc/dtrace/fasttrap_isa.c (new)
  1.2.2.2      +107 -91   src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c
  1.1.4.2      +7 -0      src/sys/cddl/dev/dtrace/amd64/instr_size.c
  1.1.2.2      +127 -0    src/sys/cddl/dev/dtrace/amd64/regset.h (new)
  1.1.4.2      +33 -3     src/sys/cddl/dev/dtrace/dtrace_cddl.h
  1.2.2.2      +49 -0     src/sys/cddl/dev/dtrace/dtrace_ioctl.c
  1.2.2.3      +4 -1      src/sys/cddl/dev/dtrace/dtrace_load.c
  1.2.2.2      +1 -0      src/sys/cddl/dev/dtrace/dtrace_unload.c
  1.1.4.2      +159 -126  src/sys/cddl/dev/dtrace/i386/dtrace_isa.c
  1.1.4.2      +7 -0      src/sys/cddl/dev/dtrace/i386/instr_size.c
  1.1.2.2      +127 -0    src/sys/cddl/dev/dtrace/i386/regset.h (new)
  1.2.2.3      +12 -3     src/sys/cddl/dev/systrace/systrace.c
  1.122.2.4    +2 -0      src/sys/i386/i386/exception.s
  1.688.2.21   +10 -1     src/sys/i386/i386/machdep.c
  1.320.2.12   +39 -0     src/sys/i386/i386/trap.c
  1.39.2.3     +8 -0      src/sys/i386/include/segments.h
  1.17.2.2     +2 -0      src/sys/i386/include/trap.h
  1.2.4.2      +17 -12    src/sys/kern/kern_dtrace.c
  1.337.2.8    +3 -3      src/sys/kern/kern_exec.c
  1.330.2.5    +1 -1      src/sys/kern/kern_exit.c
  1.306.2.8    +16 -10    src/sys/kern/kern_fork.c
  1.9.2.2      +2 -2      src/sys/kern/kern_priv.c
  1.285.2.16   +6 -6      src/sys/kern/kern_proc.c
  1.372.2.15   +3 -3      src/sys/kern/kern_sig.c
  1.118.2.4    +2 -2      src/sys/kern/kern_timeout.c
  1.308.2.8    +2 -2      src/sys/kern/subr_trap.c
  1.269.2.5    +1 -1      src/sys/kern/subr_witness.c
  1.158.2.7    +16 -16    src/sys/kern/vfs_cache.c
  1.132.2.5    +2 -2      src/sys/kern/vfs_lookup.c
  1.487.2.10   +2 -2      src/sys/kern/vfs_syscalls.c
  1.6.2.2      +2 -4      src/sys/modules/dtrace/Makefile
  1.2.2.2      +1 -0      src/sys/modules/dtrace/dtrace/Makefile
  1.4.2.2      +1 -0      src/sys/modules/dtrace/dtraceall/dtraceall.c
  1.1.4.2      +3 -2      src/sys/modules/dtrace/fasttrap/Makefile
  1.8.2.11     +9 -5      src/sys/net/vnet.c
  1.5.2.6      +4 -4      src/sys/opencrypto/deflate.c
  1.147.2.2    +5 -3      src/sys/security/mac/mac_framework.c
  1.131.2.2    +10 -10    src/sys/security/mac/mac_internal.h
  1.3.2.3      +9 -0      src/sys/sys/dtrace_bsd.h
  1.433.2.13   +1 -1      src/sys/sys/param.h
  1.38.2.3     +1 -1      src/sys/sys/priv.h
  1.3.2.3      +60 -27    src/sys/sys/sdt.h
  1.58.2.5     +1 -0      src/sys/sys/signal.h
  1.60.2.5     +2 -1      src/sys/sys/sysent.h
  1.57.2.2     +2 -2      src/sys/tools/vnode_if.awk
  1.17.2.5     +25 -0     src/sys/x86/x86/local_apic.c



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