hc
2024-05-16 8d2a02b24d66aa359e83eebc1ed3c0f85367a1cb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
# SPDX-License-Identifier: GPL-2.0-only
config PSTORE
   tristate "Persistent store support"
   select CRYPTO if PSTORE_COMPRESS
   default n
   help
      This option enables generic access to platform level
      persistent storage via "pstore" filesystem that can
      be mounted as /dev/pstore.  Only useful if you have
      a platform level driver that registers with pstore to
      provide the data, so you probably should just go say "Y"
      (or "M") to a platform specific persistent store driver
      (e.g. ACPI_APEI on X86) which will select this for you.
      If you don't have a platform persistent store driver,
      say N.
 
config PSTORE_DEFLATE_COMPRESS
   tristate "DEFLATE (ZLIB) compression"
   default y
   depends on PSTORE
   select CRYPTO_DEFLATE
   help
     This option enables DEFLATE (also known as ZLIB) compression
     algorithm support.
 
config PSTORE_LZO_COMPRESS
   tristate "LZO compression"
   depends on PSTORE
   select CRYPTO_LZO
   help
     This option enables LZO compression algorithm support.
 
config PSTORE_LZ4_COMPRESS
   tristate "LZ4 compression"
   depends on PSTORE
   select CRYPTO_LZ4
   help
     This option enables LZ4 compression algorithm support.
 
config PSTORE_LZ4HC_COMPRESS
   tristate "LZ4HC compression"
   depends on PSTORE
   select CRYPTO_LZ4HC
   help
     This option enables LZ4HC (high compression) mode algorithm.
 
config PSTORE_842_COMPRESS
   bool "842 compression"
   depends on PSTORE
   select CRYPTO_842
   help
     This option enables 842 compression algorithm support.
 
config PSTORE_ZSTD_COMPRESS
   bool "zstd compression"
   depends on PSTORE
   select CRYPTO_ZSTD
   help
     This option enables zstd compression algorithm support.
 
config PSTORE_COMPRESS
   def_bool y
   depends on PSTORE
   depends on PSTORE_DEFLATE_COMPRESS || PSTORE_LZO_COMPRESS ||    \
          PSTORE_LZ4_COMPRESS || PSTORE_LZ4HC_COMPRESS ||    \
          PSTORE_842_COMPRESS || PSTORE_ZSTD_COMPRESS
 
choice
   prompt "Default pstore compression algorithm"
   depends on PSTORE_COMPRESS
   help
     This option chooses the default active compression algorithm.
     This change be changed at boot with "pstore.compress=..." on
     the kernel command line.
 
     Currently, pstore has support for 6 compression algorithms:
     deflate, lzo, lz4, lz4hc, 842 and zstd.
 
     The default compression algorithm is deflate.
 
   config PSTORE_DEFLATE_COMPRESS_DEFAULT
       bool "deflate" if PSTORE_DEFLATE_COMPRESS
 
   config PSTORE_LZO_COMPRESS_DEFAULT
       bool "lzo" if PSTORE_LZO_COMPRESS
 
   config PSTORE_LZ4_COMPRESS_DEFAULT
       bool "lz4" if PSTORE_LZ4_COMPRESS
 
   config PSTORE_LZ4HC_COMPRESS_DEFAULT
       bool "lz4hc" if PSTORE_LZ4HC_COMPRESS
 
   config PSTORE_842_COMPRESS_DEFAULT
       bool "842" if PSTORE_842_COMPRESS
 
   config PSTORE_ZSTD_COMPRESS_DEFAULT
       bool "zstd" if PSTORE_ZSTD_COMPRESS
 
endchoice
 
config PSTORE_COMPRESS_DEFAULT
   string
   depends on PSTORE_COMPRESS
   default "deflate" if PSTORE_DEFLATE_COMPRESS_DEFAULT
   default "lzo" if PSTORE_LZO_COMPRESS_DEFAULT
   default "lz4" if PSTORE_LZ4_COMPRESS_DEFAULT
   default "lz4hc" if PSTORE_LZ4HC_COMPRESS_DEFAULT
   default "842" if PSTORE_842_COMPRESS_DEFAULT
   default "zstd" if PSTORE_ZSTD_COMPRESS_DEFAULT
 
config PSTORE_CONSOLE
   bool "Log kernel console messages"
   depends on PSTORE
   help
     When the option is enabled, pstore will log all kernel
     messages, even if no oops or panic happened.
 
config PSTORE_PMSG
   bool "Log user space messages"
   depends on PSTORE
   select RT_MUTEXES
   help
     When the option is enabled, pstore will export a character
     interface /dev/pmsg0 to log user space messages. On reboot
     data can be retrieved from /sys/fs/pstore/pmsg-ramoops-[ID].
 
     If unsure, say N.
 
config PSTORE_FTRACE
   bool "Persistent function tracer"
   depends on PSTORE
   depends on FUNCTION_TRACER
   depends on DEBUG_FS
   help
     With this option kernel traces function calls into a persistent
     ram buffer that can be decoded and dumped after reboot through
     pstore filesystem. It can be used to determine what function
     was last called before a reset or panic.
 
     If unsure, say N.
 
config PSTORE_RAM
   tristate "Log panic/oops to a RAM buffer"
   depends on PSTORE
   depends on HAS_IOMEM
   select REED_SOLOMON
   select REED_SOLOMON_ENC8
   select REED_SOLOMON_DEC8
   help
     This enables panic and oops messages to be logged to a circular
     buffer in RAM where it can be read back at some later point.
 
     Note that for historical reasons, the module will be named
     "ramoops.ko".
 
     For more information, see Documentation/admin-guide/ramoops.rst.
 
config PSTORE_ZONE
   tristate
   depends on PSTORE
   help
     The common layer for pstore/blk (and pstore/ram in the future)
     to manage storage in zones.
 
config PSTORE_BLK
   tristate "Log panic/oops to a block device"
   depends on PSTORE
   depends on BLOCK
   depends on BROKEN
   select PSTORE_ZONE
   default n
   help
     This enables panic and oops message to be logged to a block dev
     where it can be read back at some later point.
 
     For more information, see Documentation/admin-guide/pstore-blk.rst
 
     If unsure, say N.
 
config PSTORE_BLK_BLKDEV
   string "block device identifier"
   depends on PSTORE_BLK
   default ""
   help
     Which block device should be used for pstore/blk.
 
     It accepts the following variants:
     1) <hex_major><hex_minor> device number in hexadecimal representation,
        with no leading 0x, for example b302.
     2) /dev/<disk_name> represents the device name of disk
     3) /dev/<disk_name><decimal> represents the device name and number
        of partition - device number of disk plus the partition number
     4) /dev/<disk_name>p<decimal> - same as the above, this form is
        used when disk name of partitioned disk ends with a digit.
     5) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the
        unique id of a partition if the partition table provides it.
        The UUID may be either an EFI/GPT UUID, or refer to an MSDOS
        partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero-
        filled hex representation of the 32-bit "NT disk signature", and PP
        is a zero-filled hex representation of the 1-based partition number.
     6) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation
        to a partition with a known unique id.
     7) <major>:<minor> major and minor number of the device separated by
        a colon.
 
     NOTE that, both Kconfig and module parameters can configure
     pstore/blk, but module parameters have priority over Kconfig.
 
config PSTORE_BLK_KMSG_SIZE
   int "Size in Kbytes of kmsg dump log to store"
   depends on PSTORE_BLK
   default 64
   help
     This just sets size of kmsg dump (oops, panic, etc) log for
     pstore/blk. The size is in KB and must be a multiple of 4.
 
     NOTE that, both Kconfig and module parameters can configure
     pstore/blk, but module parameters have priority over Kconfig.
 
config PSTORE_BLK_MAX_REASON
   int "Maximum kmsg dump reason to store"
   depends on PSTORE_BLK
   default 2
   help
     The maximum reason for kmsg dumps to store. The default is
     2 (KMSG_DUMP_OOPS), see include/linux/kmsg_dump.h's
     enum kmsg_dump_reason for more details.
 
     NOTE that, both Kconfig and module parameters can configure
     pstore/blk, but module parameters have priority over Kconfig.
 
config PSTORE_BLK_PMSG_SIZE
   int "Size in Kbytes of pmsg to store"
   depends on PSTORE_BLK
   depends on PSTORE_PMSG
   default 64
   help
     This just sets size of pmsg (pmsg_size) for pstore/blk. The size is
     in KB and must be a multiple of 4.
 
     NOTE that, both Kconfig and module parameters can configure
     pstore/blk, but module parameters have priority over Kconfig.
 
config PSTORE_BLK_CONSOLE_SIZE
   int "Size in Kbytes of console log to store"
   depends on PSTORE_BLK
   depends on PSTORE_CONSOLE
   default 64
   help
     This just sets size of console log (console_size) to store via
     pstore/blk. The size is in KB and must be a multiple of 4.
 
     NOTE that, both Kconfig and module parameters can configure
     pstore/blk, but module parameters have priority over Kconfig.
 
config PSTORE_BLK_FTRACE_SIZE
   int "Size in Kbytes of ftrace log to store"
   depends on PSTORE_BLK
   depends on PSTORE_FTRACE
   default 64
   help
     This just sets size of ftrace log (ftrace_size) for pstore/blk. The
     size is in KB and must be a multiple of 4.
 
     NOTE that, both Kconfig and module parameters can configure
     pstore/blk, but module parameters have priority over Kconfig.
 
config PSTORE_BOOT_LOG
   bool "Print boot log by linux"
   depends on PSTORE
   help
     Collect log from loader,uboot,ATF and so on, you can get their log by cat command
     through linux shell
     If unsure, say N.