]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - fs/pstore/Kconfig
Merge tag 'usb-serial-5.9-rc5' of https://git.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-hirsute-kernel.git] / fs / pstore / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config 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
17 config 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
26 config 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
33 config 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
40 config 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
47 config 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
54 config 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
61 config 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
68 choice
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
99 endchoice
100
101 config 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
111 config 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
118 config 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
128 config 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
141 config 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
157 config PSTORE_ZONE
158 tristate
159 depends on PSTORE
160 help
161 The common layer for pstore/blk (and pstore/ram in the future)
162 to manage storage in zones.
163
164 config PSTORE_BLK
165 tristate "Log panic/oops to a block device"
166 depends on PSTORE
167 depends on BLOCK
168 select PSTORE_ZONE
169 default n
170 help
171 This enables panic and oops message to be logged to a block dev
172 where it can be read back at some later point.
173
174 For more information, see Documentation/admin-guide/pstore-blk.rst
175
176 If unsure, say N.
177
178 config PSTORE_BLK_BLKDEV
179 string "block device identifier"
180 depends on PSTORE_BLK
181 default ""
182 help
183 Which block device should be used for pstore/blk.
184
185 It accepts the following variants:
186 1) <hex_major><hex_minor> device number in hexadecimal representation,
187 with no leading 0x, for example b302.
188 2) /dev/<disk_name> represents the device name of disk
189 3) /dev/<disk_name><decimal> represents the device name and number
190 of partition - device number of disk plus the partition number
191 4) /dev/<disk_name>p<decimal> - same as the above, this form is
192 used when disk name of partitioned disk ends with a digit.
193 5) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the
194 unique id of a partition if the partition table provides it.
195 The UUID may be either an EFI/GPT UUID, or refer to an MSDOS
196 partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero-
197 filled hex representation of the 32-bit "NT disk signature", and PP
198 is a zero-filled hex representation of the 1-based partition number.
199 6) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation
200 to a partition with a known unique id.
201 7) <major>:<minor> major and minor number of the device separated by
202 a colon.
203
204 NOTE that, both Kconfig and module parameters can configure
205 pstore/blk, but module parameters have priority over Kconfig.
206
207 config PSTORE_BLK_KMSG_SIZE
208 int "Size in Kbytes of kmsg dump log to store"
209 depends on PSTORE_BLK
210 default 64
211 help
212 This just sets size of kmsg dump (oops, panic, etc) log for
213 pstore/blk. The size is in KB and must be a multiple of 4.
214
215 NOTE that, both Kconfig and module parameters can configure
216 pstore/blk, but module parameters have priority over Kconfig.
217
218 config PSTORE_BLK_MAX_REASON
219 int "Maximum kmsg dump reason to store"
220 depends on PSTORE_BLK
221 default 2
222 help
223 The maximum reason for kmsg dumps to store. The default is
224 2 (KMSG_DUMP_OOPS), see include/linux/kmsg_dump.h's
225 enum kmsg_dump_reason for more details.
226
227 NOTE that, both Kconfig and module parameters can configure
228 pstore/blk, but module parameters have priority over Kconfig.
229
230 config PSTORE_BLK_PMSG_SIZE
231 int "Size in Kbytes of pmsg to store"
232 depends on PSTORE_BLK
233 depends on PSTORE_PMSG
234 default 64
235 help
236 This just sets size of pmsg (pmsg_size) for pstore/blk. The size is
237 in KB and must be a multiple of 4.
238
239 NOTE that, both Kconfig and module parameters can configure
240 pstore/blk, but module parameters have priority over Kconfig.
241
242 config PSTORE_BLK_CONSOLE_SIZE
243 int "Size in Kbytes of console log to store"
244 depends on PSTORE_BLK
245 depends on PSTORE_CONSOLE
246 default 64
247 help
248 This just sets size of console log (console_size) to store via
249 pstore/blk. The size is in KB and must be a multiple of 4.
250
251 NOTE that, both Kconfig and module parameters can configure
252 pstore/blk, but module parameters have priority over Kconfig.
253
254 config PSTORE_BLK_FTRACE_SIZE
255 int "Size in Kbytes of ftrace log to store"
256 depends on PSTORE_BLK
257 depends on PSTORE_FTRACE
258 default 64
259 help
260 This just sets size of ftrace log (ftrace_size) for pstore/blk. The
261 size is in KB and must be a multiple of 4.
262
263 NOTE that, both Kconfig and module parameters can configure
264 pstore/blk, but module parameters have priority over Kconfig.