1Ramoops oops/panic logger 2========================= 3 4ramoops provides persistent RAM storage for oops and panics, so they can be 5recovered after a reboot. This is a child-node of "/reserved-memory", and 6is named "ramoops" after the backend, rather than "pstore" which is the 7subsystem. 8 9Parts of this storage may be set aside for other persistent log buffers, such 10as kernel log messages, or for optional ECC error-correction data. The total 11size of these optional buffers must fit in the reserved region. 12 13Any remaining space will be used for a circular buffer of oops and panic 14records. These records have a configurable size, with a size of 0 indicating 15that they should be disabled. 16 17At least one of "record-size", "console-size", "ftrace-size", or "pmsg-size" 18must be set non-zero, but are otherwise optional as listed below. 19 20 21Required properties: 22 23- compatible: must be "ramoops" 24 25- reg: region of memory that is preserved between reboots 26 27 28Optional properties: 29 30- ecc-size: enables ECC support and specifies ECC buffer size in bytes 31 (defaults to 0: no ECC) 32 33- record-size: maximum size in bytes of each kmsg dump. 34 (defaults to 0: disabled) 35 36- console-size: size in bytes of log buffer reserved for kernel messages 37 (defaults to 0: disabled) 38 39- ftrace-size: size in bytes of log buffer reserved for function tracing and 40 profiling (defaults to 0: disabled) 41 42- pmsg-size: size in bytes of log buffer reserved for userspace messages 43 (defaults to 0: disabled) 44 45- mem-type: if present, sets the type of mapping is to be used to map the 46 reserved region. mem-type: 0 = write-combined (default), 1 = unbuffered, 47 2 = cached. 48 49- unbuffered: deprecated, use mem_type instead. If present, and mem_type is 50 not specified, it is equivalent to mem_type = 1 and uses unbuffered mappings 51 to map the reserved region (defaults to buffered mappings mem_type = 0). If 52 both are specified -- "mem_type" overrides "unbuffered". 53 54- max-reason: if present, sets maximum type of kmsg dump reasons to store 55 (defaults to 2: log Oopses and Panics). This can be set to INT_MAX to 56 store all kmsg dumps. See include/linux/kmsg_dump.h KMSG_DUMP_* for other 57 kmsg dump reason values. Setting this to 0 (KMSG_DUMP_UNDEF), means the 58 reason filtering will be controlled by the printk.always_kmsg_dump boot 59 param: if unset, it will be KMSG_DUMP_OOPS, otherwise KMSG_DUMP_MAX. 60 61- no-dump-oops: deprecated, use max_reason instead. If present, and 62 max_reason is not specified, it is equivalent to max_reason = 1 63 (KMSG_DUMP_PANIC). 64 65- flags: if present, pass ramoops behavioral flags (defaults to 0, 66 see include/linux/pstore_ram.h RAMOOPS_FLAG_* for flag values). 67