xref: /openbmc/linux/fs/pstore/Kconfig (revision ba61bb17)
1config 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
16config 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
25config 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
32config 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
39config 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
46config 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
53config 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
60choice
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
88endchoice
89
90config 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
99config 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
106config 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
116config 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
129config 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.
145