]> git.karo-electronics.de Git - karo-tx-linux.git/blob - lib/Kconfig
lib: Add CRC64 ECMA module
[karo-tx-linux.git] / lib / Kconfig
1 #
2 # Library configuration
3 #
4
5 config BINARY_PRINTF
6         def_bool n
7
8 menu "Library routines"
9
10 config RAID6_PQ
11         tristate
12
13 config BITREVERSE
14         tristate
15
16 config HAVE_ARCH_BITREVERSE
17         bool
18         default n
19         depends on BITREVERSE
20         help
21           This option enables the use of hardware bit-reversal instructions on
22           architectures which support such operations.
23
24 config RATIONAL
25         bool
26
27 config GENERIC_STRNCPY_FROM_USER
28         bool
29
30 config GENERIC_STRNLEN_USER
31         bool
32
33 config GENERIC_NET_UTILS
34         bool
35
36 config GENERIC_FIND_FIRST_BIT
37         bool
38
39 config NO_GENERIC_PCI_IOPORT_MAP
40         bool
41
42 config GENERIC_PCI_IOMAP
43         bool
44
45 config GENERIC_IOMAP
46         bool
47         select GENERIC_PCI_IOMAP
48
49 config GENERIC_IO
50         bool
51         default n
52
53 config STMP_DEVICE
54         bool
55
56 config ARCH_USE_CMPXCHG_LOCKREF
57         bool
58
59 config ARCH_HAS_FAST_MULTIPLIER
60         bool
61
62 config CRC_CCITT
63         tristate "CRC-CCITT functions"
64         help
65           This option is provided for the case where no in-kernel-tree
66           modules require CRC-CCITT functions, but a module built outside
67           the kernel tree does. Such modules that use library CRC-CCITT
68           functions require M here.
69
70 config CRC16
71         tristate "CRC16 functions"
72         help
73           This option is provided for the case where no in-kernel-tree
74           modules require CRC16 functions, but a module built outside
75           the kernel tree does. Such modules that use library CRC16
76           functions require M here.
77
78 config CRC_T10DIF
79         tristate "CRC calculation for the T10 Data Integrity Field"
80         select CRYPTO
81         select CRYPTO_CRCT10DIF
82         help
83           This option is only needed if a module that's not in the
84           kernel tree needs to calculate CRC checks for use with the
85           SCSI data integrity subsystem.
86
87 config CRC_ITU_T
88         tristate "CRC ITU-T V.41 functions"
89         help
90           This option is provided for the case where no in-kernel-tree
91           modules require CRC ITU-T V.41 functions, but a module built outside
92           the kernel tree does. Such modules that use library CRC ITU-T V.41
93           functions require M here.
94
95 config CRC32
96         tristate "CRC32/CRC32c functions"
97         default y
98         select BITREVERSE
99         help
100           This option is provided for the case where no in-kernel-tree
101           modules require CRC32/CRC32c functions, but a module built outside
102           the kernel tree does. Such modules that use library CRC32/CRC32c
103           functions require M here.
104
105 config CRC32_SELFTEST
106         bool "CRC32 perform self test on init"
107         default n
108         depends on CRC32
109         help
110           This option enables the CRC32 library functions to perform a
111           self test on initialization. The self test computes crc32_le
112           and crc32_be over byte strings with random alignment and length
113           and computes the total elapsed time and number of bytes processed.
114
115 choice
116         prompt "CRC32 implementation"
117         depends on CRC32
118         default CRC32_SLICEBY8
119         help
120           This option allows a kernel builder to override the default choice
121           of CRC32 algorithm.  Choose the default ("slice by 8") unless you
122           know that you need one of the others.
123
124 config CRC32_SLICEBY8
125         bool "Slice by 8 bytes"
126         help
127           Calculate checksum 8 bytes at a time with a clever slicing algorithm.
128           This is the fastest algorithm, but comes with a 8KiB lookup table.
129           Most modern processors have enough cache to hold this table without
130           thrashing the cache.
131
132           This is the default implementation choice.  Choose this one unless
133           you have a good reason not to.
134
135 config CRC32_SLICEBY4
136         bool "Slice by 4 bytes"
137         help
138           Calculate checksum 4 bytes at a time with a clever slicing algorithm.
139           This is a bit slower than slice by 8, but has a smaller 4KiB lookup
140           table.
141
142           Only choose this option if you know what you are doing.
143
144 config CRC32_SARWATE
145         bool "Sarwate's Algorithm (one byte at a time)"
146         help
147           Calculate checksum a byte at a time using Sarwate's algorithm.  This
148           is not particularly fast, but has a small 256 byte lookup table.
149
150           Only choose this option if you know what you are doing.
151
152 config CRC32_BIT
153         bool "Classic Algorithm (one bit at a time)"
154         help
155           Calculate checksum one bit at a time.  This is VERY slow, but has
156           no lookup table.  This is provided as a debugging option.
157
158           Only choose this option if you are debugging crc32.
159
160 endchoice
161
162 config CRC7
163         tristate "CRC7 functions"
164         help
165           This option is provided for the case where no in-kernel-tree
166           modules require CRC7 functions, but a module built outside
167           the kernel tree does. Such modules that use library CRC7
168           functions require M here.
169
170 config LIBCRC32C
171         tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
172         select CRYPTO
173         select CRYPTO_CRC32C
174         help
175           This option is provided for the case where no in-kernel-tree
176           modules require CRC32c functions, but a module built outside the
177           kernel tree does. Such modules that use library CRC32c functions
178           require M here.  See Castagnoli93.
179           Module will be libcrc32c.
180
181 config CRC8
182         tristate "CRC8 function"
183         help
184           This option provides CRC8 function. Drivers may select this
185           when they need to do cyclic redundancy check according CRC8
186           algorithm. Module will be called crc8.
187
188 config CRC64_ECMA
189         tristate "CRC64 ECMA function"
190         help
191           This option provides CRC64 ECMA function. Drivers may select this
192           when they need to do cyclic redundancy check according to the CRC64
193           ECMA algorithm.
194
195 config AUDIT_GENERIC
196         bool
197         depends on AUDIT && !AUDIT_ARCH
198         default y
199
200 config AUDIT_ARCH_COMPAT_GENERIC
201         bool
202         default n
203
204 config AUDIT_COMPAT_GENERIC
205         bool
206         depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
207         default y
208
209 config RANDOM32_SELFTEST
210         bool "PRNG perform self test on init"
211         default n
212         help
213           This option enables the 32 bit PRNG library functions to perform a
214           self test on initialization.
215
216 #
217 # compression support is select'ed if needed
218 #
219 config 842_COMPRESS
220         select CRC32
221         tristate
222
223 config 842_DECOMPRESS
224         select CRC32
225         tristate
226
227 config ZLIB_INFLATE
228         tristate
229
230 config ZLIB_DEFLATE
231         tristate
232         select BITREVERSE
233
234 config LZO_COMPRESS
235         tristate
236
237 config LZO_DECOMPRESS
238         tristate
239
240 config LZ4_COMPRESS
241         tristate
242
243 config LZ4HC_COMPRESS
244         tristate
245
246 config LZ4_DECOMPRESS
247         tristate
248
249 source "lib/xz/Kconfig"
250
251 #
252 # These all provide a common interface (hence the apparent duplication with
253 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
254 #
255 config DECOMPRESS_GZIP
256         select ZLIB_INFLATE
257         tristate
258
259 config DECOMPRESS_BZIP2
260         tristate
261
262 config DECOMPRESS_LZMA
263         tristate
264
265 config DECOMPRESS_XZ
266         select XZ_DEC
267         tristate
268
269 config DECOMPRESS_LZO
270         select LZO_DECOMPRESS
271         tristate
272
273 config DECOMPRESS_LZ4
274         select LZ4_DECOMPRESS
275         tristate
276
277 #
278 # Generic allocator support is selected if needed
279 #
280 config GENERIC_ALLOCATOR
281         bool
282
283 #
284 # reed solomon support is select'ed if needed
285 #
286 config REED_SOLOMON
287         tristate
288         
289 config REED_SOLOMON_ENC8
290         bool
291
292 config REED_SOLOMON_DEC8
293         bool
294
295 config REED_SOLOMON_ENC16
296         bool
297
298 config REED_SOLOMON_DEC16
299         bool
300
301 #
302 # BCH support is selected if needed
303 #
304 config BCH
305         tristate
306
307 config BCH_CONST_PARAMS
308         bool
309         help
310           Drivers may select this option to force specific constant
311           values for parameters 'm' (Galois field order) and 't'
312           (error correction capability). Those specific values must
313           be set by declaring default values for symbols BCH_CONST_M
314           and BCH_CONST_T.
315           Doing so will enable extra compiler optimizations,
316           improving encoding and decoding performance up to 2x for
317           usual (m,t) values (typically such that m*t < 200).
318           When this option is selected, the BCH library supports
319           only a single (m,t) configuration. This is mainly useful
320           for NAND flash board drivers requiring known, fixed BCH
321           parameters.
322
323 config BCH_CONST_M
324         int
325         range 5 15
326         help
327           Constant value for Galois field order 'm'. If 'k' is the
328           number of data bits to protect, 'm' should be chosen such
329           that (k + m*t) <= 2**m - 1.
330           Drivers should declare a default value for this symbol if
331           they select option BCH_CONST_PARAMS.
332
333 config BCH_CONST_T
334         int
335         help
336           Constant value for error correction capability in bits 't'.
337           Drivers should declare a default value for this symbol if
338           they select option BCH_CONST_PARAMS.
339
340 #
341 # Textsearch support is select'ed if needed
342 #
343 config TEXTSEARCH
344         bool
345
346 config TEXTSEARCH_KMP
347         tristate
348
349 config TEXTSEARCH_BM
350         tristate
351
352 config TEXTSEARCH_FSM
353         tristate
354
355 config BTREE
356         bool
357
358 config INTERVAL_TREE
359         bool
360         help
361           Simple, embeddable, interval-tree. Can find the start of an
362           overlapping range in log(n) time and then iterate over all
363           overlapping nodes. The algorithm is implemented as an
364           augmented rbtree.
365
366           See:
367
368                 Documentation/rbtree.txt
369
370           for more information.
371
372 config ASSOCIATIVE_ARRAY
373         bool
374         help
375           Generic associative array.  Can be searched and iterated over whilst
376           it is being modified.  It is also reasonably quick to search and
377           modify.  The algorithms are non-recursive, and the trees are highly
378           capacious.
379
380           See:
381
382                 Documentation/assoc_array.txt
383
384           for more information.
385
386 config HAS_IOMEM
387         bool
388         depends on !NO_IOMEM
389         select GENERIC_IO
390         default y
391
392 config HAS_IOPORT_MAP
393         bool
394         depends on HAS_IOMEM && !NO_IOPORT_MAP
395         default y
396
397 config HAS_DMA
398         bool
399         depends on !NO_DMA
400         default y
401
402 config CHECK_SIGNATURE
403         bool
404
405 config CPUMASK_OFFSTACK
406         bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
407         help
408           Use dynamic allocation for cpumask_var_t, instead of putting
409           them on the stack.  This is a bit more expensive, but avoids
410           stack overflow.
411
412 config CPU_RMAP
413         bool
414         depends on SMP
415
416 config DQL
417         bool
418
419 config GLOB
420         bool
421 #       This actually supports modular compilation, but the module overhead
422 #       is ridiculous for the amount of code involved.  Until an out-of-tree
423 #       driver asks for it, we'll just link it directly it into the kernel
424 #       when required.  Since we're ignoring out-of-tree users, there's also
425 #       no need bother prompting for a manual decision:
426 #       prompt "glob_match() function"
427         help
428           This option provides a glob_match function for performing
429           simple text pattern matching.  It originated in the ATA code
430           to blacklist particular drive models, but other device drivers
431           may need similar functionality.
432
433           All drivers in the Linux kernel tree that require this function
434           should automatically select this option.  Say N unless you
435           are compiling an out-of tree driver which tells you that it
436           depends on this.
437
438 config GLOB_SELFTEST
439         bool "glob self-test on init"
440         default n
441         depends on GLOB
442         help
443           This option enables a simple self-test of the glob_match
444           function on startup.  It is primarily useful for people
445           working on the code to ensure they haven't introduced any
446           regressions.
447
448           It only adds a little bit of code and slows kernel boot (or
449           module load) by a small amount, so you're welcome to play with
450           it, but you probably don't need it.
451
452 #
453 # Netlink attribute parsing support is select'ed if needed
454 #
455 config NLATTR
456         bool
457
458 #
459 # Generic 64-bit atomic support is selected if needed
460 #
461 config GENERIC_ATOMIC64
462        bool
463
464 config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
465         def_bool y if GENERIC_ATOMIC64
466
467 config LRU_CACHE
468         tristate
469
470 config CLZ_TAB
471         bool
472
473 config CORDIC
474         tristate "CORDIC algorithm"
475         help
476           This option provides an implementation of the CORDIC algorithm;
477           calculations are in fixed point. Module will be called cordic.
478
479 config DDR
480         bool "JEDEC DDR data"
481         help
482           Data from JEDEC specs for DDR SDRAM memories,
483           particularly the AC timing parameters and addressing
484           information. This data is useful for drivers handling
485           DDR SDRAM controllers.
486
487 config IRQ_POLL
488         bool "IRQ polling library"
489         help
490           Helper library to poll interrupt mitigation using polling.
491
492 config MPILIB
493         tristate
494         select CLZ_TAB
495         help
496           Multiprecision maths library from GnuPG.
497           It is used to implement RSA digital signature verification,
498           which is used by IMA/EVM digital signature extension.
499
500 config SIGNATURE
501         tristate
502         depends on KEYS
503         select CRYPTO
504         select CRYPTO_SHA1
505         select MPILIB
506         help
507           Digital signature verification. Currently only RSA is supported.
508           Implementation is done using GnuPG MPI library
509
510 #
511 # libfdt files, only selected if needed.
512 #
513 config LIBFDT
514         bool
515
516 config OID_REGISTRY
517         tristate
518         help
519           Enable fast lookup object identifier registry.
520
521 config UCS2_STRING
522         tristate
523
524 source "lib/fonts/Kconfig"
525
526 config SG_SPLIT
527         def_bool n
528         help
529          Provides a helper to split scatterlists into chunks, each chunk being
530          a scatterlist. This should be selected by a driver or an API which
531          whishes to split a scatterlist amongst multiple DMA channels.
532
533 #
534 # sg chaining option
535 #
536
537 config ARCH_HAS_SG_CHAIN
538         def_bool n
539
540 config ARCH_HAS_PMEM_API
541         bool
542
543 config ARCH_HAS_MMIO_FLUSH
544         bool
545
546 endmenu