20 May, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (127 commits)
    sh: update defconfigs.
    sh: Fix up the NUMA build for recent LMB changes.
    sh64: provide a stub per_cpu_trap_init() definition.
    sh: fix up CONFIG_KEXEC=n build.
    sh: fixup the docbook paths for clock framework shuffling.
    driver core: Early dev_name() depends on slab_is_available().
    sh: simplify WARN usage in SH clock driver
    sh: Check return value of clk_get on ms7724
    sh: Check return value of clk_get on ecovec24
    sh: move sh clock-cpg.c contents to drivers/sh/clk-cpg.c
    sh: move sh clock.c contents to drivers/sh/clk.
    sh: move sh asm/clock.h contents to linux/sh_clk.h V2
    sh: remove unused clock lookup
    sh: switch boards to clkdev
    sh: switch sh4-202 to clkdev
    sh: switch shx3 to clkdev
    sh: switch sh7757 to clkdev
    sh: switch sh7763 to clkdev
    sh: switch sh7780 to clkdev
    sh: switch sh7786 to clkdev
    ...

    Linus Torvalds
     

01 May, 2010

1 commit

  • The current policies of breakpoints in x86 and SH are the following:

    - task bound breakpoints can only break on userspace addresses
    - cpu wide breakpoints can only break on kernel addresses

    The former rule prevents ptrace breakpoints to be set to trigger on
    kernel addresses, which is good. But as a side effect, we can't
    breakpoint on kernel addresses for task bound breakpoints.

    The latter rule simply makes no sense, there is no reason why we
    can't set breakpoints on userspace while performing cpu bound
    profiles.

    We want the following new policies:

    - task bound breakpoint can set userspace address breakpoints, with
    no particular privilege required.
    - task bound breakpoints can set kernelspace address breakpoints but
    must be privileged to do that.
    - cpu bound breakpoints can do what they want as they are privileged
    already.

    To implement these new policies, this patch checks if we are dealing
    with a kernel address breakpoint, if so and if the exclude_kernel
    parameter is set, we tell the user that the breakpoint is invalid,
    which makes a good generic ptrace protection.
    If we don't have exclude_kernel, ensure the user has the right
    privileges as kernel breakpoints are quite sensitive (risk of
    trap recursion attacks and global performance impacts).

    [ Paul Mundt: keep addr space check for sh signal delivery and fix
    double function declaration]

    Signed-off-by: Frederic Weisbecker
    Cc: Will Deacon
    Cc: Mahesh Salgaonkar
    Cc: K. Prasad
    Cc: Paul Mundt
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Jason Wessel
    Cc: Ingo Molnar
    Signed-off-by: Paul Mundt

    Frederic Weisbecker
     

21 Apr, 2010

1 commit


01 Mar, 2010

1 commit


05 Jan, 2010

1 commit

  • This is the next big chunk of hw_breakpoint support. This decouples
    the SH-4A support from the core and moves it out in to its own stub,
    following many of the conventions established with the perf events
    layering.

    In addition to extending SH-4A support to encapsulate the remainder
    of the UBC channels, clock framework support for handling the UBC
    interface clock is added as well, allowing for dynamic clock gating.

    This also fixes up a regression introduced by the SIGTRAP handling that
    broke the ksym_tracer, to the extent that the current support works well
    with all of the ksym_tracer/ptrace/kgdb. The kprobes singlestep code will
    follow in turn.

    With this in place, the remaining UBC variants (SH-2A and SH-4) can now
    be trivially plugged in.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

28 Dec, 2009

1 commit


22 Dec, 2009

1 commit

  • Presently the hw_breakpoint code is the primary notifier dispatch for
    breakpoint traps, although it's only UBC traps that are of particular
    interest there. This patches in a check to allow non-UBC generated
    breakpoints to pass through down the remainder of the notifier chain,
    giving things like kgdb a chance at getting notified.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

21 Dec, 2009

1 commit


08 Dec, 2009

1 commit

  • This adds preliminary support for the SH-4A UBC to the hw-breakpoints API.
    Presently only a single channel is implemented, and the ptrace interface
    still needs to be converted. This is the first step to cleaning up the
    long-standing UBC mess, making the UBC more generally accessible, and
    finally making it SMP safe.

    An additional abstraction will be layered on top of this as with the perf
    events code to permit the various CPU families to wire up support for
    their own specific UBCs, as many variations exist.

    Signed-off-by: Paul Mundt

    Paul Mundt