1# SPDX-License-Identifier: GPL-2.0-only 2config PSTORE 3 tristate "Persistent store support" 4 select CRYPTO if PSTORE_COMPRESS 5 default n 6 help 7 This option enables generic access to platform level 8 persistent storage via "pstore" filesystem that can 9 be mounted as /dev/pstore. Only useful if you have 10 a platform level driver that registers with pstore to 11 provide the data, so you probably should just go say "Y" 12 (or "M") to a platform specific persistent store driver 13 (e.g. ACPI_APEI on X86) which will select this for you. 14 If you don't have a platform persistent store driver, 15 say N. 16 17config PSTORE_DEFLATE_COMPRESS 18 tristate "DEFLATE (ZLIB) compression" 19 default y 20 depends on PSTORE 21 select CRYPTO_DEFLATE 22 help 23 This option enables DEFLATE (also known as ZLIB) compression 24 algorithm support. 25 26config PSTORE_LZO_COMPRESS 27 tristate "LZO compression" 28 depends on PSTORE 29 select CRYPTO_LZO 30 help 31 This option enables LZO compression algorithm support. 32 33config PSTORE_LZ4_COMPRESS 34 tristate "LZ4 compression" 35 depends on PSTORE 36 select CRYPTO_LZ4 37 help 38 This option enables LZ4 compression algorithm support. 39 40config PSTORE_LZ4HC_COMPRESS 41 tristate "LZ4HC compression" 42 depends on PSTORE 43 select CRYPTO_LZ4HC 44 help 45 This option enables LZ4HC (high compression) mode algorithm. 46 47config PSTORE_842_COMPRESS 48 bool "842 compression" 49 depends on PSTORE 50 select CRYPTO_842 51 help 52 This option enables 842 compression algorithm support. 53 54config PSTORE_ZSTD_COMPRESS 55 bool "zstd compression" 56 depends on PSTORE 57 select CRYPTO_ZSTD 58 help 59 This option enables zstd compression algorithm support. 60 61config PSTORE_COMPRESS 62 def_bool y 63 depends on PSTORE 64 depends on PSTORE_DEFLATE_COMPRESS || PSTORE_LZO_COMPRESS || \ 65 PSTORE_LZ4_COMPRESS || PSTORE_LZ4HC_COMPRESS || \ 66 PSTORE_842_COMPRESS || PSTORE_ZSTD_COMPRESS 67 68choice 69 prompt "Default pstore compression algorithm" 70 depends on PSTORE_COMPRESS 71 help 72 This option chooses the default active compression algorithm. 73 This change be changed at boot with "pstore.compress=..." on 74 the kernel command line. 75 76 Currently, pstore has support for 6 compression algorithms: 77 deflate, lzo, lz4, lz4hc, 842 and zstd. 78 79 The default compression algorithm is deflate. 80 81 config PSTORE_DEFLATE_COMPRESS_DEFAULT 82 bool "deflate" if PSTORE_DEFLATE_COMPRESS 83 84 config PSTORE_LZO_COMPRESS_DEFAULT 85 bool "lzo" if PSTORE_LZO_COMPRESS 86 87 config PSTORE_LZ4_COMPRESS_DEFAULT 88 bool "lz4" if PSTORE_LZ4_COMPRESS 89 90 config PSTORE_LZ4HC_COMPRESS_DEFAULT 91 bool "lz4hc" if PSTORE_LZ4HC_COMPRESS 92 93 config PSTORE_842_COMPRESS_DEFAULT 94 bool "842" if PSTORE_842_COMPRESS 95 96 config PSTORE_ZSTD_COMPRESS_DEFAULT 97 bool "zstd" if PSTORE_ZSTD_COMPRESS 98 99endchoice 100 101config PSTORE_COMPRESS_DEFAULT 102 string 103 depends on PSTORE_COMPRESS 104 default "deflate" if PSTORE_DEFLATE_COMPRESS_DEFAULT 105 default "lzo" if PSTORE_LZO_COMPRESS_DEFAULT 106 default "lz4" if PSTORE_LZ4_COMPRESS_DEFAULT 107 default "lz4hc" if PSTORE_LZ4HC_COMPRESS_DEFAULT 108 default "842" if PSTORE_842_COMPRESS_DEFAULT 109 default "zstd" if PSTORE_ZSTD_COMPRESS_DEFAULT 110 111config PSTORE_CONSOLE 112 bool "Log kernel console messages" 113 depends on PSTORE 114 help 115 When the option is enabled, pstore will log all kernel 116 messages, even if no oops or panic happened. 117 118config PSTORE_PMSG 119 bool "Log user space messages" 120 depends on PSTORE 121 help 122 When the option is enabled, pstore will export a character 123 interface /dev/pmsg0 to log user space messages. On reboot 124 data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID]. 125 126 If unsure, say N. 127 128config PSTORE_FTRACE 129 bool "Persistent function tracer" 130 depends on PSTORE 131 depends on FUNCTION_TRACER 132 depends on DEBUG_FS 133 help 134 With this option kernel traces function calls into a persistent 135 ram buffer that can be decoded and dumped after reboot through 136 pstore filesystem. It can be used to determine what function 137 was last called before a reset or panic. 138 139 If unsure, say N. 140 141config PSTORE_RAM 142 tristate "Log panic/oops to a RAM buffer" 143 depends on PSTORE 144 depends on HAS_IOMEM 145 select REED_SOLOMON 146 select REED_SOLOMON_ENC8 147 select REED_SOLOMON_DEC8 148 help 149 This enables panic and oops messages to be logged to a circular 150 buffer in RAM where it can be read back at some later point. 151 152 Note that for historical reasons, the module will be named 153 "ramoops.ko". 154 155 For more information, see Documentation/admin-guide/ramoops.rst. 156