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 22b923650bSMichael S. Tsirkinconfig NO_GENERIC_PCI_IOPORT_MAP 23b923650bSMichael S. Tsirkin bool 24b923650bSMichael S. Tsirkin 2566eab4dfSMichael S. Tsirkinconfig GENERIC_PCI_IOMAP 2666eab4dfSMichael S. Tsirkin bool 2766eab4dfSMichael S. Tsirkin 284673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 294673ca8eSMichael S. Tsirkin bool 3066eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 314673ca8eSMichael S. Tsirkin 32*087fafd1SRichard Weinbergerconfig GENERIC_IO 33*087fafd1SRichard Weinberger boolean 34*087fafd1SRichard Weinberger default n 35*087fafd1SRichard Weinberger 361da177e4SLinus Torvaldsconfig CRC_CCITT 371da177e4SLinus Torvalds tristate "CRC-CCITT functions" 381da177e4SLinus Torvalds help 391da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 401da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 411da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 421da177e4SLinus Torvalds functions require M here. 431da177e4SLinus Torvalds 447657ec1fSEvgeniy Polyakovconfig CRC16 457657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 467657ec1fSEvgeniy Polyakov help 477657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 487657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 497657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 507657ec1fSEvgeniy Polyakov functions require M here. 517657ec1fSEvgeniy Polyakov 52f11f594eSMartin K. Petersenconfig CRC_T10DIF 53f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 54f11f594eSMartin K. Petersen help 55f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 56f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 57f11f594eSMartin K. Petersen SCSI data integrity subsystem. 58f11f594eSMartin K. Petersen 593e7cbae7SIvo van Doornconfig CRC_ITU_T 603e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 613e7cbae7SIvo van Doorn help 623e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 633e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 643e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 653e7cbae7SIvo van Doorn functions require M here. 663e7cbae7SIvo van Doorn 671da177e4SLinus Torvaldsconfig CRC32 681da177e4SLinus Torvalds tristate "CRC32 functions" 691da177e4SLinus Torvalds default y 70906d66dfSAkinobu Mita select BITREVERSE 711da177e4SLinus Torvalds help 721da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 731da177e4SLinus Torvalds modules require CRC32 functions, but a module built outside the 741da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32 functions 751da177e4SLinus Torvalds require M here. 761da177e4SLinus Torvalds 77ad241528SJan Nikitenkoconfig CRC7 78ad241528SJan Nikitenko tristate "CRC7 functions" 79ad241528SJan Nikitenko help 80ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 81ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 82ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 83ad241528SJan Nikitenko functions require M here. 84ad241528SJan Nikitenko 851da177e4SLinus Torvaldsconfig LIBCRC32C 861da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 8793027354SHerbert Xu select CRYPTO 8869c35efcSHerbert Xu select CRYPTO_CRC32C 891da177e4SLinus Torvalds help 901da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 911da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 921da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 931da177e4SLinus Torvalds require M here. See Castagnoli93. 941da177e4SLinus Torvalds Module will be libcrc32c. 951da177e4SLinus Torvalds 967150962dSArend van Sprielconfig CRC8 977150962dSArend van Spriel tristate "CRC8 function" 987150962dSArend van Spriel help 997150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 1007150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 1017150962dSArend van Spriel algorithm. Module will be called crc8. 1027150962dSArend van Spriel 103e65e1fc2SAl Viroconfig AUDIT_GENERIC 104e65e1fc2SAl Viro bool 105e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 106e65e1fc2SAl Viro default y 107e65e1fc2SAl Viro 1081da177e4SLinus Torvalds# 1091da177e4SLinus Torvalds# compression support is select'ed if needed 1101da177e4SLinus Torvalds# 1111da177e4SLinus Torvaldsconfig ZLIB_INFLATE 1121da177e4SLinus Torvalds tristate 1131da177e4SLinus Torvalds 1141da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 1151da177e4SLinus Torvalds tristate 1161da177e4SLinus Torvalds 11764c70b1cSRichard Purdieconfig LZO_COMPRESS 11864c70b1cSRichard Purdie tristate 11964c70b1cSRichard Purdie 12064c70b1cSRichard Purdieconfig LZO_DECOMPRESS 12164c70b1cSRichard Purdie tristate 12264c70b1cSRichard Purdie 12324fa0402SLasse Collinsource "lib/xz/Kconfig" 12424fa0402SLasse Collin 1251da177e4SLinus Torvalds# 126c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 127c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 128c8531ab3SH. Peter Anvin# 129c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 1307856a16eSH. Peter Anvin select ZLIB_INFLATE 131c8531ab3SH. Peter Anvin tristate 132c8531ab3SH. Peter Anvin 133c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 134c8531ab3SH. Peter Anvin tristate 135c8531ab3SH. Peter Anvin 136c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 137c8531ab3SH. Peter Anvin tristate 138c8531ab3SH. Peter Anvin 1393ebe1243SLasse Collinconfig DECOMPRESS_XZ 1403ebe1243SLasse Collin select XZ_DEC 1413ebe1243SLasse Collin tristate 1423ebe1243SLasse Collin 143cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 144cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 145cacb246fSAlbin Tonnerre tristate 146cacb246fSAlbin Tonnerre 147c8531ab3SH. Peter Anvin# 148f14f75b8SJes Sorensen# Generic allocator support is selected if needed 149f14f75b8SJes Sorensen# 150f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 151f14f75b8SJes Sorensen boolean 152f14f75b8SJes Sorensen 153f14f75b8SJes Sorensen# 1541da177e4SLinus Torvalds# reed solomon support is select'ed if needed 1551da177e4SLinus Torvalds# 1561da177e4SLinus Torvaldsconfig REED_SOLOMON 1571da177e4SLinus Torvalds tristate 1581da177e4SLinus Torvalds 1591da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 1601da177e4SLinus Torvalds boolean 1611da177e4SLinus Torvalds 1621da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 1631da177e4SLinus Torvalds boolean 1641da177e4SLinus Torvalds 1651da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 1661da177e4SLinus Torvalds boolean 1671da177e4SLinus Torvalds 1681da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 1691da177e4SLinus Torvalds boolean 1701da177e4SLinus Torvalds 171f7704347SDavid S. Miller# 172437aa565SIvan Djelic# BCH support is selected if needed 173437aa565SIvan Djelic# 174437aa565SIvan Djelicconfig BCH 175437aa565SIvan Djelic tristate 176437aa565SIvan Djelic 177437aa565SIvan Djelicconfig BCH_CONST_PARAMS 178437aa565SIvan Djelic boolean 179437aa565SIvan Djelic help 180437aa565SIvan Djelic Drivers may select this option to force specific constant 181437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 182437aa565SIvan Djelic (error correction capability). Those specific values must 183437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 184437aa565SIvan Djelic and BCH_CONST_T. 185437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 186437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 187437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 188437aa565SIvan Djelic When this option is selected, the BCH library supports 189437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 190437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 191437aa565SIvan Djelic parameters. 192437aa565SIvan Djelic 193437aa565SIvan Djelicconfig BCH_CONST_M 194437aa565SIvan Djelic int 195437aa565SIvan Djelic range 5 15 196437aa565SIvan Djelic help 197437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 198437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 199437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 200437aa565SIvan Djelic Drivers should declare a default value for this symbol if 201437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 202437aa565SIvan Djelic 203437aa565SIvan Djelicconfig BCH_CONST_T 204437aa565SIvan Djelic int 205437aa565SIvan Djelic help 206437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 207437aa565SIvan Djelic Drivers should declare a default value for this symbol if 208437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 209437aa565SIvan Djelic 210437aa565SIvan Djelic# 211f7704347SDavid S. Miller# Textsearch support is select'ed if needed 212f7704347SDavid S. Miller# 2132de4ff7bSThomas Grafconfig TEXTSEARCH 214f7704347SDavid S. Miller boolean 2151da177e4SLinus Torvalds 216df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 217f7704347SDavid S. Miller tristate 218df3fb93aSThomas Graf 2198082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 22029cb9f9cSDavid S. Miller tristate 2218082e4edSPablo Neira Ayuso 2226408f79cSThomas Grafconfig TEXTSEARCH_FSM 223f7704347SDavid S. Miller tristate 2246408f79cSThomas Graf 2255db53f3eSJoern Engelconfig BTREE 2265db53f3eSJoern Engel boolean 2275db53f3eSJoern Engel 2285ea81769SAl Viroconfig HAS_IOMEM 229ee36c2bfSAl Viro boolean 2305ea81769SAl Viro depends on !NO_IOMEM 231*087fafd1SRichard Weinberger select GENERIC_IO 2325ea81769SAl Viro default y 2335ea81769SAl Viro 2345ea81769SAl Viroconfig HAS_IOPORT 2355ea81769SAl Viro boolean 2365ea81769SAl Viro depends on HAS_IOMEM && !NO_IOPORT 237ee36c2bfSAl Viro default y 238ee36c2bfSAl Viro 239411f0f3eSHeiko Carstensconfig HAS_DMA 240411f0f3eSHeiko Carstens boolean 241411f0f3eSHeiko Carstens depends on !NO_DMA 242411f0f3eSHeiko Carstens default y 243411f0f3eSHeiko Carstens 244928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 245928923c7SGeert Uytterhoeven bool 246928923c7SGeert Uytterhoeven 247aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 248aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 249aab46da0SRusty Russell help 250aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 251aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 252aab46da0SRusty Russell stack overflow. 253aab46da0SRusty Russell 2548c384cdeSRusty Russellconfig DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 2558c384cdeSRusty Russell bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 2568c384cdeSRusty Russell depends on EXPERIMENTAL && BROKEN 2578c384cdeSRusty Russell 258c39649c3SBen Hutchingsconfig CPU_RMAP 259c39649c3SBen Hutchings bool 260c39649c3SBen Hutchings depends on SMP 261c39649c3SBen Hutchings 26275957ba3STom Herbertconfig DQL 26375957ba3STom Herbert bool 26475957ba3STom Herbert 265e9cc8bddSGeert Uytterhoeven# 266e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 267e9cc8bddSGeert Uytterhoeven# 268e9cc8bddSGeert Uytterhoevenconfig NLATTR 269e9cc8bddSGeert Uytterhoeven bool 270e9cc8bddSGeert Uytterhoeven 27109d4e0edSPaul Mackerras# 27209d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 27309d4e0edSPaul Mackerras# 27409d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 27509d4e0edSPaul Mackerras bool 27609d4e0edSPaul Mackerras 277b411b363SPhilipp Reisnerconfig LRU_CACHE 278b411b363SPhilipp Reisner tristate 279b411b363SPhilipp Reisner 280c5485a7eSBruno Randolfconfig AVERAGE 281a7a9a24dSMichael Buesch bool "Averaging functions" 282a7a9a24dSMichael Buesch help 283a7a9a24dSMichael Buesch This option is provided for the case where no in-kernel-tree 284a7a9a24dSMichael Buesch modules require averaging functions, but a module built outside 285a7a9a24dSMichael Buesch the kernel tree does. Such modules that use library averaging 286a7a9a24dSMichael Buesch functions require Y here. 287a7a9a24dSMichael Buesch 288a7a9a24dSMichael Buesch If unsure, say N. 289c5485a7eSBruno Randolf 290c6df4b17SDavid Millerconfig CLZ_TAB 291c6df4b17SDavid Miller bool 292c6df4b17SDavid Miller 29310f8113eSArend van Sprielconfig CORDIC 294d89ce936SMichael Witten tristate "CORDIC algorithm" 29510f8113eSArend van Spriel help 296435a95c5SMichael Witten This option provides an implementation of the CORDIC algorithm; 297435a95c5SMichael Witten calculations are in fixed point. Module will be called cordic. 29810f8113eSArend van Spriel 299d9c46b18SDmitry Kasatkinconfig MPILIB 3002e5f094bSDmitry Kasatkin tristate 301c6df4b17SDavid Miller select CLZ_TAB 302d9c46b18SDmitry Kasatkin help 303d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 304d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 305d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 306d9c46b18SDmitry Kasatkin 3077e8dec91SDmitry Kasatkinconfig MPILIB_EXTRA 3082e5f094bSDmitry Kasatkin bool 3097e8dec91SDmitry Kasatkin depends on MPILIB 3107e8dec91SDmitry Kasatkin help 31168adcad5SDmitry Kasatkin Additional sources of multiprecision maths library from GnuPG. 31268adcad5SDmitry Kasatkin This code is unnecessary for RSA digital signature verification, 31368adcad5SDmitry Kasatkin but can be compiled if needed. 3147e8dec91SDmitry Kasatkin 3155e8898e9SDmitry Kasatkinconfig SIGNATURE 3162e5f094bSDmitry Kasatkin tristate 317be440ec7SDmitry Kasatkin depends on KEYS && CRYPTO 318be440ec7SDmitry Kasatkin select CRYPTO_SHA1 319051dbb91SDmitry Kasatkin select MPILIB 320051dbb91SDmitry Kasatkin help 321051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 322051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 323051dbb91SDmitry Kasatkin 3242de4ff7bSThomas Grafendmenu 325