1 # SPDX-License-Identifier: GPL-2.0-only 1 # SPDX-License-Identifier: GPL-2.0-only 2 config PSTORE 2 config PSTORE 3 tristate "Persistent store support" 3 tristate "Persistent store support" 4 default n 4 default n 5 help 5 help 6 This option enables generic access 6 This option enables generic access to platform level 7 persistent storage via "pstore" fil 7 persistent storage via "pstore" filesystem that can 8 be mounted as /dev/pstore. Only us 8 be mounted as /dev/pstore. Only useful if you have 9 a platform level driver that regist 9 a platform level driver that registers with pstore to 10 provide the data, so you probably s 10 provide the data, so you probably should just go say "Y" 11 (or "M") to a platform specific per 11 (or "M") to a platform specific persistent store driver 12 (e.g. ACPI_APEI on X86) which will 12 (e.g. ACPI_APEI on X86) which will select this for you. 13 If you don't have a platform persis 13 If you don't have a platform persistent store driver, 14 say N. 14 say N. 15 15 16 config PSTORE_DEFAULT_KMSG_BYTES 16 config PSTORE_DEFAULT_KMSG_BYTES 17 int "Default kernel log storage space" 17 int "Default kernel log storage space" if EXPERT 18 depends on PSTORE 18 depends on PSTORE 19 default "10240" 19 default "10240" 20 help 20 help 21 Defines default size of pstore kerne 21 Defines default size of pstore kernel log storage. 22 Can be enlarged if needed, not recom 22 Can be enlarged if needed, not recommended to shrink it. 23 23 24 config PSTORE_COMPRESS 24 config PSTORE_COMPRESS 25 bool "Pstore compression (deflate)" 25 bool "Pstore compression (deflate)" 26 depends on PSTORE 26 depends on PSTORE 27 select ZLIB_INFLATE 27 select ZLIB_INFLATE 28 select ZLIB_DEFLATE 28 select ZLIB_DEFLATE 29 default y 29 default y 30 help 30 help 31 Whether pstore records should be com 31 Whether pstore records should be compressed before being written to 32 the backing store. This is implement 32 the backing store. This is implemented using the zlib 'deflate' 33 algorithm, using the library impleme 33 algorithm, using the library implementation instead of using the full 34 blown crypto API. This reduces the r 34 blown crypto API. This reduces the risk of secondary oopses or other 35 problems while pstore is recording p 35 problems while pstore is recording panic metadata. 36 36 37 config PSTORE_CONSOLE 37 config PSTORE_CONSOLE 38 bool "Log kernel console messages" 38 bool "Log kernel console messages" 39 depends on PSTORE 39 depends on PSTORE 40 help 40 help 41 When the option is enabled, pstore w 41 When the option is enabled, pstore will log all kernel 42 messages, even if no oops or panic h 42 messages, even if no oops or panic happened. 43 43 44 config PSTORE_PMSG 44 config PSTORE_PMSG 45 bool "Log user space messages" 45 bool "Log user space messages" 46 depends on PSTORE 46 depends on PSTORE 47 select RT_MUTEXES 47 select RT_MUTEXES 48 help 48 help 49 When the option is enabled, pstore w 49 When the option is enabled, pstore will export a character 50 interface /dev/pmsg0 to log user spa 50 interface /dev/pmsg0 to log user space messages. On reboot 51 data can be retrieved from /sys/fs/p 51 data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID]. 52 52 53 If unsure, say N. 53 If unsure, say N. 54 54 55 config PSTORE_FTRACE 55 config PSTORE_FTRACE 56 bool "Persistent function tracer" 56 bool "Persistent function tracer" 57 depends on PSTORE 57 depends on PSTORE 58 depends on FUNCTION_TRACER 58 depends on FUNCTION_TRACER 59 depends on DEBUG_FS 59 depends on DEBUG_FS 60 help 60 help 61 With this option kernel traces funct 61 With this option kernel traces function calls into a persistent 62 ram buffer that can be decoded and d 62 ram buffer that can be decoded and dumped after reboot through 63 pstore filesystem. It can be used to 63 pstore filesystem. It can be used to determine what function 64 was last called before a reset or pa 64 was last called before a reset or panic. 65 65 66 If unsure, say N. 66 If unsure, say N. 67 67 68 config PSTORE_RAM 68 config PSTORE_RAM 69 tristate "Log panic/oops to a RAM buff 69 tristate "Log panic/oops to a RAM buffer" 70 depends on PSTORE 70 depends on PSTORE 71 depends on HAS_IOMEM 71 depends on HAS_IOMEM 72 select REED_SOLOMON 72 select REED_SOLOMON 73 select REED_SOLOMON_ENC8 73 select REED_SOLOMON_ENC8 74 select REED_SOLOMON_DEC8 74 select REED_SOLOMON_DEC8 75 help 75 help 76 This enables panic and oops messages 76 This enables panic and oops messages to be logged to a circular 77 buffer in RAM where it can be read b 77 buffer in RAM where it can be read back at some later point. 78 78 79 Note that for historical reasons, th 79 Note that for historical reasons, the module will be named 80 "ramoops.ko". 80 "ramoops.ko". 81 81 82 For more information, see Documentat 82 For more information, see Documentation/admin-guide/ramoops.rst. 83 83 84 config PSTORE_ZONE 84 config PSTORE_ZONE 85 tristate 85 tristate 86 depends on PSTORE 86 depends on PSTORE 87 help 87 help 88 The common layer for pstore/blk (and 88 The common layer for pstore/blk (and pstore/ram in the future) 89 to manage storage in zones. 89 to manage storage in zones. 90 90 91 config PSTORE_BLK 91 config PSTORE_BLK 92 tristate "Log panic/oops to a block de 92 tristate "Log panic/oops to a block device" 93 depends on PSTORE 93 depends on PSTORE 94 depends on BLOCK 94 depends on BLOCK 95 select PSTORE_ZONE 95 select PSTORE_ZONE 96 default n 96 default n 97 help 97 help 98 This enables panic and oops message 98 This enables panic and oops message to be logged to a block dev 99 where it can be read back at some la 99 where it can be read back at some later point. 100 100 101 For more information, see Documentat 101 For more information, see Documentation/admin-guide/pstore-blk.rst 102 102 103 If unsure, say N. 103 If unsure, say N. 104 104 105 config PSTORE_BLK_BLKDEV 105 config PSTORE_BLK_BLKDEV 106 string "block device identifier" 106 string "block device identifier" 107 depends on PSTORE_BLK 107 depends on PSTORE_BLK 108 default "" 108 default "" 109 help 109 help 110 Which block device should be used fo 110 Which block device should be used for pstore/blk. 111 111 112 It accepts the following variants: 112 It accepts the following variants: 113 1) <hex_major><hex_minor> device num 113 1) <hex_major><hex_minor> device number in hexadecimal representation, 114 with no leading 0x, for example b 114 with no leading 0x, for example b302. 115 2) /dev/<disk_name> represents the d 115 2) /dev/<disk_name> represents the device name of disk 116 3) /dev/<disk_name><decimal> represe 116 3) /dev/<disk_name><decimal> represents the device name and number 117 of partition - device number of d 117 of partition - device number of disk plus the partition number 118 4) /dev/<disk_name>p<decimal> - same 118 4) /dev/<disk_name>p<decimal> - same as the above, this form is 119 used when disk name of partitione 119 used when disk name of partitioned disk ends with a digit. 120 5) PARTUUID=00112233-4455-6677-8899- 120 5) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the 121 unique id of a partition if the p 121 unique id of a partition if the partition table provides it. 122 The UUID may be either an EFI/GPT 122 The UUID may be either an EFI/GPT UUID, or refer to an MSDOS 123 partition using the format SSSSSS 123 partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero- 124 filled hex representation of the 124 filled hex representation of the 32-bit "NT disk signature", and PP 125 is a zero-filled hex representati 125 is a zero-filled hex representation of the 1-based partition number. 126 6) PARTUUID=<UUID>/PARTNROFF=<int> t 126 6) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation 127 to a partition with a known uniqu 127 to a partition with a known unique id. 128 7) <major>:<minor> major and minor n 128 7) <major>:<minor> major and minor number of the device separated by 129 a colon. 129 a colon. 130 130 131 NOTE that, both Kconfig and module p 131 NOTE that, both Kconfig and module parameters can configure 132 pstore/blk, but module parameters ha 132 pstore/blk, but module parameters have priority over Kconfig. 133 133 134 config PSTORE_BLK_KMSG_SIZE 134 config PSTORE_BLK_KMSG_SIZE 135 int "Size in Kbytes of kmsg dump log t 135 int "Size in Kbytes of kmsg dump log to store" 136 depends on PSTORE_BLK 136 depends on PSTORE_BLK 137 default 64 137 default 64 138 help 138 help 139 This just sets size of kmsg dump (oo 139 This just sets size of kmsg dump (oops, panic, etc) log for 140 pstore/blk. The size is in KB and mu 140 pstore/blk. The size is in KB and must be a multiple of 4. 141 141 142 NOTE that, both Kconfig and module p 142 NOTE that, both Kconfig and module parameters can configure 143 pstore/blk, but module parameters ha 143 pstore/blk, but module parameters have priority over Kconfig. 144 144 145 config PSTORE_BLK_MAX_REASON 145 config PSTORE_BLK_MAX_REASON 146 int "Maximum kmsg dump reason to store 146 int "Maximum kmsg dump reason to store" 147 depends on PSTORE_BLK 147 depends on PSTORE_BLK 148 default 2 148 default 2 149 help 149 help 150 The maximum reason for kmsg dumps to 150 The maximum reason for kmsg dumps to store. The default is 151 2 (KMSG_DUMP_OOPS), see include/linu 151 2 (KMSG_DUMP_OOPS), see include/linux/kmsg_dump.h's 152 enum kmsg_dump_reason for more detai 152 enum kmsg_dump_reason for more details. 153 153 154 NOTE that, both Kconfig and module p 154 NOTE that, both Kconfig and module parameters can configure 155 pstore/blk, but module parameters ha 155 pstore/blk, but module parameters have priority over Kconfig. 156 156 157 config PSTORE_BLK_PMSG_SIZE 157 config PSTORE_BLK_PMSG_SIZE 158 int "Size in Kbytes of pmsg to store" 158 int "Size in Kbytes of pmsg to store" 159 depends on PSTORE_BLK 159 depends on PSTORE_BLK 160 depends on PSTORE_PMSG 160 depends on PSTORE_PMSG 161 default 64 161 default 64 162 help 162 help 163 This just sets size of pmsg (pmsg_si 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. 164 in KB and must be a multiple of 4. 165 165 166 NOTE that, both Kconfig and module p 166 NOTE that, both Kconfig and module parameters can configure 167 pstore/blk, but module parameters ha 167 pstore/blk, but module parameters have priority over Kconfig. 168 168 169 config PSTORE_BLK_CONSOLE_SIZE 169 config PSTORE_BLK_CONSOLE_SIZE 170 int "Size in Kbytes of console log to 170 int "Size in Kbytes of console log to store" 171 depends on PSTORE_BLK 171 depends on PSTORE_BLK 172 depends on PSTORE_CONSOLE 172 depends on PSTORE_CONSOLE 173 default 64 173 default 64 174 help 174 help 175 This just sets size of console log ( 175 This just sets size of console log (console_size) to store via 176 pstore/blk. The size is in KB and mu 176 pstore/blk. The size is in KB and must be a multiple of 4. 177 177 178 NOTE that, both Kconfig and module p 178 NOTE that, both Kconfig and module parameters can configure 179 pstore/blk, but module parameters ha 179 pstore/blk, but module parameters have priority over Kconfig. 180 180 181 config PSTORE_BLK_FTRACE_SIZE 181 config PSTORE_BLK_FTRACE_SIZE 182 int "Size in Kbytes of ftrace log to s 182 int "Size in Kbytes of ftrace log to store" 183 depends on PSTORE_BLK 183 depends on PSTORE_BLK 184 depends on PSTORE_FTRACE 184 depends on PSTORE_FTRACE 185 default 64 185 default 64 186 help 186 help 187 This just sets size of ftrace log (f 187 This just sets size of ftrace log (ftrace_size) for pstore/blk. The 188 size is in KB and must be a multiple 188 size is in KB and must be a multiple of 4. 189 189 190 NOTE that, both Kconfig and module p 190 NOTE that, both Kconfig and module parameters can configure 191 pstore/blk, but module parameters ha 191 pstore/blk, but module parameters have priority over Kconfig.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.