blob: 49b407eab846323d73f385fc97c7c1207b9eea31 [file] [log] [blame]
Tony Luckca01d6d2010-12-28 14:25:21 -08001config PSTORE
Geliang Tangee1d2672015-10-20 00:39:03 -07002 tristate "Persistent store support"
Tony Luckca01d6d2010-12-28 14:25:21 -08003 default n
4 help
5 This option enables generic access to platform level
6 persistent storage via "pstore" filesystem that can
7 be mounted as /dev/pstore. Only useful if you have
8 a platform level driver that registers with pstore to
9 provide the data, so you probably should just go say "Y"
10 (or "M") to a platform specific persistent store driver
11 (e.g. ACPI_APEI on X86) which will select this for you.
12 If you don't have a platform persistent store driver,
13 say N.
Anton Vorontsov1894a252012-05-16 05:43:08 -070014
Geliang Tangcb3bee02018-03-09 18:51:07 +080015config PSTORE_DEFLATE_COMPRESS
16 bool "DEFLATE (ZLIB) compression"
Kees Cookfe1d4752018-03-06 15:57:38 -080017 default y
18 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080019 select CRYPTO_DEFLATE
Kees Cookfe1d4752018-03-06 15:57:38 -080020 help
Geliang Tangcb3bee02018-03-09 18:51:07 +080021 This option enables DEFLATE (also known as ZLIB) compression
22 algorithm support.
Geliang Tang8cfc8dd2016-02-18 22:04:22 +080023
24config PSTORE_LZO_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080025 bool "LZO compression"
26 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080027 select CRYPTO_LZO
Kees Cookfe1d4752018-03-06 15:57:38 -080028 help
29 This option enables LZO compression algorithm support.
Geliang Tang8cfc8dd2016-02-18 22:04:22 +080030
31config PSTORE_LZ4_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080032 bool "LZ4 compression"
33 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080034 select CRYPTO_LZ4
Kees Cookfe1d4752018-03-06 15:57:38 -080035 help
36 This option enables LZ4 compression algorithm support.
Geliang Tang239b7162018-02-13 14:40:39 +080037
38config PSTORE_LZ4HC_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080039 bool "LZ4HC compression"
40 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080041 select CRYPTO_LZ4HC
Geliang Tang239b7162018-02-13 14:40:39 +080042 help
43 This option enables LZ4HC (high compression) mode algorithm.
44
45config PSTORE_842_COMPRESS
Kees Cookfe1d4752018-03-06 15:57:38 -080046 bool "842 compression"
47 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080048 select CRYPTO_842
Geliang Tang239b7162018-02-13 14:40:39 +080049 help
50 This option enables 842 compression algorithm support.
51
Kees Cookfe1d4752018-03-06 15:57:38 -080052config PSTORE_COMPRESS
53 def_bool y
54 depends on PSTORE
Geliang Tangcb3bee02018-03-09 18:51:07 +080055 depends on PSTORE_DEFLATE_COMPRESS || PSTORE_LZO_COMPRESS || \
Kees Cookfe1d4752018-03-06 15:57:38 -080056 PSTORE_LZ4_COMPRESS || PSTORE_LZ4HC_COMPRESS || \
57 PSTORE_842_COMPRESS
58
59choice
60 prompt "Default pstore compression algorithm"
61 depends on PSTORE_COMPRESS
62 help
63 This option chooses the default active compression algorithm.
64 This change be changed at boot with "pstore.compress=..." on
65 the kernel command line.
66
67 Currently, pstore has support for 5 compression algorithms:
Geliang Tangcb3bee02018-03-09 18:51:07 +080068 deflate, lzo, lz4, lz4hc and 842.
Kees Cookfe1d4752018-03-06 15:57:38 -080069
Geliang Tangcb3bee02018-03-09 18:51:07 +080070 The default compression algorithm is deflate.
Kees Cookfe1d4752018-03-06 15:57:38 -080071
Geliang Tangcb3bee02018-03-09 18:51:07 +080072 config PSTORE_DEFLATE_COMPRESS_DEFAULT
73 bool "deflate" if PSTORE_DEFLATE_COMPRESS=y
Kees Cookfe1d4752018-03-06 15:57:38 -080074
75 config PSTORE_LZO_COMPRESS_DEFAULT
76 bool "lzo" if PSTORE_LZO_COMPRESS=y
77
78 config PSTORE_LZ4_COMPRESS_DEFAULT
79 bool "lz4" if PSTORE_LZ4_COMPRESS=y
80
81 config PSTORE_LZ4HC_COMPRESS_DEFAULT
82 bool "lz4hc" if PSTORE_LZ4HC_COMPRESS=y
83
84 config PSTORE_842_COMPRESS_DEFAULT
85 bool "842" if PSTORE_842_COMPRESS=y
86
Geliang Tang8cfc8dd2016-02-18 22:04:22 +080087endchoice
88
Kees Cookfe1d4752018-03-06 15:57:38 -080089config PSTORE_COMPRESS_DEFAULT
90 string
91 depends on PSTORE_COMPRESS
Geliang Tangcb3bee02018-03-09 18:51:07 +080092 default "deflate" if PSTORE_DEFLATE_COMPRESS_DEFAULT
Kees Cookfe1d4752018-03-06 15:57:38 -080093 default "lzo" if PSTORE_LZO_COMPRESS_DEFAULT
94 default "lz4" if PSTORE_LZ4_COMPRESS_DEFAULT
95 default "lz4hc" if PSTORE_LZ4HC_COMPRESS_DEFAULT
96 default "842" if PSTORE_842_COMPRESS_DEFAULT
97
Anton Vorontsovf29e5952012-05-26 06:20:19 -070098config PSTORE_CONSOLE
99 bool "Log kernel console messages"
100 depends on PSTORE
101 help
102 When the option is enabled, pstore will log all kernel
103 messages, even if no oops or panic happened.
104
Mark Salyzyn9d5438f2015-01-16 16:01:10 -0800105config PSTORE_PMSG
106 bool "Log user space messages"
107 depends on PSTORE
108 help
109 When the option is enabled, pstore will export a character
110 interface /dev/pmsg0 to log user space messages. On reboot
111 data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID].
112
113 If unsure, say N.
114
Anton Vorontsov060287b2012-07-09 17:10:41 -0700115config PSTORE_FTRACE
116 bool "Persistent function tracer"
117 depends on PSTORE
118 depends on FUNCTION_TRACER
Anton Vorontsov65f8c952012-07-17 14:26:15 -0700119 depends on DEBUG_FS
Anton Vorontsov060287b2012-07-09 17:10:41 -0700120 help
121 With this option kernel traces function calls into a persistent
122 ram buffer that can be decoded and dumped after reboot through
123 pstore filesystem. It can be used to determine what function
124 was last called before a reset or panic.
125
126 If unsure, say N.
127
Anton Vorontsov1894a252012-05-16 05:43:08 -0700128config PSTORE_RAM
129 tristate "Log panic/oops to a RAM buffer"
Anton Vorontsov1894a252012-05-16 05:43:08 -0700130 depends on PSTORE
Anton Vorontsovcddb8752012-05-17 00:15:08 -0700131 depends on HAS_IOMEM
132 depends on HAVE_MEMBLOCK
133 select REED_SOLOMON
134 select REED_SOLOMON_ENC8
135 select REED_SOLOMON_DEC8
Anton Vorontsov1894a252012-05-16 05:43:08 -0700136 help
137 This enables panic and oops messages to be logged to a circular
138 buffer in RAM where it can be read back at some later point.
139
140 Note that for historical reasons, the module will be named
141 "ramoops.ko".
142
Mauro Carvalho Chehab8c27ceff32016-10-18 10:12:27 -0200143 For more information, see Documentation/admin-guide/ramoops.rst.