blob: 503086f7f7c1b1a2890a2db3fa3ab4bacea37051 [file] [log] [blame]
Tony Luckca01d6d2010-12-28 14:25:21 -08001config PSTORE
Geliang Tangee1d2672015-10-20 00:39:03 -07002 tristate "Persistent store support"
Arnd Bergmann58eb5b672018-03-15 16:34:08 +01003 select CRYPTO if PSTORE_COMPRESS
Tony Luckca01d6d2010-12-28 14:25:21 -08004 default n
5 help
6 This option enables generic access to platform level
7 persistent storage via "pstore" filesystem that can
8 be mounted as /dev/pstore. Only useful if you have
9 a platform level driver that registers with pstore to
10 provide the data, so you probably should just go say "Y"
11 (or "M") to a platform specific persistent store driver
12 (e.g. ACPI_APEI on X86) which will select this for you.
13 If you don't have a platform persistent store driver,
14 say N.
Anton Vorontsov1894a252012-05-16 05:43:08 -070015
Geliang Tangcb3bee02018-03-09 18:51:07 +080016config PSTORE_DEFLATE_COMPRESS
Arnd Bergmann58eb5b672018-03-15 16:34:08 +010017 tristate "DEFLATE (ZLIB) compression"
Kees Cookfe1d4752018-03-06 15:57:38 -080018 default y
19 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080020 select CRYPTO_DEFLATE
Kees Cookfe1d4752018-03-06 15:57:38 -080021 help
Geliang Tangcb3bee02018-03-09 18:51:07 +080022 This option enables DEFLATE (also known as ZLIB) compression
23 algorithm support.
Geliang Tang8cfc8dd2016-02-18 22:04:22 +080024
25config PSTORE_LZO_COMPRESS
Arnd Bergmann58eb5b672018-03-15 16:34:08 +010026 tristate "LZO compression"
Kees Cookfe1d4752018-03-06 15:57:38 -080027 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080028 select CRYPTO_LZO
Kees Cookfe1d4752018-03-06 15:57:38 -080029 help
30 This option enables LZO compression algorithm support.
Geliang Tang8cfc8dd2016-02-18 22:04:22 +080031
32config PSTORE_LZ4_COMPRESS
Arnd Bergmann58eb5b672018-03-15 16:34:08 +010033 tristate "LZ4 compression"
Kees Cookfe1d4752018-03-06 15:57:38 -080034 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080035 select CRYPTO_LZ4
Kees Cookfe1d4752018-03-06 15:57:38 -080036 help
37 This option enables LZ4 compression algorithm support.
Geliang Tang239b7162018-02-13 14:40:39 +080038
39config PSTORE_LZ4HC_COMPRESS
Arnd Bergmann58eb5b672018-03-15 16:34:08 +010040 tristate "LZ4HC compression"
Kees Cookfe1d4752018-03-06 15:57:38 -080041 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080042 select CRYPTO_LZ4HC
Geliang Tang239b7162018-02-13 14:40:39 +080043 help
44 This option enables LZ4HC (high compression) mode algorithm.
45
46config PSTORE_842_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080047 bool "842 compression"
48 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080049 select CRYPTO_842
Geliang Tang239b7162018-02-13 14:40:39 +080050 help
51 This option enables 842 compression algorithm support.
52
Geliang Tang1021bcf2018-08-01 19:23:37 +080053config PSTORE_ZSTD_COMPRESS
54 bool "zstd compression"
55 depends on PSTORE
56 select CRYPTO_ZSTD
57 help
58 This option enables zstd compression algorithm support.
59
Kees Cookfe1d4752018-03-06 15:57:38 -080060config PSTORE_COMPRESS
61 def_bool y
62 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080063 depends on PSTORE_DEFLATE_COMPRESS || PSTORE_LZO_COMPRESS || \
Kees Cookfe1d4752018-03-06 15:57:38 -080064 PSTORE_LZ4_COMPRESS || PSTORE_LZ4HC_COMPRESS || \
Geliang Tang1021bcf2018-08-01 19:23:37 +080065 PSTORE_842_COMPRESS || PSTORE_ZSTD_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080066
67choice
68 prompt "Default pstore compression algorithm"
69 depends on PSTORE_COMPRESS
70 help
71 This option chooses the default active compression algorithm.
72 This change be changed at boot with "pstore.compress=..." on
73 the kernel command line.
74
Geliang Tang1021bcf2018-08-01 19:23:37 +080075 Currently, pstore has support for 6 compression algorithms:
76 deflate, lzo, lz4, lz4hc, 842 and zstd.
Kees Cookfe1d4752018-03-06 15:57:38 -080077
Geliang Tangcb3bee02018-03-09 18:51:07 +080078 The default compression algorithm is deflate.
Kees Cookfe1d4752018-03-06 15:57:38 -080079
Geliang Tangcb3bee02018-03-09 18:51:07 +080080 config PSTORE_DEFLATE_COMPRESS_DEFAULT
Arnd Bergmann58eb5b672018-03-15 16:34:08 +010081 bool "deflate" if PSTORE_DEFLATE_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080082
83 config PSTORE_LZO_COMPRESS_DEFAULT
Arnd Bergmann58eb5b672018-03-15 16:34:08 +010084 bool "lzo" if PSTORE_LZO_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080085
86 config PSTORE_LZ4_COMPRESS_DEFAULT
Arnd Bergmann58eb5b672018-03-15 16:34:08 +010087 bool "lz4" if PSTORE_LZ4_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080088
89 config PSTORE_LZ4HC_COMPRESS_DEFAULT
Arnd Bergmann58eb5b672018-03-15 16:34:08 +010090 bool "lz4hc" if PSTORE_LZ4HC_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080091
92 config PSTORE_842_COMPRESS_DEFAULT
Arnd Bergmann58eb5b672018-03-15 16:34:08 +010093 bool "842" if PSTORE_842_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080094
Geliang Tang1021bcf2018-08-01 19:23:37 +080095 config PSTORE_ZSTD_COMPRESS_DEFAULT
96 bool "zstd" if PSTORE_ZSTD_COMPRESS
97
Geliang Tang8cfc8dd2016-02-18 22:04:22 +080098endchoice
99
Kees Cookfe1d4752018-03-06 15:57:38 -0800100config PSTORE_COMPRESS_DEFAULT
101 string
102 depends on PSTORE_COMPRESS
Geliang Tangcb3bee02018-03-09 18:51:07 +0800103 default "deflate" if PSTORE_DEFLATE_COMPRESS_DEFAULT
Kees Cookfe1d4752018-03-06 15:57:38 -0800104 default "lzo" if PSTORE_LZO_COMPRESS_DEFAULT
105 default "lz4" if PSTORE_LZ4_COMPRESS_DEFAULT
106 default "lz4hc" if PSTORE_LZ4HC_COMPRESS_DEFAULT
107 default "842" if PSTORE_842_COMPRESS_DEFAULT
Geliang Tang1021bcf2018-08-01 19:23:37 +0800108 default "zstd" if PSTORE_ZSTD_COMPRESS_DEFAULT
Kees Cookfe1d4752018-03-06 15:57:38 -0800109
Anton Vorontsovf29e5952012-05-26 06:20:19 -0700110config PSTORE_CONSOLE
111 bool "Log kernel console messages"
112 depends on PSTORE
113 help
114 When the option is enabled, pstore will log all kernel
115 messages, even if no oops or panic happened.
116
Mark Salyzyn9d5438f2015-01-16 16:01:10 -0800117config PSTORE_PMSG
118 bool "Log user space messages"
119 depends on PSTORE
120 help
121 When the option is enabled, pstore will export a character
122 interface /dev/pmsg0 to log user space messages. On reboot
123 data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID].
124
125 If unsure, say N.
126
Anton Vorontsov060287b2012-07-09 17:10:41 -0700127config PSTORE_FTRACE
128 bool "Persistent function tracer"
129 depends on PSTORE
130 depends on FUNCTION_TRACER
Anton Vorontsov65f8c952012-07-17 14:26:15 -0700131 depends on DEBUG_FS
Anton Vorontsov060287b2012-07-09 17:10:41 -0700132 help
133 With this option kernel traces function calls into a persistent
134 ram buffer that can be decoded and dumped after reboot through
135 pstore filesystem. It can be used to determine what function
136 was last called before a reset or panic.
137
138 If unsure, say N.
139
Anton Vorontsov1894a252012-05-16 05:43:08 -0700140config PSTORE_RAM
141 tristate "Log panic/oops to a RAM buffer"
Anton Vorontsov1894a252012-05-16 05:43:08 -0700142 depends on PSTORE
Anton Vorontsovcddb8752012-05-17 00:15:08 -0700143 depends on HAS_IOMEM
144 depends on HAVE_MEMBLOCK
145 select REED_SOLOMON
146 select REED_SOLOMON_ENC8
147 select REED_SOLOMON_DEC8
Anton Vorontsov1894a252012-05-16 05:43:08 -0700148 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
Mauro Carvalho Chehab8c27ceff32016-10-18 10:12:27 -0200155 For more information, see Documentation/admin-guide/ramoops.rst.