11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# Library configuration 31da177e4SLinus Torvalds# 41da177e4SLinus Torvalds 54370aa4aSLai Jiangshanconfig BINARY_PRINTF 64370aa4aSLai Jiangshan def_bool n 74370aa4aSLai Jiangshan 81da177e4SLinus Torvaldsmenu "Library routines" 91da177e4SLinus Torvalds 10f5e70d0fSDavid Woodhouseconfig RAID6_PQ 11f5e70d0fSDavid Woodhouse tristate 12f5e70d0fSDavid Woodhouse 13a5cfc1ecSAkinobu Mitaconfig BITREVERSE 14a5cfc1ecSAkinobu Mita tristate 15a5cfc1ecSAkinobu Mita 168759ef32SOskar Schirmerconfig RATIONAL 178759ef32SOskar Schirmer boolean 188759ef32SOskar Schirmer 1919870defSAlexander van Heukelumconfig GENERIC_FIND_FIRST_BIT 209ba16087SJan Beulich bool 2119870defSAlexander van Heukelum 2266eab4dfSMichael S. Tsirkinconfig GENERIC_PCI_IOMAP 2366eab4dfSMichael S. Tsirkin bool 2466eab4dfSMichael S. Tsirkin 254673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 264673ca8eSMichael S. Tsirkin bool 2766eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 284673ca8eSMichael S. Tsirkin 291da177e4SLinus Torvaldsconfig CRC_CCITT 301da177e4SLinus Torvalds tristate "CRC-CCITT functions" 311da177e4SLinus Torvalds help 321da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 331da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 341da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 351da177e4SLinus Torvalds functions require M here. 361da177e4SLinus Torvalds 377657ec1fSEvgeniy Polyakovconfig CRC16 387657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 397657ec1fSEvgeniy Polyakov help 407657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 417657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 427657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 437657ec1fSEvgeniy Polyakov functions require M here. 447657ec1fSEvgeniy Polyakov 45f11f594eSMartin K. Petersenconfig CRC_T10DIF 46f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 47f11f594eSMartin K. Petersen help 48f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 49f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 50f11f594eSMartin K. Petersen SCSI data integrity subsystem. 51f11f594eSMartin K. Petersen 523e7cbae7SIvo van Doornconfig CRC_ITU_T 533e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 543e7cbae7SIvo van Doorn help 553e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 563e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 573e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 583e7cbae7SIvo van Doorn functions require M here. 593e7cbae7SIvo van Doorn 601da177e4SLinus Torvaldsconfig CRC32 611da177e4SLinus Torvalds tristate "CRC32 functions" 621da177e4SLinus Torvalds default y 63906d66dfSAkinobu Mita select BITREVERSE 641da177e4SLinus Torvalds help 651da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 661da177e4SLinus Torvalds modules require CRC32 functions, but a module built outside the 671da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32 functions 681da177e4SLinus Torvalds require M here. 691da177e4SLinus Torvalds 70ad241528SJan Nikitenkoconfig CRC7 71ad241528SJan Nikitenko tristate "CRC7 functions" 72ad241528SJan Nikitenko help 73ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 74ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 75ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 76ad241528SJan Nikitenko functions require M here. 77ad241528SJan Nikitenko 781da177e4SLinus Torvaldsconfig LIBCRC32C 791da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 8093027354SHerbert Xu select CRYPTO 8169c35efcSHerbert Xu select CRYPTO_CRC32C 821da177e4SLinus Torvalds help 831da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 841da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 851da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 861da177e4SLinus Torvalds require M here. See Castagnoli93. 871da177e4SLinus Torvalds Module will be libcrc32c. 881da177e4SLinus Torvalds 897150962dSArend van Sprielconfig CRC8 907150962dSArend van Spriel tristate "CRC8 function" 917150962dSArend van Spriel help 927150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 937150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 947150962dSArend van Spriel algorithm. Module will be called crc8. 957150962dSArend van Spriel 96e65e1fc2SAl Viroconfig AUDIT_GENERIC 97e65e1fc2SAl Viro bool 98e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 99e65e1fc2SAl Viro default y 100e65e1fc2SAl Viro 1011da177e4SLinus Torvalds# 1021da177e4SLinus Torvalds# compression support is select'ed if needed 1031da177e4SLinus Torvalds# 1041da177e4SLinus Torvaldsconfig ZLIB_INFLATE 1051da177e4SLinus Torvalds tristate 1061da177e4SLinus Torvalds 1071da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 1081da177e4SLinus Torvalds tristate 1091da177e4SLinus Torvalds 11064c70b1cSRichard Purdieconfig LZO_COMPRESS 11164c70b1cSRichard Purdie tristate 11264c70b1cSRichard Purdie 11364c70b1cSRichard Purdieconfig LZO_DECOMPRESS 11464c70b1cSRichard Purdie tristate 11564c70b1cSRichard Purdie 11624fa0402SLasse Collinsource "lib/xz/Kconfig" 11724fa0402SLasse Collin 1181da177e4SLinus Torvalds# 119c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 120c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 121c8531ab3SH. Peter Anvin# 122c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 1237856a16eSH. Peter Anvin select ZLIB_INFLATE 124c8531ab3SH. Peter Anvin tristate 125c8531ab3SH. Peter Anvin 126c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 127c8531ab3SH. Peter Anvin tristate 128c8531ab3SH. Peter Anvin 129c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 130c8531ab3SH. Peter Anvin tristate 131c8531ab3SH. Peter Anvin 1323ebe1243SLasse Collinconfig DECOMPRESS_XZ 1333ebe1243SLasse Collin select XZ_DEC 1343ebe1243SLasse Collin tristate 1353ebe1243SLasse Collin 136cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 137cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 138cacb246fSAlbin Tonnerre tristate 139cacb246fSAlbin Tonnerre 140c8531ab3SH. Peter Anvin# 141f14f75b8SJes Sorensen# Generic allocator support is selected if needed 142f14f75b8SJes Sorensen# 143f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 144f14f75b8SJes Sorensen boolean 145f14f75b8SJes Sorensen 146f14f75b8SJes Sorensen# 1471da177e4SLinus Torvalds# reed solomon support is select'ed if needed 1481da177e4SLinus Torvalds# 1491da177e4SLinus Torvaldsconfig REED_SOLOMON 1501da177e4SLinus Torvalds tristate 1511da177e4SLinus Torvalds 1521da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 1531da177e4SLinus Torvalds boolean 1541da177e4SLinus Torvalds 1551da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 1561da177e4SLinus Torvalds boolean 1571da177e4SLinus Torvalds 1581da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 1591da177e4SLinus Torvalds boolean 1601da177e4SLinus Torvalds 1611da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 1621da177e4SLinus Torvalds boolean 1631da177e4SLinus Torvalds 164f7704347SDavid S. Miller# 165437aa565SIvan Djelic# BCH support is selected if needed 166437aa565SIvan Djelic# 167437aa565SIvan Djelicconfig BCH 168437aa565SIvan Djelic tristate 169437aa565SIvan Djelic 170437aa565SIvan Djelicconfig BCH_CONST_PARAMS 171437aa565SIvan Djelic boolean 172437aa565SIvan Djelic help 173437aa565SIvan Djelic Drivers may select this option to force specific constant 174437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 175437aa565SIvan Djelic (error correction capability). Those specific values must 176437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 177437aa565SIvan Djelic and BCH_CONST_T. 178437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 179437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 180437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 181437aa565SIvan Djelic When this option is selected, the BCH library supports 182437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 183437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 184437aa565SIvan Djelic parameters. 185437aa565SIvan Djelic 186437aa565SIvan Djelicconfig BCH_CONST_M 187437aa565SIvan Djelic int 188437aa565SIvan Djelic range 5 15 189437aa565SIvan Djelic help 190437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 191437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 192437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 193437aa565SIvan Djelic Drivers should declare a default value for this symbol if 194437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 195437aa565SIvan Djelic 196437aa565SIvan Djelicconfig BCH_CONST_T 197437aa565SIvan Djelic int 198437aa565SIvan Djelic help 199437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 200437aa565SIvan Djelic Drivers should declare a default value for this symbol if 201437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 202437aa565SIvan Djelic 203437aa565SIvan Djelic# 204f7704347SDavid S. Miller# Textsearch support is select'ed if needed 205f7704347SDavid S. Miller# 2062de4ff7bSThomas Grafconfig TEXTSEARCH 207f7704347SDavid S. Miller boolean 2081da177e4SLinus Torvalds 209df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 210f7704347SDavid S. Miller tristate 211df3fb93aSThomas Graf 2128082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 21329cb9f9cSDavid S. Miller tristate 2148082e4edSPablo Neira Ayuso 2156408f79cSThomas Grafconfig TEXTSEARCH_FSM 216f7704347SDavid S. Miller tristate 2176408f79cSThomas Graf 2185db53f3eSJoern Engelconfig BTREE 2195db53f3eSJoern Engel boolean 2205db53f3eSJoern Engel 2215ea81769SAl Viroconfig HAS_IOMEM 222ee36c2bfSAl Viro boolean 2235ea81769SAl Viro depends on !NO_IOMEM 2245ea81769SAl Viro default y 2255ea81769SAl Viro 2265ea81769SAl Viroconfig HAS_IOPORT 2275ea81769SAl Viro boolean 2285ea81769SAl Viro depends on HAS_IOMEM && !NO_IOPORT 229ee36c2bfSAl Viro default y 230ee36c2bfSAl Viro 231411f0f3eSHeiko Carstensconfig HAS_DMA 232411f0f3eSHeiko Carstens boolean 233411f0f3eSHeiko Carstens depends on !NO_DMA 234411f0f3eSHeiko Carstens default y 235411f0f3eSHeiko Carstens 236928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 237928923c7SGeert Uytterhoeven bool 238928923c7SGeert Uytterhoeven 239aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 240aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 241aab46da0SRusty Russell help 242aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 243aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 244aab46da0SRusty Russell stack overflow. 245aab46da0SRusty Russell 2468c384cdeSRusty Russellconfig DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 2478c384cdeSRusty Russell bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 2488c384cdeSRusty Russell depends on EXPERIMENTAL && BROKEN 2498c384cdeSRusty Russell 250c39649c3SBen Hutchingsconfig CPU_RMAP 251c39649c3SBen Hutchings bool 252c39649c3SBen Hutchings depends on SMP 253c39649c3SBen Hutchings 25475957ba3STom Herbertconfig DQL 25575957ba3STom Herbert bool 25675957ba3STom Herbert 257e9cc8bddSGeert Uytterhoeven# 258e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 259e9cc8bddSGeert Uytterhoeven# 260e9cc8bddSGeert Uytterhoevenconfig NLATTR 261e9cc8bddSGeert Uytterhoeven bool 262e9cc8bddSGeert Uytterhoeven 26309d4e0edSPaul Mackerras# 26409d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 26509d4e0edSPaul Mackerras# 26609d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 26709d4e0edSPaul Mackerras bool 26809d4e0edSPaul Mackerras 269b411b363SPhilipp Reisnerconfig LRU_CACHE 270b411b363SPhilipp Reisner tristate 271b411b363SPhilipp Reisner 272c5485a7eSBruno Randolfconfig AVERAGE 273a7a9a24dSMichael Buesch bool "Averaging functions" 274a7a9a24dSMichael Buesch help 275a7a9a24dSMichael Buesch This option is provided for the case where no in-kernel-tree 276a7a9a24dSMichael Buesch modules require averaging functions, but a module built outside 277a7a9a24dSMichael Buesch the kernel tree does. Such modules that use library averaging 278a7a9a24dSMichael Buesch functions require Y here. 279a7a9a24dSMichael Buesch 280a7a9a24dSMichael Buesch If unsure, say N. 281c5485a7eSBruno Randolf 282*c6df4b17SDavid Millerconfig CLZ_TAB 283*c6df4b17SDavid Miller bool 284*c6df4b17SDavid Miller 28510f8113eSArend van Sprielconfig CORDIC 286d89ce936SMichael Witten tristate "CORDIC algorithm" 28710f8113eSArend van Spriel help 288435a95c5SMichael Witten This option provides an implementation of the CORDIC algorithm; 289435a95c5SMichael Witten calculations are in fixed point. Module will be called cordic. 29010f8113eSArend van Spriel 291d9c46b18SDmitry Kasatkinconfig MPILIB 2922e5f094bSDmitry Kasatkin tristate 293*c6df4b17SDavid Miller select CLZ_TAB 294d9c46b18SDmitry Kasatkin help 295d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 296d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 297d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 298d9c46b18SDmitry Kasatkin 2997e8dec91SDmitry Kasatkinconfig MPILIB_EXTRA 3002e5f094bSDmitry Kasatkin bool 3017e8dec91SDmitry Kasatkin depends on MPILIB 3027e8dec91SDmitry Kasatkin help 30368adcad5SDmitry Kasatkin Additional sources of multiprecision maths library from GnuPG. 30468adcad5SDmitry Kasatkin This code is unnecessary for RSA digital signature verification, 30568adcad5SDmitry Kasatkin but can be compiled if needed. 3067e8dec91SDmitry Kasatkin 3075e8898e9SDmitry Kasatkinconfig SIGNATURE 3082e5f094bSDmitry Kasatkin tristate 309be440ec7SDmitry Kasatkin depends on KEYS && CRYPTO 310be440ec7SDmitry Kasatkin select CRYPTO_SHA1 311051dbb91SDmitry Kasatkin select MPILIB 312051dbb91SDmitry Kasatkin help 313051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 314051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 315051dbb91SDmitry Kasatkin 3162de4ff7bSThomas Grafendmenu 317