1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "Persistent store support"
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,
16 config PSTORE_DEFAULT_KMSG_BYTES
17 int "Default kernel log storage space" if EXPERT
21 Defines default size of pstore kernel log storage.
22 Can be enlarged if needed, not recommended to shrink it.
24 config PSTORE_COMPRESS
25 bool "Pstore compression (deflate)"
31 Whether pstore records should be compressed before being written to
32 the backing store. This is implemented using the zlib 'deflate'
33 algorithm, using the library implementation instead of using the full
34 blown crypto API. This reduces the risk of secondary oopses or other
35 problems while pstore is recording panic metadata.
38 bool "Log kernel console messages"
41 When the option is enabled, pstore will log all kernel
42 messages, even if no oops or panic happened.
45 bool "Log user space messages"
49 When the option is enabled, pstore will export a character
50 interface /dev/pmsg0 to log user space messages. On reboot
51 data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID].
56 bool "Persistent function tracer"
58 depends on FUNCTION_TRACER
61 With this option kernel traces function calls into a persistent
62 ram buffer that can be decoded and dumped after reboot through
63 pstore filesystem. It can be used to determine what function
64 was last called before a reset or panic.
69 tristate "Log panic/oops to a RAM buffer"
73 select REED_SOLOMON_ENC8
74 select REED_SOLOMON_DEC8
76 This enables panic and oops messages to be logged to a circular
77 buffer in RAM where it can be read back at some later point.
79 Note that for historical reasons, the module will be named
82 For more information, see Documentation/admin-guide/ramoops.rst.
88 The common layer for pstore/blk (and pstore/ram in the future)
89 to manage storage in zones.
92 tristate "Log panic/oops to a block device"
98 This enables panic and oops message to be logged to a block dev
99 where it can be read back at some later point.
101 For more information, see Documentation/admin-guide/pstore-blk.rst
105 config PSTORE_BLK_BLKDEV
106 string "block device identifier"
107 depends on PSTORE_BLK
110 Which block device should be used for pstore/blk.
112 It accepts the following variants:
113 1) <hex_major><hex_minor> device number in hexadecimal representation,
114 with no leading 0x, for example b302.
115 2) /dev/<disk_name> represents the device name of disk
116 3) /dev/<disk_name><decimal> represents the device name and number
117 of partition - device number of disk plus the partition number
118 4) /dev/<disk_name>p<decimal> - same as the above, this form is
119 used when disk name of partitioned disk ends with a digit.
120 5) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the
121 unique id of a partition if the partition table provides it.
122 The UUID may be either an EFI/GPT UUID, or refer to an MSDOS
123 partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero-
124 filled hex representation of the 32-bit "NT disk signature", and PP
125 is a zero-filled hex representation of the 1-based partition number.
126 6) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation
127 to a partition with a known unique id.
128 7) <major>:<minor> major and minor number of the device separated by
131 NOTE that, both Kconfig and module parameters can configure
132 pstore/blk, but module parameters have priority over Kconfig.
134 config PSTORE_BLK_KMSG_SIZE
135 int "Size in Kbytes of kmsg dump log to store"
136 depends on PSTORE_BLK
139 This just sets size of kmsg dump (oops, panic, etc) log for
140 pstore/blk. The size is in KB and must be a multiple of 4.
142 NOTE that, both Kconfig and module parameters can configure
143 pstore/blk, but module parameters have priority over Kconfig.
145 config PSTORE_BLK_MAX_REASON
146 int "Maximum kmsg dump reason to store"
147 depends on PSTORE_BLK
150 The maximum reason for kmsg dumps to store. The default is
151 2 (KMSG_DUMP_OOPS), see include/linux/kmsg_dump.h's
152 enum kmsg_dump_reason for more details.
154 NOTE that, both Kconfig and module parameters can configure
155 pstore/blk, but module parameters have priority over Kconfig.
157 config PSTORE_BLK_PMSG_SIZE
158 int "Size in Kbytes of pmsg to store"
159 depends on PSTORE_BLK
160 depends on PSTORE_PMSG
163 This just sets size of pmsg (pmsg_size) for pstore/blk. The size is
164 in KB and must be a multiple of 4.
166 NOTE that, both Kconfig and module parameters can configure
167 pstore/blk, but module parameters have priority over Kconfig.
169 config PSTORE_BLK_CONSOLE_SIZE
170 int "Size in Kbytes of console log to store"
171 depends on PSTORE_BLK
172 depends on PSTORE_CONSOLE
175 This just sets size of console log (console_size) to store via
176 pstore/blk. The size is in KB and must be a multiple of 4.
178 NOTE that, both Kconfig and module parameters can configure
179 pstore/blk, but module parameters have priority over Kconfig.
181 config PSTORE_BLK_FTRACE_SIZE
182 int "Size in Kbytes of ftrace log to store"
183 depends on PSTORE_BLK
184 depends on PSTORE_FTRACE
187 This just sets size of ftrace log (ftrace_size) for pstore/blk. The
188 size is in KB and must be a multiple of 4.
190 NOTE that, both Kconfig and module parameters can configure
191 pstore/blk, but module parameters have priority over Kconfig.