06 Aug, 2016

1 commit

  • Instead of a ramoops-specific node, use a child node of /reserved-memory.
    This requires that of_platform_device_create() be explicitly called
    for the node, though, since "/reserved-memory" does not have its own
    "compatible" property.

    Suggested-by: Rob Herring
    Signed-off-by: Kees Cook
    Acked-by: Rob Herring

    Kees Cook
     

15 Jun, 2016

1 commit

  • ramoops is one of the remaining places where ARM vendors still rely on
    board-specific shims. Device Tree lets us replace those shims with
    generic code.

    These bindings mirror the ramoops module parameters, with two small
    differences:

    (1) dump_oops becomes an optional "no-dump-oops" property, since ramoops
    sets dump_oops=1 by default.

    (2) mem_type=1 becomes the more self-explanatory "unbuffered" property.

    Signed-off-by: Greg Hackmann
    [fixed platform_get_drvdata() crash, thanks to Brian Norris]
    [switched from u64 to u32 to simplify code, various whitespace fixes]
    [use dev_of_node() to gain code-elimination for CONFIG_OF=n]
    Signed-off-by: Kees Cook

    Greg Hackmann
     

12 Dec, 2014

1 commit

  • On some ARMs the memory can be mapped pgprot_noncached() and still
    be working for atomic operations. As pointed out by Colin Cross
    , in some cases you do want to use
    pgprot_noncached() if the SoC supports it to see a debug printk
    just before a write hanging the system.

    On ARMs, the atomic operations on strongly ordered memory are
    implementation defined. So let's provide an optional kernel parameter
    for configuring pgprot_noncached(), and use pgprot_writecombine() by
    default.

    Cc: Arnd Bergmann
    Cc: Rob Herring
    Cc: Randy Dunlap
    Cc: Anton Vorontsov
    Cc: Colin Cross
    Cc: Olof Johansson
    Cc: Russell King
    Cc: stable@vger.kernel.org
    Acked-by: Kees Cook
    Signed-off-by: Tony Lindgren
    Signed-off-by: Tony Luck

    Tony Lindgren
     

07 Sep, 2012

1 commit

  • With this patch we no longer reuse function tracer infrastructure, now
    we register our own tracer back-end via a debugfs knob.

    It's a bit more code, but that is the only downside. On the bright side we
    have:

    - Ability to make persistent_ram module removable (when needed, we can
    move ftrace_ops struct into a module). Note that persistent_ram is still
    not removable for other reasons, but with this patch it's just one
    thing less to worry about;

    - Pstore part is more isolated from the generic function tracer. We tried
    it already by registering our own tracer in available_tracers, but that
    way we're loosing ability to see the traces while we record them to
    pstore. This solution is somewhere in the middle: we only register
    "internal ftracer" back-end, but not the "front-end";

    - When there is only pstore tracing enabled, the kernel will only write
    to the pstore buffer, omitting function tracer buffer (which, of course,
    still can be enabled via 'echo function > current_tracer').

    Suggested-by: Steven Rostedt
    Signed-off-by: Anton Vorontsov

    Anton Vorontsov
     

18 Jul, 2012

1 commit


14 Jun, 2012

1 commit


17 May, 2012

1 commit

  • This is now straightforward: just introduce a module parameter and pass
    the needed value to persistent_ram_new().

    Signed-off-by: Anton Vorontsov
    Acked-by: Marco Stornelli
    Acked-by: Kees Cook
    Signed-off-by: Greg Kroah-Hartman

    Anton Vorontsov
     

16 May, 2012

2 commits

  • Since ramoops was converted to pstore, it has nothing to do with character
    devices nowadays. Instead, today it is just a RAM backend for pstore.

    The patch just moves things around. There are a few changes were needed
    because of the move:

    1. Kconfig and Makefiles fixups, of course.

    2. In pstore/ram.c we have to play a bit with MODULE_PARAM_PREFIX, this
    is needed to keep user experience the same as with ramoops driver
    (i.e. so that ramoops.foo kernel command line arguments would still
    work).

    Signed-off-by: Anton Vorontsov
    Acked-by: Marco Stornelli
    Acked-by: Kees Cook
    Signed-off-by: Greg Kroah-Hartman

    Anton Vorontsov
     
  • Instead of using /dev/mem directly and forcing userspace to know (or
    extract) where the platform has defined persistent memory, how many slots
    it has, the sizes, etc, use the common pstore infrastructure to handle
    Oops gathering and extraction. This presents a much easier to use
    filesystem-based view to the memory region. This also means that any
    other tools that are written to understand pstore will automatically be
    able to process ramoops too.

    Signed-off-by: Kees Cook
    Cc: Tony Luck
    Cc: Marco Stornelli
    Cc: Arnd Bergmann
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Kees Cook
     

14 Aug, 2011

1 commit