2 # Library configuration
8 menu "Library routines"
19 config GENERIC_STRNCPY_FROM_USER
22 config GENERIC_FIND_FIRST_BIT
25 config NO_GENERIC_PCI_IOPORT_MAP
28 config GENERIC_PCI_IOMAP
33 select GENERIC_PCI_IOMAP
43 tristate "CRC-CCITT functions"
45 This option is provided for the case where no in-kernel-tree
46 modules require CRC-CCITT functions, but a module built outside
47 the kernel tree does. Such modules that use library CRC-CCITT
48 functions require M here.
51 tristate "CRC16 functions"
53 This option is provided for the case where no in-kernel-tree
54 modules require CRC16 functions, but a module built outside
55 the kernel tree does. Such modules that use library CRC16
56 functions require M here.
59 tristate "CRC calculation for the T10 Data Integrity Field"
61 This option is only needed if a module that's not in the
62 kernel tree needs to calculate CRC checks for use with the
63 SCSI data integrity subsystem.
66 tristate "CRC ITU-T V.41 functions"
68 This option is provided for the case where no in-kernel-tree
69 modules require CRC ITU-T V.41 functions, but a module built outside
70 the kernel tree does. Such modules that use library CRC ITU-T V.41
71 functions require M here.
74 tristate "CRC32/CRC32c functions"
78 This option is provided for the case where no in-kernel-tree
79 modules require CRC32/CRC32c functions, but a module built outside
80 the kernel tree does. Such modules that use library CRC32/CRC32c
81 functions require M here.
84 bool "CRC32 perform self test on init"
88 This option enables the CRC32 library functions to perform a
89 self test on initialization. The self test computes crc32_le
90 and crc32_be over byte strings with random alignment and length
91 and computes the total elapsed time and number of bytes processed.
94 prompt "CRC32 implementation"
96 default CRC32_SLICEBY8
98 This option allows a kernel builder to override the default choice
99 of CRC32 algorithm. Choose the default ("slice by 8") unless you
100 know that you need one of the others.
102 config CRC32_SLICEBY8
103 bool "Slice by 8 bytes"
105 Calculate checksum 8 bytes at a time with a clever slicing algorithm.
106 This is the fastest algorithm, but comes with a 8KiB lookup table.
107 Most modern processors have enough cache to hold this table without
110 This is the default implementation choice. Choose this one unless
111 you have a good reason not to.
113 config CRC32_SLICEBY4
114 bool "Slice by 4 bytes"
116 Calculate checksum 4 bytes at a time with a clever slicing algorithm.
117 This is a bit slower than slice by 8, but has a smaller 4KiB lookup
120 Only choose this option if you know what you are doing.
123 bool "Sarwate's Algorithm (one byte at a time)"
125 Calculate checksum a byte at a time using Sarwate's algorithm. This
126 is not particularly fast, but has a small 256 byte lookup table.
128 Only choose this option if you know what you are doing.
131 bool "Classic Algorithm (one bit at a time)"
133 Calculate checksum one bit at a time. This is VERY slow, but has
134 no lookup table. This is provided as a debugging option.
136 Only choose this option if you are debugging crc32.
141 tristate "CRC7 functions"
143 This option is provided for the case where no in-kernel-tree
144 modules require CRC7 functions, but a module built outside
145 the kernel tree does. Such modules that use library CRC7
146 functions require M here.
149 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
153 This option is provided for the case where no in-kernel-tree
154 modules require CRC32c functions, but a module built outside the
155 kernel tree does. Such modules that use library CRC32c functions
156 require M here. See Castagnoli93.
157 Module will be libcrc32c.
160 tristate "CRC8 function"
162 This option provides CRC8 function. Drivers may select this
163 when they need to do cyclic redundancy check according CRC8
164 algorithm. Module will be called crc8.
168 depends on AUDIT && !AUDIT_ARCH
172 # compression support is select'ed if needed
183 config LZO_DECOMPRESS
186 source "lib/xz/Kconfig"
189 # These all provide a common interface (hence the apparent duplication with
190 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
192 config DECOMPRESS_GZIP
196 config DECOMPRESS_BZIP2
199 config DECOMPRESS_LZMA
206 config DECOMPRESS_LZO
207 select LZO_DECOMPRESS
211 # Generic allocator support is selected if needed
213 config GENERIC_ALLOCATOR
217 # reed solomon support is select'ed if needed
222 config REED_SOLOMON_ENC8
225 config REED_SOLOMON_DEC8
228 config REED_SOLOMON_ENC16
231 config REED_SOLOMON_DEC16
235 # BCH support is selected if needed
240 config BCH_CONST_PARAMS
243 Drivers may select this option to force specific constant
244 values for parameters 'm' (Galois field order) and 't'
245 (error correction capability). Those specific values must
246 be set by declaring default values for symbols BCH_CONST_M
248 Doing so will enable extra compiler optimizations,
249 improving encoding and decoding performance up to 2x for
250 usual (m,t) values (typically such that m*t < 200).
251 When this option is selected, the BCH library supports
252 only a single (m,t) configuration. This is mainly useful
253 for NAND flash board drivers requiring known, fixed BCH
260 Constant value for Galois field order 'm'. If 'k' is the
261 number of data bits to protect, 'm' should be chosen such
262 that (k + m*t) <= 2**m - 1.
263 Drivers should declare a default value for this symbol if
264 they select option BCH_CONST_PARAMS.
269 Constant value for error correction capability in bits 't'.
270 Drivers should declare a default value for this symbol if
271 they select option BCH_CONST_PARAMS.
274 # Textsearch support is select'ed if needed
279 config TEXTSEARCH_KMP
285 config TEXTSEARCH_FSM
299 depends on HAS_IOMEM && !NO_IOPORT
307 config CHECK_SIGNATURE
310 config CPUMASK_OFFSTACK
311 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
313 Use dynamic allocation for cpumask_var_t, instead of putting
314 them on the stack. This is a bit more expensive, but avoids
317 config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
318 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
319 depends on EXPERIMENTAL && BROKEN
329 # Netlink attribute parsing support is select'ed if needed
335 # Generic 64-bit atomic support is selected if needed
337 config GENERIC_ATOMIC64
344 bool "Averaging functions"
346 This option is provided for the case where no in-kernel-tree
347 modules require averaging functions, but a module built outside
348 the kernel tree does. Such modules that use library averaging
349 functions require Y here.
357 tristate "CORDIC algorithm"
359 This option provides an implementation of the CORDIC algorithm;
360 calculations are in fixed point. Module will be called cordic.
363 bool "JEDEC DDR data"
365 Data from JEDEC specs for DDR SDRAM memories,
366 particularly the AC timing parameters and addressing
367 information. This data is useful for drivers handling
368 DDR SDRAM controllers.
374 Multiprecision maths library from GnuPG.
375 It is used to implement RSA digital signature verification,
376 which is used by IMA/EVM digital signature extension.
382 Additional sources of multiprecision maths library from GnuPG.
383 This code is unnecessary for RSA digital signature verification,
384 but can be compiled if needed.
388 depends on KEYS && CRYPTO
392 Digital signature verification. Currently only RSA is supported.
393 Implementation is done using GnuPG MPI library