Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
ca01d6dd | 2 | config PSTORE |
ee1d2674 | 3 | tristate "Persistent store support" |
58eb5b67 | 4 | select CRYPTO if PSTORE_COMPRESS |
ca01d6dd TL |
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. | |
1894a253 | 16 | |
26fecbf7 VLS |
17 | config PSTORE_DEFAULT_KMSG_BYTES |
18 | int "Default kernel log storage space" if EXPERT | |
19 | depends on PSTORE | |
20 | default "10240" | |
21 | help | |
22 | Defines default size of pstore kernel log storage. | |
23 | Can be enlarged if needed, not recommended to shrink it. | |
24 | ||
cb3bee03 | 25 | config PSTORE_DEFLATE_COMPRESS |
58eb5b67 | 26 | tristate "DEFLATE (ZLIB) compression" |
fe1d4758 KC |
27 | default y |
28 | depends on PSTORE | |
cb3bee03 | 29 | select CRYPTO_DEFLATE |
fe1d4758 | 30 | help |
cb3bee03 GT |
31 | This option enables DEFLATE (also known as ZLIB) compression |
32 | algorithm support. | |
8cfc8ddc GT |
33 | |
34 | config PSTORE_LZO_COMPRESS | |
58eb5b67 | 35 | tristate "LZO compression" |
fe1d4758 | 36 | depends on PSTORE |
cb3bee03 | 37 | select CRYPTO_LZO |
fe1d4758 KC |
38 | help |
39 | This option enables LZO compression algorithm support. | |
8cfc8ddc GT |
40 | |
41 | config PSTORE_LZ4_COMPRESS | |
58eb5b67 | 42 | tristate "LZ4 compression" |
fe1d4758 | 43 | depends on PSTORE |
cb3bee03 | 44 | select CRYPTO_LZ4 |
fe1d4758 KC |
45 | help |
46 | This option enables LZ4 compression algorithm support. | |
239b7161 GT |
47 | |
48 | config PSTORE_LZ4HC_COMPRESS | |
58eb5b67 | 49 | tristate "LZ4HC compression" |
fe1d4758 | 50 | depends on PSTORE |
cb3bee03 | 51 | select CRYPTO_LZ4HC |
239b7161 GT |
52 | help |
53 | This option enables LZ4HC (high compression) mode algorithm. | |
54 | ||
55 | config PSTORE_842_COMPRESS | |
fe1d4758 KC |
56 | bool "842 compression" |
57 | depends on PSTORE | |
cb3bee03 | 58 | select CRYPTO_842 |
239b7161 GT |
59 | help |
60 | This option enables 842 compression algorithm support. | |
61 | ||
1021bcf4 GT |
62 | config PSTORE_ZSTD_COMPRESS |
63 | bool "zstd compression" | |
64 | depends on PSTORE | |
65 | select CRYPTO_ZSTD | |
66 | help | |
67 | This option enables zstd compression algorithm support. | |
68 | ||
fe1d4758 KC |
69 | config PSTORE_COMPRESS |
70 | def_bool y | |
71 | depends on PSTORE | |
cb3bee03 | 72 | depends on PSTORE_DEFLATE_COMPRESS || PSTORE_LZO_COMPRESS || \ |
fe1d4758 | 73 | PSTORE_LZ4_COMPRESS || PSTORE_LZ4HC_COMPRESS || \ |
1021bcf4 | 74 | PSTORE_842_COMPRESS || PSTORE_ZSTD_COMPRESS |
fe1d4758 KC |
75 | |
76 | choice | |
77 | prompt "Default pstore compression algorithm" | |
78 | depends on PSTORE_COMPRESS | |
79 | help | |
80 | This option chooses the default active compression algorithm. | |
81 | This change be changed at boot with "pstore.compress=..." on | |
82 | the kernel command line. | |
83 | ||
1021bcf4 GT |
84 | Currently, pstore has support for 6 compression algorithms: |
85 | deflate, lzo, lz4, lz4hc, 842 and zstd. | |
fe1d4758 | 86 | |
cb3bee03 | 87 | The default compression algorithm is deflate. |
fe1d4758 | 88 | |
cb3bee03 | 89 | config PSTORE_DEFLATE_COMPRESS_DEFAULT |
58eb5b67 | 90 | bool "deflate" if PSTORE_DEFLATE_COMPRESS |
fe1d4758 KC |
91 | |
92 | config PSTORE_LZO_COMPRESS_DEFAULT | |
58eb5b67 | 93 | bool "lzo" if PSTORE_LZO_COMPRESS |
fe1d4758 KC |
94 | |
95 | config PSTORE_LZ4_COMPRESS_DEFAULT | |
58eb5b67 | 96 | bool "lz4" if PSTORE_LZ4_COMPRESS |
fe1d4758 KC |
97 | |
98 | config PSTORE_LZ4HC_COMPRESS_DEFAULT | |
58eb5b67 | 99 | bool "lz4hc" if PSTORE_LZ4HC_COMPRESS |
fe1d4758 KC |
100 | |
101 | config PSTORE_842_COMPRESS_DEFAULT | |
58eb5b67 | 102 | bool "842" if PSTORE_842_COMPRESS |
fe1d4758 | 103 | |
1021bcf4 GT |
104 | config PSTORE_ZSTD_COMPRESS_DEFAULT |
105 | bool "zstd" if PSTORE_ZSTD_COMPRESS | |
106 | ||
8cfc8ddc GT |
107 | endchoice |
108 | ||
fe1d4758 KC |
109 | config PSTORE_COMPRESS_DEFAULT |
110 | string | |
111 | depends on PSTORE_COMPRESS | |
cb3bee03 | 112 | default "deflate" if PSTORE_DEFLATE_COMPRESS_DEFAULT |
fe1d4758 KC |
113 | default "lzo" if PSTORE_LZO_COMPRESS_DEFAULT |
114 | default "lz4" if PSTORE_LZ4_COMPRESS_DEFAULT | |
115 | default "lz4hc" if PSTORE_LZ4HC_COMPRESS_DEFAULT | |
116 | default "842" if PSTORE_842_COMPRESS_DEFAULT | |
1021bcf4 | 117 | default "zstd" if PSTORE_ZSTD_COMPRESS_DEFAULT |
fe1d4758 | 118 | |
f29e5956 AV |
119 | config PSTORE_CONSOLE |
120 | bool "Log kernel console messages" | |
121 | depends on PSTORE | |
122 | help | |
123 | When the option is enabled, pstore will log all kernel | |
124 | messages, even if no oops or panic happened. | |
125 | ||
9d5438f4 MS |
126 | config PSTORE_PMSG |
127 | bool "Log user space messages" | |
128 | depends on PSTORE | |
2f4fec59 | 129 | select RT_MUTEXES |
9d5438f4 MS |
130 | help |
131 | When the option is enabled, pstore will export a character | |
132 | interface /dev/pmsg0 to log user space messages. On reboot | |
133 | data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID]. | |
134 | ||
135 | If unsure, say N. | |
136 | ||
060287b8 AV |
137 | config PSTORE_FTRACE |
138 | bool "Persistent function tracer" | |
139 | depends on PSTORE | |
140 | depends on FUNCTION_TRACER | |
65f8c95e | 141 | depends on DEBUG_FS |
060287b8 AV |
142 | help |
143 | With this option kernel traces function calls into a persistent | |
144 | ram buffer that can be decoded and dumped after reboot through | |
145 | pstore filesystem. It can be used to determine what function | |
146 | was last called before a reset or panic. | |
147 | ||
148 | If unsure, say N. | |
149 | ||
1894a253 AV |
150 | config PSTORE_RAM |
151 | tristate "Log panic/oops to a RAM buffer" | |
1894a253 | 152 | depends on PSTORE |
cddb8751 | 153 | depends on HAS_IOMEM |
cddb8751 AV |
154 | select REED_SOLOMON |
155 | select REED_SOLOMON_ENC8 | |
156 | select REED_SOLOMON_DEC8 | |
1894a253 AV |
157 | help |
158 | This enables panic and oops messages to be logged to a circular | |
159 | buffer in RAM where it can be read back at some later point. | |
160 | ||
161 | Note that for historical reasons, the module will be named | |
162 | "ramoops.ko". | |
163 | ||
8c27ceff | 164 | For more information, see Documentation/admin-guide/ramoops.rst. |
d26c3321 WL |
165 | |
166 | config PSTORE_ZONE | |
167 | tristate | |
168 | depends on PSTORE | |
169 | help | |
170 | The common layer for pstore/blk (and pstore/ram in the future) | |
171 | to manage storage in zones. | |
17639f67 WL |
172 | |
173 | config PSTORE_BLK | |
174 | tristate "Log panic/oops to a block device" | |
175 | depends on PSTORE | |
176 | depends on BLOCK | |
177 | select PSTORE_ZONE | |
178 | default n | |
179 | help | |
180 | This enables panic and oops message to be logged to a block dev | |
181 | where it can be read back at some later point. | |
182 | ||
649304c9 WL |
183 | For more information, see Documentation/admin-guide/pstore-blk.rst |
184 | ||
17639f67 WL |
185 | If unsure, say N. |
186 | ||
187 | config PSTORE_BLK_BLKDEV | |
188 | string "block device identifier" | |
189 | depends on PSTORE_BLK | |
190 | default "" | |
191 | help | |
192 | Which block device should be used for pstore/blk. | |
193 | ||
cc9c4d1b | 194 | It accepts the following variants: |
17639f67 WL |
195 | 1) <hex_major><hex_minor> device number in hexadecimal representation, |
196 | with no leading 0x, for example b302. | |
cc9c4d1b WL |
197 | 2) /dev/<disk_name> represents the device name of disk |
198 | 3) /dev/<disk_name><decimal> represents the device name and number | |
17639f67 WL |
199 | of partition - device number of disk plus the partition number |
200 | 4) /dev/<disk_name>p<decimal> - same as the above, this form is | |
201 | used when disk name of partitioned disk ends with a digit. | |
202 | 5) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the | |
203 | unique id of a partition if the partition table provides it. | |
204 | The UUID may be either an EFI/GPT UUID, or refer to an MSDOS | |
205 | partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero- | |
206 | filled hex representation of the 32-bit "NT disk signature", and PP | |
207 | is a zero-filled hex representation of the 1-based partition number. | |
208 | 6) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation | |
209 | to a partition with a known unique id. | |
210 | 7) <major>:<minor> major and minor number of the device separated by | |
211 | a colon. | |
212 | ||
213 | NOTE that, both Kconfig and module parameters can configure | |
214 | pstore/blk, but module parameters have priority over Kconfig. | |
215 | ||
216 | config PSTORE_BLK_KMSG_SIZE | |
217 | int "Size in Kbytes of kmsg dump log to store" | |
218 | depends on PSTORE_BLK | |
219 | default 64 | |
220 | help | |
221 | This just sets size of kmsg dump (oops, panic, etc) log for | |
222 | pstore/blk. The size is in KB and must be a multiple of 4. | |
223 | ||
224 | NOTE that, both Kconfig and module parameters can configure | |
225 | pstore/blk, but module parameters have priority over Kconfig. | |
226 | ||
227 | config PSTORE_BLK_MAX_REASON | |
228 | int "Maximum kmsg dump reason to store" | |
229 | depends on PSTORE_BLK | |
230 | default 2 | |
231 | help | |
232 | The maximum reason for kmsg dumps to store. The default is | |
233 | 2 (KMSG_DUMP_OOPS), see include/linux/kmsg_dump.h's | |
234 | enum kmsg_dump_reason for more details. | |
235 | ||
236 | NOTE that, both Kconfig and module parameters can configure | |
237 | pstore/blk, but module parameters have priority over Kconfig. | |
0dc06826 WL |
238 | |
239 | config PSTORE_BLK_PMSG_SIZE | |
240 | int "Size in Kbytes of pmsg to store" | |
241 | depends on PSTORE_BLK | |
242 | depends on PSTORE_PMSG | |
243 | default 64 | |
244 | help | |
245 | This just sets size of pmsg (pmsg_size) for pstore/blk. The size is | |
246 | in KB and must be a multiple of 4. | |
247 | ||
248 | NOTE that, both Kconfig and module parameters can configure | |
249 | pstore/blk, but module parameters have priority over Kconfig. | |
cc9c4d1b WL |
250 | |
251 | config PSTORE_BLK_CONSOLE_SIZE | |
252 | int "Size in Kbytes of console log to store" | |
253 | depends on PSTORE_BLK | |
254 | depends on PSTORE_CONSOLE | |
255 | default 64 | |
256 | help | |
257 | This just sets size of console log (console_size) to store via | |
258 | pstore/blk. The size is in KB and must be a multiple of 4. | |
259 | ||
260 | NOTE that, both Kconfig and module parameters can configure | |
261 | pstore/blk, but module parameters have priority over Kconfig. | |
34327e9f WL |
262 | |
263 | config PSTORE_BLK_FTRACE_SIZE | |
264 | int "Size in Kbytes of ftrace log to store" | |
265 | depends on PSTORE_BLK | |
266 | depends on PSTORE_FTRACE | |
267 | default 64 | |
268 | help | |
269 | This just sets size of ftrace log (ftrace_size) for pstore/blk. The | |
270 | size is in KB and must be a multiple of 4. | |
271 | ||
272 | NOTE that, both Kconfig and module parameters can configure | |
273 | pstore/blk, but module parameters have priority over Kconfig. |