1# 2# Library configuration 3# 4 5config BINARY_PRINTF 6 def_bool n 7 8menu "Library routines" 9 10config RAID6_PQ 11 tristate 12 13config BITREVERSE 14 tristate 15 16config RATIONAL 17 boolean 18 19config GENERIC_FIND_FIRST_BIT 20 bool 21 22config NO_GENERIC_PCI_IOPORT_MAP 23 bool 24 25config GENERIC_PCI_IOMAP 26 bool 27 28config GENERIC_IOMAP 29 bool 30 select GENERIC_PCI_IOMAP 31 32config CRC_CCITT 33 tristate "CRC-CCITT functions" 34 help 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. 39 40config CRC16 41 tristate "CRC16 functions" 42 help 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. 47 48config CRC_T10DIF 49 tristate "CRC calculation for the T10 Data Integrity Field" 50 help 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. 54 55config CRC_ITU_T 56 tristate "CRC ITU-T V.41 functions" 57 help 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. 62 63config CRC32 64 tristate "CRC32/CRC32c functions" 65 default y 66 select BITREVERSE 67 help 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. 72 73config CRC32_SELFTEST 74 bool "CRC32 perform self test on init" 75 default n 76 depends on CRC32 77 help 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. 82 83choice 84 prompt "CRC32 implementation" 85 depends on CRC32 86 default CRC32_SLICEBY8 87 88config CRC32_SLICEBY8 89 bool "Slice by 8 bytes" 90 help 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 94 thrashing the cache. 95 96 This is the default implementation choice. Choose this one unless 97 you have a good reason not to. 98 99config CRC32_SLICEBY4 100 bool "Slice by 4 bytes" 101 help 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 104 table. 105 106 Only choose this option if you know what you are doing. 107 108config CRC32_SARWATE 109 bool "Sarwate's Algorithm (one byte at a time)" 110 help 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. 113 114 Only choose this option if you know what you are doing. 115 116config CRC32_BIT 117 bool "Classic Algorithm (one bit at a time)" 118 help 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. 121 122 Only choose this option if you are debugging crc32. 123 124endchoice 125 126config CRC7 127 tristate "CRC7 functions" 128 help 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. 133 134config LIBCRC32C 135 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 136 select CRYPTO 137 select CRYPTO_CRC32C 138 help 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. 144 145config CRC8 146 tristate "CRC8 function" 147 help 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. 151 152config AUDIT_GENERIC 153 bool 154 depends on AUDIT && !AUDIT_ARCH 155 default y 156 157# 158# compression support is select'ed if needed 159# 160config ZLIB_INFLATE 161 tristate 162 163config ZLIB_DEFLATE 164 tristate 165 166config LZO_COMPRESS 167 tristate 168 169config LZO_DECOMPRESS 170 tristate 171 172source "lib/xz/Kconfig" 173 174# 175# These all provide a common interface (hence the apparent duplication with 176# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 177# 178config DECOMPRESS_GZIP 179 select ZLIB_INFLATE 180 tristate 181 182config DECOMPRESS_BZIP2 183 tristate 184 185config DECOMPRESS_LZMA 186 tristate 187 188config DECOMPRESS_XZ 189 select XZ_DEC 190 tristate 191 192config DECOMPRESS_LZO 193 select LZO_DECOMPRESS 194 tristate 195 196# 197# Generic allocator support is selected if needed 198# 199config GENERIC_ALLOCATOR 200 boolean 201 202# 203# reed solomon support is select'ed if needed 204# 205config REED_SOLOMON 206 tristate 207 208config REED_SOLOMON_ENC8 209 boolean 210 211config REED_SOLOMON_DEC8 212 boolean 213 214config REED_SOLOMON_ENC16 215 boolean 216 217config REED_SOLOMON_DEC16 218 boolean 219 220# 221# BCH support is selected if needed 222# 223config BCH 224 tristate 225 226config BCH_CONST_PARAMS 227 boolean 228 help 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 233 and BCH_CONST_T. 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 240 parameters. 241 242config BCH_CONST_M 243 int 244 range 5 15 245 help 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. 251 252config BCH_CONST_T 253 int 254 help 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. 258 259# 260# Textsearch support is select'ed if needed 261# 262config TEXTSEARCH 263 boolean 264 265config TEXTSEARCH_KMP 266 tristate 267 268config TEXTSEARCH_BM 269 tristate 270 271config TEXTSEARCH_FSM 272 tristate 273 274config BTREE 275 boolean 276 277config HAS_IOMEM 278 boolean 279 depends on !NO_IOMEM 280 default y 281 282config HAS_IOPORT 283 boolean 284 depends on HAS_IOMEM && !NO_IOPORT 285 default y 286 287config HAS_DMA 288 boolean 289 depends on !NO_DMA 290 default y 291 292config CHECK_SIGNATURE 293 bool 294 295config CPUMASK_OFFSTACK 296 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 297 help 298 Use dynamic allocation for cpumask_var_t, instead of putting 299 them on the stack. This is a bit more expensive, but avoids 300 stack overflow. 301 302config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 303 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 304 depends on EXPERIMENTAL && BROKEN 305 306config CPU_RMAP 307 bool 308 depends on SMP 309 310config DQL 311 bool 312 313# 314# Netlink attribute parsing support is select'ed if needed 315# 316config NLATTR 317 bool 318 319# 320# Generic 64-bit atomic support is selected if needed 321# 322config GENERIC_ATOMIC64 323 bool 324 325config LRU_CACHE 326 tristate 327 328config AVERAGE 329 bool "Averaging functions" 330 help 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. 335 336 If unsure, say N. 337 338config CLZ_TAB 339 bool 340 341config CORDIC 342 tristate "CORDIC algorithm" 343 help 344 This option provides an implementation of the CORDIC algorithm; 345 calculations are in fixed point. Module will be called cordic. 346 347config MPILIB 348 tristate 349 select CLZ_TAB 350 help 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. 354 355config MPILIB_EXTRA 356 bool 357 depends on MPILIB 358 help 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. 362 363config SIGNATURE 364 tristate 365 depends on KEYS && CRYPTO 366 select CRYPTO_SHA1 367 select MPILIB 368 help 369 Digital signature verification. Currently only RSA is supported. 370 Implementation is done using GnuPG MPI library 371 372endmenu 373