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 <ghackmann@google.com> [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 <keescook@chromium.org>
49 lines
1.7 KiB
Plaintext
49 lines
1.7 KiB
Plaintext
Ramoops oops/panic logger
|
|
=========================
|
|
|
|
ramoops provides persistent RAM storage for oops and panics, so they can be
|
|
recovered after a reboot. It is a backend to pstore, so this node is named
|
|
"ramoops" after the backend, rather than "pstore" which is the subsystem.
|
|
|
|
Parts of this storage may be set aside for other persistent log buffers, such
|
|
as kernel log messages, or for optional ECC error-correction data. The total
|
|
size of these optional buffers must fit in the reserved region.
|
|
|
|
Any remaining space will be used for a circular buffer of oops and panic
|
|
records. These records have a configurable size, with a size of 0 indicating
|
|
that they should be disabled.
|
|
|
|
At least one of "record-size", "console-size", "ftrace-size", or "pmsg-size"
|
|
must be set non-zero, but are otherwise optional as listed below.
|
|
|
|
|
|
Required properties:
|
|
|
|
- compatible: must be "ramoops"
|
|
|
|
- memory-region: phandle to a region of memory that is preserved between
|
|
reboots
|
|
|
|
|
|
Optional properties:
|
|
|
|
- ecc-size: enables ECC support and specifies ECC buffer size in bytes
|
|
(defaults to 0: no ECC)
|
|
|
|
- record-size: maximum size in bytes of each dump done on oops/panic
|
|
(defaults to 0: disabled)
|
|
|
|
- console-size: size in bytes of log buffer reserved for kernel messages
|
|
(defaults to 0: disabled)
|
|
|
|
- ftrace-size: size in bytes of log buffer reserved for function tracing and
|
|
profiling (defaults to 0: disabled)
|
|
|
|
- pmsg-size: size in bytes of log buffer reserved for userspace messages
|
|
(defaults to 0: disabled)
|
|
|
|
- unbuffered: if present, use unbuffered mappings to map the reserved region
|
|
(defaults to buffered mappings)
|
|
|
|
- no-dump-oops: if present, only dump panics (defaults to panics and oops)
|