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