]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - lib/Kconfig
mm: move hugepage test examples to tools/testing/selftests/vm
[mirror_ubuntu-bionic-kernel.git] / lib / Kconfig
CommitLineData
1da177e4
LT
1#
2# Library configuration
3#
4
4370aa4a
LJ
5config BINARY_PRINTF
6 def_bool n
7
1da177e4
LT
8menu "Library routines"
9
f5e70d0f
DW
10config RAID6_PQ
11 tristate
12
a5cfc1ec
AM
13config BITREVERSE
14 tristate
15
8759ef32
OS
16config RATIONAL
17 boolean
18
19870def 19config GENERIC_FIND_FIRST_BIT
9ba16087 20 bool
19870def 21
b923650b
MT
22config NO_GENERIC_PCI_IOPORT_MAP
23 bool
24
66eab4df
MT
25config GENERIC_PCI_IOMAP
26 bool
27
4673ca8e
MT
28config GENERIC_IOMAP
29 bool
66eab4df 30 select GENERIC_PCI_IOMAP
4673ca8e 31
087fafd1
RW
32config GENERIC_IO
33 boolean
34 default n
35
1da177e4
LT
36config CRC_CCITT
37 tristate "CRC-CCITT functions"
38 help
39 This option is provided for the case where no in-kernel-tree
40 modules require CRC-CCITT functions, but a module built outside
41 the kernel tree does. Such modules that use library CRC-CCITT
42 functions require M here.
43
7657ec1f
EP
44config CRC16
45 tristate "CRC16 functions"
46 help
47 This option is provided for the case where no in-kernel-tree
48 modules require CRC16 functions, but a module built outside
49 the kernel tree does. Such modules that use library CRC16
50 functions require M here.
51
f11f594e
MP
52config CRC_T10DIF
53 tristate "CRC calculation for the T10 Data Integrity Field"
54 help
55 This option is only needed if a module that's not in the
56 kernel tree needs to calculate CRC checks for use with the
57 SCSI data integrity subsystem.
58
3e7cbae7
ID
59config CRC_ITU_T
60 tristate "CRC ITU-T V.41 functions"
61 help
62 This option is provided for the case where no in-kernel-tree
63 modules require CRC ITU-T V.41 functions, but a module built outside
64 the kernel tree does. Such modules that use library CRC ITU-T V.41
65 functions require M here.
66
1da177e4 67config CRC32
46c5801e 68 tristate "CRC32/CRC32c functions"
1da177e4 69 default y
906d66df 70 select BITREVERSE
1da177e4
LT
71 help
72 This option is provided for the case where no in-kernel-tree
46c5801e
DW
73 modules require CRC32/CRC32c functions, but a module built outside
74 the kernel tree does. Such modules that use library CRC32/CRC32c
75 functions require M here.
1da177e4 76
3863ef31
BP
77config CRC32_SELFTEST
78 bool "CRC32 perform self test on init"
79 default n
80 depends on CRC32
81 help
82 This option enables the CRC32 library functions to perform a
83 self test on initialization. The self test computes crc32_le
84 and crc32_be over byte strings with random alignment and length
85 and computes the total elapsed time and number of bytes processed.
86
5cde7656
DW
87choice
88 prompt "CRC32 implementation"
89 depends on CRC32
90 default CRC32_SLICEBY8
91
92config CRC32_SLICEBY8
93 bool "Slice by 8 bytes"
94 help
95 Calculate checksum 8 bytes at a time with a clever slicing algorithm.
96 This is the fastest algorithm, but comes with a 8KiB lookup table.
97 Most modern processors have enough cache to hold this table without
98 thrashing the cache.
99
100 This is the default implementation choice. Choose this one unless
101 you have a good reason not to.
102
103config CRC32_SLICEBY4
104 bool "Slice by 4 bytes"
105 help
106 Calculate checksum 4 bytes at a time with a clever slicing algorithm.
107 This is a bit slower than slice by 8, but has a smaller 4KiB lookup
108 table.
109
110 Only choose this option if you know what you are doing.
111
112config CRC32_SARWATE
113 bool "Sarwate's Algorithm (one byte at a time)"
114 help
115 Calculate checksum a byte at a time using Sarwate's algorithm. This
116 is not particularly fast, but has a small 256 byte lookup table.
117
118 Only choose this option if you know what you are doing.
119
120config CRC32_BIT
121 bool "Classic Algorithm (one bit at a time)"
122 help
123 Calculate checksum one bit at a time. This is VERY slow, but has
124 no lookup table. This is provided as a debugging option.
125
126 Only choose this option if you are debugging crc32.
127
128endchoice
129
ad241528
JN
130config CRC7
131 tristate "CRC7 functions"
132 help
133 This option is provided for the case where no in-kernel-tree
134 modules require CRC7 functions, but a module built outside
135 the kernel tree does. Such modules that use library CRC7
136 functions require M here.
137
1da177e4
LT
138config LIBCRC32C
139 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
93027354 140 select CRYPTO
69c35efc 141 select CRYPTO_CRC32C
1da177e4
LT
142 help
143 This option is provided for the case where no in-kernel-tree
144 modules require CRC32c functions, but a module built outside the
145 kernel tree does. Such modules that use library CRC32c functions
146 require M here. See Castagnoli93.
147 Module will be libcrc32c.
148
7150962d
AS
149config CRC8
150 tristate "CRC8 function"
151 help
152 This option provides CRC8 function. Drivers may select this
153 when they need to do cyclic redundancy check according CRC8
154 algorithm. Module will be called crc8.
155
e65e1fc2
AV
156config AUDIT_GENERIC
157 bool
158 depends on AUDIT && !AUDIT_ARCH
159 default y
160
1da177e4
LT
161#
162# compression support is select'ed if needed
163#
164config ZLIB_INFLATE
165 tristate
166
167config ZLIB_DEFLATE
168 tristate
169
64c70b1c
RP
170config LZO_COMPRESS
171 tristate
172
173config LZO_DECOMPRESS
174 tristate
175
24fa0402
LC
176source "lib/xz/Kconfig"
177
c8531ab3
PA
178#
179# These all provide a common interface (hence the apparent duplication with
180# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
181#
182config DECOMPRESS_GZIP
7856a16e 183 select ZLIB_INFLATE
c8531ab3
PA
184 tristate
185
186config DECOMPRESS_BZIP2
187 tristate
188
189config DECOMPRESS_LZMA
190 tristate
191
3ebe1243
LC
192config DECOMPRESS_XZ
193 select XZ_DEC
194 tristate
195
cacb246f
AT
196config DECOMPRESS_LZO
197 select LZO_DECOMPRESS
198 tristate
199
f14f75b8
JS
200#
201# Generic allocator support is selected if needed
202#
203config GENERIC_ALLOCATOR
204 boolean
205
1da177e4
LT
206#
207# reed solomon support is select'ed if needed
208#
209config REED_SOLOMON
210 tristate
211
212config REED_SOLOMON_ENC8
213 boolean
214
215config REED_SOLOMON_DEC8
216 boolean
217
218config REED_SOLOMON_ENC16
219 boolean
220
221config REED_SOLOMON_DEC16
222 boolean
223
437aa565
ID
224#
225# BCH support is selected if needed
226#
227config BCH
228 tristate
229
230config BCH_CONST_PARAMS
231 boolean
232 help
233 Drivers may select this option to force specific constant
234 values for parameters 'm' (Galois field order) and 't'
235 (error correction capability). Those specific values must
236 be set by declaring default values for symbols BCH_CONST_M
237 and BCH_CONST_T.
238 Doing so will enable extra compiler optimizations,
239 improving encoding and decoding performance up to 2x for
240 usual (m,t) values (typically such that m*t < 200).
241 When this option is selected, the BCH library supports
242 only a single (m,t) configuration. This is mainly useful
243 for NAND flash board drivers requiring known, fixed BCH
244 parameters.
245
246config BCH_CONST_M
247 int
248 range 5 15
249 help
250 Constant value for Galois field order 'm'. If 'k' is the
251 number of data bits to protect, 'm' should be chosen such
252 that (k + m*t) <= 2**m - 1.
253 Drivers should declare a default value for this symbol if
254 they select option BCH_CONST_PARAMS.
255
256config BCH_CONST_T
257 int
258 help
259 Constant value for error correction capability in bits 't'.
260 Drivers should declare a default value for this symbol if
261 they select option BCH_CONST_PARAMS.
262
f7704347
DM
263#
264# Textsearch support is select'ed if needed
265#
2de4ff7b 266config TEXTSEARCH
f7704347 267 boolean
1da177e4 268
df3fb93a 269config TEXTSEARCH_KMP
f7704347 270 tristate
df3fb93a 271
8082e4ed 272config TEXTSEARCH_BM
29cb9f9c 273 tristate
8082e4ed 274
6408f79c 275config TEXTSEARCH_FSM
f7704347 276 tristate
6408f79c 277
5db53f3e
JE
278config BTREE
279 boolean
280
5ea81769 281config HAS_IOMEM
ee36c2bf 282 boolean
5ea81769 283 depends on !NO_IOMEM
087fafd1 284 select GENERIC_IO
5ea81769
AV
285 default y
286
287config HAS_IOPORT
288 boolean
289 depends on HAS_IOMEM && !NO_IOPORT
ee36c2bf
AV
290 default y
291
411f0f3e
HC
292config HAS_DMA
293 boolean
294 depends on !NO_DMA
295 default y
296
928923c7
GU
297config CHECK_SIGNATURE
298 bool
299
aab46da0
RR
300config CPUMASK_OFFSTACK
301 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
302 help
303 Use dynamic allocation for cpumask_var_t, instead of putting
304 them on the stack. This is a bit more expensive, but avoids
305 stack overflow.
306
8c384cde
RR
307config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
308 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
309 depends on EXPERIMENTAL && BROKEN
310
c39649c3
BH
311config CPU_RMAP
312 bool
313 depends on SMP
314
75957ba3
TH
315config DQL
316 bool
317
e9cc8bdd
GU
318#
319# Netlink attribute parsing support is select'ed if needed
320#
321config NLATTR
322 bool
323
09d4e0ed
PM
324#
325# Generic 64-bit atomic support is selected if needed
326#
327config GENERIC_ATOMIC64
328 bool
329
b411b363
PR
330config LRU_CACHE
331 tristate
332
c5485a7e 333config AVERAGE
a7a9a24d
MB
334 bool "Averaging functions"
335 help
336 This option is provided for the case where no in-kernel-tree
337 modules require averaging functions, but a module built outside
338 the kernel tree does. Such modules that use library averaging
339 functions require Y here.
340
341 If unsure, say N.
c5485a7e 342
c6df4b17
DM
343config CLZ_TAB
344 bool
345
10f8113e 346config CORDIC
d89ce936 347 tristate "CORDIC algorithm"
10f8113e 348 help
435a95c5
MW
349 This option provides an implementation of the CORDIC algorithm;
350 calculations are in fixed point. Module will be called cordic.
10f8113e 351
d9c46b18 352config MPILIB
2e5f094b 353 tristate
c6df4b17 354 select CLZ_TAB
d9c46b18
DK
355 help
356 Multiprecision maths library from GnuPG.
357 It is used to implement RSA digital signature verification,
358 which is used by IMA/EVM digital signature extension.
359
7e8dec91 360config MPILIB_EXTRA
2e5f094b 361 bool
7e8dec91
DK
362 depends on MPILIB
363 help
68adcad5
DK
364 Additional sources of multiprecision maths library from GnuPG.
365 This code is unnecessary for RSA digital signature verification,
366 but can be compiled if needed.
7e8dec91 367
5e8898e9 368config SIGNATURE
2e5f094b 369 tristate
be440ec7
DK
370 depends on KEYS && CRYPTO
371 select CRYPTO_SHA1
051dbb91
DK
372 select MPILIB
373 help
374 Digital signature verification. Currently only RSA is supported.
375 Implementation is done using GnuPG MPI library
376
2de4ff7b 377endmenu