2 # Library configuration
8 menu "Library routines"
19 config GENERIC_FIND_FIRST_BIT
22 config NO_GENERIC_PCI_IOPORT_MAP
25 config GENERIC_PCI_IOMAP
30 select GENERIC_PCI_IOMAP
33 tristate "CRC-CCITT functions"
35 This option is provided for the case where no in-kernel-tree
36 modules require CRC-CCITT functions, but a module built outside
37 the kernel tree does. Such modules that use library CRC-CCITT
38 functions require M here.
41 tristate "CRC16 functions"
43 This option is provided for the case where no in-kernel-tree
44 modules require CRC16 functions, but a module built outside
45 the kernel tree does. Such modules that use library CRC16
46 functions require M here.
49 tristate "CRC calculation for the T10 Data Integrity Field"
51 This option is only needed if a module that's not in the
52 kernel tree needs to calculate CRC checks for use with the
53 SCSI data integrity subsystem.
56 tristate "CRC ITU-T V.41 functions"
58 This option is provided for the case where no in-kernel-tree
59 modules require CRC ITU-T V.41 functions, but a module built outside
60 the kernel tree does. Such modules that use library CRC ITU-T V.41
61 functions require M here.
64 tristate "CRC32/CRC32c functions"
68 This option is provided for the case where no in-kernel-tree
69 modules require CRC32/CRC32c functions, but a module built outside
70 the kernel tree does. Such modules that use library CRC32/CRC32c
71 functions require M here.
74 bool "CRC32 perform self test on init"
78 This option enables the CRC32 library functions to perform a
79 self test on initialization. The self test computes crc32_le
80 and crc32_be over byte strings with random alignment and length
81 and computes the total elapsed time and number of bytes processed.
84 prompt "CRC32 implementation"
86 default CRC32_SLICEBY8
89 bool "Slice by 8 bytes"
91 Calculate checksum 8 bytes at a time with a clever slicing algorithm.
92 This is the fastest algorithm, but comes with a 8KiB lookup table.
93 Most modern processors have enough cache to hold this table without
96 This is the default implementation choice. Choose this one unless
97 you have a good reason not to.
100 bool "Slice by 4 bytes"
102 Calculate checksum 4 bytes at a time with a clever slicing algorithm.
103 This is a bit slower than slice by 8, but has a smaller 4KiB lookup
106 Only choose this option if you know what you are doing.
109 bool "Sarwate's Algorithm (one byte at a time)"
111 Calculate checksum a byte at a time using Sarwate's algorithm. This
112 is not particularly fast, but has a small 256 byte lookup table.
114 Only choose this option if you know what you are doing.
117 bool "Classic Algorithm (one bit at a time)"
119 Calculate checksum one bit at a time. This is VERY slow, but has
120 no lookup table. This is provided as a debugging option.
122 Only choose this option if you are debugging crc32.
127 tristate "CRC7 functions"
129 This option is provided for the case where no in-kernel-tree
130 modules require CRC7 functions, but a module built outside
131 the kernel tree does. Such modules that use library CRC7
132 functions require M here.
135 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
139 This option is provided for the case where no in-kernel-tree
140 modules require CRC32c functions, but a module built outside the
141 kernel tree does. Such modules that use library CRC32c functions
142 require M here. See Castagnoli93.
143 Module will be libcrc32c.
146 tristate "CRC8 function"
148 This option provides CRC8 function. Drivers may select this
149 when they need to do cyclic redundancy check according CRC8
150 algorithm. Module will be called crc8.
154 depends on AUDIT && !AUDIT_ARCH
158 # compression support is select'ed if needed
169 config LZO_DECOMPRESS
172 source "lib/xz/Kconfig"
175 # These all provide a common interface (hence the apparent duplication with
176 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
178 config DECOMPRESS_GZIP
182 config DECOMPRESS_BZIP2
185 config DECOMPRESS_LZMA
192 config DECOMPRESS_LZO
193 select LZO_DECOMPRESS
197 # Generic allocator support is selected if needed
199 config GENERIC_ALLOCATOR
203 # reed solomon support is select'ed if needed
208 config REED_SOLOMON_ENC8
211 config REED_SOLOMON_DEC8
214 config REED_SOLOMON_ENC16
217 config REED_SOLOMON_DEC16
221 # BCH support is selected if needed
226 config BCH_CONST_PARAMS
229 Drivers may select this option to force specific constant
230 values for parameters 'm' (Galois field order) and 't'
231 (error correction capability). Those specific values must
232 be set by declaring default values for symbols BCH_CONST_M
234 Doing so will enable extra compiler optimizations,
235 improving encoding and decoding performance up to 2x for
236 usual (m,t) values (typically such that m*t < 200).
237 When this option is selected, the BCH library supports
238 only a single (m,t) configuration. This is mainly useful
239 for NAND flash board drivers requiring known, fixed BCH
246 Constant value for Galois field order 'm'. If 'k' is the
247 number of data bits to protect, 'm' should be chosen such
248 that (k + m*t) <= 2**m - 1.
249 Drivers should declare a default value for this symbol if
250 they select option BCH_CONST_PARAMS.
255 Constant value for error correction capability in bits 't'.
256 Drivers should declare a default value for this symbol if
257 they select option BCH_CONST_PARAMS.
260 # Textsearch support is select'ed if needed
265 config TEXTSEARCH_KMP
271 config TEXTSEARCH_FSM
284 depends on HAS_IOMEM && !NO_IOPORT
292 config CHECK_SIGNATURE
295 config CPUMASK_OFFSTACK
296 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
298 Use dynamic allocation for cpumask_var_t, instead of putting
299 them on the stack. This is a bit more expensive, but avoids
302 config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
303 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
304 depends on EXPERIMENTAL && BROKEN
314 # Netlink attribute parsing support is select'ed if needed
320 # Generic 64-bit atomic support is selected if needed
322 config GENERIC_ATOMIC64
329 bool "Averaging functions"
331 This option is provided for the case where no in-kernel-tree
332 modules require averaging functions, but a module built outside
333 the kernel tree does. Such modules that use library averaging
334 functions require Y here.
342 tristate "CORDIC algorithm"
344 This option provides an implementation of the CORDIC algorithm;
345 calculations are in fixed point. Module will be called cordic.
351 Multiprecision maths library from GnuPG.
352 It is used to implement RSA digital signature verification,
353 which is used by IMA/EVM digital signature extension.
359 Additional sources of multiprecision maths library from GnuPG.
360 This code is unnecessary for RSA digital signature verification,
361 but can be compiled if needed.
365 depends on KEYS && CRYPTO
369 Digital signature verification. Currently only RSA is supported.
370 Implementation is done using GnuPG MPI library