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