| Ramoops oops/panic logger |
| ========================= |
| |
| ramoops provides persistent RAM storage for oops and panics, so they can be |
| recovered after a reboot. This is a child-node of "/reserved-memory", and |
| 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" |
| |
| - reg: 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 kmsg dump. |
| (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) |
| |
| - mem-type: if present, sets the type of mapping is to be used to map the |
| reserved region. mem-type: 0 = write-combined (default), 1 = unbuffered, |
| 2 = cached. |
| |
| - unbuffered: deprecated, use mem_type instead. If present, and mem_type is |
| not specified, it is equivalent to mem_type = 1 and uses unbuffered mappings |
| to map the reserved region (defaults to buffered mappings mem_type = 0). If |
| both are specified -- "mem_type" overrides "unbuffered". |
| |
| - max-reason: if present, sets maximum type of kmsg dump reasons to store |
| (defaults to 2: log Oopses and Panics). This can be set to INT_MAX to |
| store all kmsg dumps. See include/linux/kmsg_dump.h KMSG_DUMP_* for other |
| kmsg dump reason values. Setting this to 0 (KMSG_DUMP_UNDEF), means the |
| reason filtering will be controlled by the printk.always_kmsg_dump boot |
| param: if unset, it will be KMSG_DUMP_OOPS, otherwise KMSG_DUMP_MAX. |
| |
| - no-dump-oops: deprecated, use max_reason instead. If present, and |
| max_reason is not specified, it is equivalent to max_reason = 1 |
| (KMSG_DUMP_PANIC). |
| |
| - flags: if present, pass ramoops behavioral flags (defaults to 0, |
| see include/linux/pstore_ram.h RAMOOPS_FLAG_* for flag values). |