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