192 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2config PSTORE3 tristate "Persistent store support"4 default n5 help6 This option enables generic access to platform level7 persistent storage via "pstore" filesystem that can8 be mounted as /dev/pstore. Only useful if you have9 a platform level driver that registers with pstore to10 provide the data, so you probably should just go say "Y"11 (or "M") to a platform specific persistent store driver12 (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_DEFAULT_KMSG_BYTES17 int "Default kernel log storage space" if EXPERT18 depends on PSTORE19 default "10240"20 help21 Defines default size of pstore kernel log storage.22 Can be enlarged if needed, not recommended to shrink it.23 24config PSTORE_COMPRESS25 bool "Pstore compression (deflate)"26 depends on PSTORE27 select ZLIB_INFLATE28 select ZLIB_DEFLATE29 default y30 help31 Whether pstore records should be compressed before being written to32 the backing store. This is implemented using the zlib 'deflate'33 algorithm, using the library implementation instead of using the full34 blown crypto API. This reduces the risk of secondary oopses or other35 problems while pstore is recording panic metadata.36 37config PSTORE_CONSOLE38 bool "Log kernel console messages"39 depends on PSTORE40 help41 When the option is enabled, pstore will log all kernel42 messages, even if no oops or panic happened.43 44config PSTORE_PMSG45 bool "Log user space messages"46 depends on PSTORE47 select RT_MUTEXES48 help49 When the option is enabled, pstore will export a character50 interface /dev/pmsg0 to log user space messages. On reboot51 data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID].52 53 If unsure, say N.54 55config PSTORE_FTRACE56 bool "Persistent function tracer"57 depends on PSTORE58 depends on FUNCTION_TRACER59 depends on DEBUG_FS60 help61 With this option kernel traces function calls into a persistent62 ram buffer that can be decoded and dumped after reboot through63 pstore filesystem. It can be used to determine what function64 was last called before a reset or panic.65 66 If unsure, say N.67 68config PSTORE_RAM69 tristate "Log panic/oops to a RAM buffer"70 depends on PSTORE71 depends on HAS_IOMEM72 select REED_SOLOMON73 select REED_SOLOMON_ENC874 select REED_SOLOMON_DEC875 help76 This enables panic and oops messages to be logged to a circular77 buffer in RAM where it can be read back at some later point.78 79 Note that for historical reasons, the module will be named80 "ramoops.ko".81 82 For more information, see Documentation/admin-guide/ramoops.rst.83 84config PSTORE_ZONE85 tristate86 depends on PSTORE87 help88 The common layer for pstore/blk (and pstore/ram in the future)89 to manage storage in zones.90 91config PSTORE_BLK92 tristate "Log panic/oops to a block device"93 depends on PSTORE94 depends on BLOCK95 select PSTORE_ZONE96 default n97 help98 This enables panic and oops message to be logged to a block dev99 where it can be read back at some later point.100 101 For more information, see Documentation/admin-guide/pstore-blk.rst102 103 If unsure, say N.104 105config PSTORE_BLK_BLKDEV106 string "block device identifier"107 depends on PSTORE_BLK108 default ""109 help110 Which block device should be used for pstore/blk.111 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 disk116 3) /dev/<disk_name><decimal> represents the device name and number117 of partition - device number of disk plus the partition number118 4) /dev/<disk_name>p<decimal> - same as the above, this form is119 used when disk name of partitioned disk ends with a digit.120 5) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the121 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 MSDOS123 partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero-124 filled hex representation of the 32-bit "NT disk signature", and PP125 is a zero-filled hex representation of the 1-based partition number.126 6) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation127 to a partition with a known unique id.128 7) <major>:<minor> major and minor number of the device separated by129 a colon.130 131 NOTE that, both Kconfig and module parameters can configure132 pstore/blk, but module parameters have priority over Kconfig.133 134config PSTORE_BLK_KMSG_SIZE135 int "Size in Kbytes of kmsg dump log to store"136 depends on PSTORE_BLK137 default 64138 help139 This just sets size of kmsg dump (oops, panic, etc) log for140 pstore/blk. The size is in KB and must be a multiple of 4.141 142 NOTE that, both Kconfig and module parameters can configure143 pstore/blk, but module parameters have priority over Kconfig.144 145config PSTORE_BLK_MAX_REASON146 int "Maximum kmsg dump reason to store"147 depends on PSTORE_BLK148 default 2149 help150 The maximum reason for kmsg dumps to store. The default is151 2 (KMSG_DUMP_OOPS), see include/linux/kmsg_dump.h's152 enum kmsg_dump_reason for more details.153 154 NOTE that, both Kconfig and module parameters can configure155 pstore/blk, but module parameters have priority over Kconfig.156 157config PSTORE_BLK_PMSG_SIZE158 int "Size in Kbytes of pmsg to store"159 depends on PSTORE_BLK160 depends on PSTORE_PMSG161 default 64162 help163 This just sets size of pmsg (pmsg_size) for pstore/blk. The size is164 in KB and must be a multiple of 4.165 166 NOTE that, both Kconfig and module parameters can configure167 pstore/blk, but module parameters have priority over Kconfig.168 169config PSTORE_BLK_CONSOLE_SIZE170 int "Size in Kbytes of console log to store"171 depends on PSTORE_BLK172 depends on PSTORE_CONSOLE173 default 64174 help175 This just sets size of console log (console_size) to store via176 pstore/blk. The size is in KB and must be a multiple of 4.177 178 NOTE that, both Kconfig and module parameters can configure179 pstore/blk, but module parameters have priority over Kconfig.180 181config PSTORE_BLK_FTRACE_SIZE182 int "Size in Kbytes of ftrace log to store"183 depends on PSTORE_BLK184 depends on PSTORE_FTRACE185 default 64186 help187 This just sets size of ftrace log (ftrace_size) for pstore/blk. The188 size is in KB and must be a multiple of 4.189 190 NOTE that, both Kconfig and module parameters can configure191 pstore/blk, but module parameters have priority over Kconfig.192