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 221da177e4SLinus Torvaldsconfig CRC_CCITT 231da177e4SLinus Torvalds tristate "CRC-CCITT functions" 241da177e4SLinus Torvalds help 251da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 261da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 271da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 281da177e4SLinus Torvalds functions require M here. 291da177e4SLinus Torvalds 307657ec1fSEvgeniy Polyakovconfig CRC16 317657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 327657ec1fSEvgeniy Polyakov help 337657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 347657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 357657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 367657ec1fSEvgeniy Polyakov functions require M here. 377657ec1fSEvgeniy Polyakov 38f11f594eSMartin K. Petersenconfig CRC_T10DIF 39f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 40f11f594eSMartin K. Petersen help 41f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 42f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 43f11f594eSMartin K. Petersen SCSI data integrity subsystem. 44f11f594eSMartin K. Petersen 453e7cbae7SIvo van Doornconfig CRC_ITU_T 463e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 473e7cbae7SIvo van Doorn help 483e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 493e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 503e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 513e7cbae7SIvo van Doorn functions require M here. 523e7cbae7SIvo van Doorn 531da177e4SLinus Torvaldsconfig CRC32 541da177e4SLinus Torvalds tristate "CRC32 functions" 551da177e4SLinus Torvalds default y 56906d66dfSAkinobu Mita select BITREVERSE 571da177e4SLinus Torvalds help 581da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 591da177e4SLinus Torvalds modules require CRC32 functions, but a module built outside the 601da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32 functions 611da177e4SLinus Torvalds require M here. 621da177e4SLinus Torvalds 63ad241528SJan Nikitenkoconfig CRC7 64ad241528SJan Nikitenko tristate "CRC7 functions" 65ad241528SJan Nikitenko help 66ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 67ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 68ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 69ad241528SJan Nikitenko functions require M here. 70ad241528SJan Nikitenko 711da177e4SLinus Torvaldsconfig LIBCRC32C 721da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 7393027354SHerbert Xu select CRYPTO 7469c35efcSHerbert Xu select CRYPTO_CRC32C 751da177e4SLinus Torvalds help 761da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 771da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 781da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 791da177e4SLinus Torvalds require M here. See Castagnoli93. 801da177e4SLinus Torvalds Module will be libcrc32c. 811da177e4SLinus Torvalds 827150962dSArend van Sprielconfig CRC8 837150962dSArend van Spriel tristate "CRC8 function" 847150962dSArend van Spriel help 857150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 867150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 877150962dSArend van Spriel algorithm. Module will be called crc8. 887150962dSArend van Spriel 89e65e1fc2SAl Viroconfig AUDIT_GENERIC 90e65e1fc2SAl Viro bool 91e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 92e65e1fc2SAl Viro default y 93e65e1fc2SAl Viro 941da177e4SLinus Torvalds# 951da177e4SLinus Torvalds# compression support is select'ed if needed 961da177e4SLinus Torvalds# 971da177e4SLinus Torvaldsconfig ZLIB_INFLATE 981da177e4SLinus Torvalds tristate 991da177e4SLinus Torvalds 1001da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 1011da177e4SLinus Torvalds tristate 1021da177e4SLinus Torvalds 10364c70b1cSRichard Purdieconfig LZO_COMPRESS 10464c70b1cSRichard Purdie tristate 10564c70b1cSRichard Purdie 10664c70b1cSRichard Purdieconfig LZO_DECOMPRESS 10764c70b1cSRichard Purdie tristate 10864c70b1cSRichard Purdie 10924fa0402SLasse Collinsource "lib/xz/Kconfig" 11024fa0402SLasse Collin 1111da177e4SLinus Torvalds# 112c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 113c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 114c8531ab3SH. Peter Anvin# 115c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 1167856a16eSH. Peter Anvin select ZLIB_INFLATE 117c8531ab3SH. Peter Anvin tristate 118c8531ab3SH. Peter Anvin 119c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 120c8531ab3SH. Peter Anvin tristate 121c8531ab3SH. Peter Anvin 122c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 123c8531ab3SH. Peter Anvin tristate 124c8531ab3SH. Peter Anvin 1253ebe1243SLasse Collinconfig DECOMPRESS_XZ 1263ebe1243SLasse Collin select XZ_DEC 1273ebe1243SLasse Collin tristate 1283ebe1243SLasse Collin 129cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 130cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 131cacb246fSAlbin Tonnerre tristate 132cacb246fSAlbin Tonnerre 133c8531ab3SH. Peter Anvin# 134f14f75b8SJes Sorensen# Generic allocator support is selected if needed 135f14f75b8SJes Sorensen# 136f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 137f14f75b8SJes Sorensen boolean 138f14f75b8SJes Sorensen 139f14f75b8SJes Sorensen# 1401da177e4SLinus Torvalds# reed solomon support is select'ed if needed 1411da177e4SLinus Torvalds# 1421da177e4SLinus Torvaldsconfig REED_SOLOMON 1431da177e4SLinus Torvalds tristate 1441da177e4SLinus Torvalds 1451da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 1461da177e4SLinus Torvalds boolean 1471da177e4SLinus Torvalds 1481da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 1491da177e4SLinus Torvalds boolean 1501da177e4SLinus Torvalds 1511da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 1521da177e4SLinus Torvalds boolean 1531da177e4SLinus Torvalds 1541da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 1551da177e4SLinus Torvalds boolean 1561da177e4SLinus Torvalds 157f7704347SDavid S. Miller# 158437aa565SIvan Djelic# BCH support is selected if needed 159437aa565SIvan Djelic# 160437aa565SIvan Djelicconfig BCH 161437aa565SIvan Djelic tristate 162437aa565SIvan Djelic 163437aa565SIvan Djelicconfig BCH_CONST_PARAMS 164437aa565SIvan Djelic boolean 165437aa565SIvan Djelic help 166437aa565SIvan Djelic Drivers may select this option to force specific constant 167437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 168437aa565SIvan Djelic (error correction capability). Those specific values must 169437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 170437aa565SIvan Djelic and BCH_CONST_T. 171437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 172437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 173437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 174437aa565SIvan Djelic When this option is selected, the BCH library supports 175437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 176437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 177437aa565SIvan Djelic parameters. 178437aa565SIvan Djelic 179437aa565SIvan Djelicconfig BCH_CONST_M 180437aa565SIvan Djelic int 181437aa565SIvan Djelic range 5 15 182437aa565SIvan Djelic help 183437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 184437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 185437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 186437aa565SIvan Djelic Drivers should declare a default value for this symbol if 187437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 188437aa565SIvan Djelic 189437aa565SIvan Djelicconfig BCH_CONST_T 190437aa565SIvan Djelic int 191437aa565SIvan Djelic help 192437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 193437aa565SIvan Djelic Drivers should declare a default value for this symbol if 194437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 195437aa565SIvan Djelic 196437aa565SIvan Djelic# 197f7704347SDavid S. Miller# Textsearch support is select'ed if needed 198f7704347SDavid S. Miller# 1992de4ff7bSThomas Grafconfig TEXTSEARCH 200f7704347SDavid S. Miller boolean 2011da177e4SLinus Torvalds 202df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 203f7704347SDavid S. Miller tristate 204df3fb93aSThomas Graf 2058082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 20629cb9f9cSDavid S. Miller tristate 2078082e4edSPablo Neira Ayuso 2086408f79cSThomas Grafconfig TEXTSEARCH_FSM 209f7704347SDavid S. Miller tristate 2106408f79cSThomas Graf 2115db53f3eSJoern Engelconfig BTREE 2125db53f3eSJoern Engel boolean 2135db53f3eSJoern Engel 2145ea81769SAl Viroconfig HAS_IOMEM 215ee36c2bfSAl Viro boolean 2165ea81769SAl Viro depends on !NO_IOMEM 2175ea81769SAl Viro default y 2185ea81769SAl Viro 2195ea81769SAl Viroconfig HAS_IOPORT 2205ea81769SAl Viro boolean 2215ea81769SAl Viro depends on HAS_IOMEM && !NO_IOPORT 222ee36c2bfSAl Viro default y 223ee36c2bfSAl Viro 224411f0f3eSHeiko Carstensconfig HAS_DMA 225411f0f3eSHeiko Carstens boolean 226411f0f3eSHeiko Carstens depends on !NO_DMA 227411f0f3eSHeiko Carstens default y 228411f0f3eSHeiko Carstens 229928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 230928923c7SGeert Uytterhoeven bool 231928923c7SGeert Uytterhoeven 232aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 233aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 234aab46da0SRusty Russell help 235aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 236aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 237aab46da0SRusty Russell stack overflow. 238aab46da0SRusty Russell 2398c384cdeSRusty Russellconfig DISABLE_OBSOLETE_CPUMASK_FUNCTIONS 2408c384cdeSRusty Russell bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS 2418c384cdeSRusty Russell depends on EXPERIMENTAL && BROKEN 2428c384cdeSRusty Russell 243c39649c3SBen Hutchingsconfig CPU_RMAP 244c39649c3SBen Hutchings bool 245c39649c3SBen Hutchings depends on SMP 246c39649c3SBen Hutchings 247e9cc8bddSGeert Uytterhoeven# 248e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 249e9cc8bddSGeert Uytterhoeven# 250e9cc8bddSGeert Uytterhoevenconfig NLATTR 251e9cc8bddSGeert Uytterhoeven bool 252e9cc8bddSGeert Uytterhoeven 25309d4e0edSPaul Mackerras# 25409d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 25509d4e0edSPaul Mackerras# 25609d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 25709d4e0edSPaul Mackerras bool 25809d4e0edSPaul Mackerras 259b411b363SPhilipp Reisnerconfig LRU_CACHE 260b411b363SPhilipp Reisner tristate 261b411b363SPhilipp Reisner 262c5485a7eSBruno Randolfconfig AVERAGE 263a7a9a24dSMichael Buesch bool "Averaging functions" 264a7a9a24dSMichael Buesch help 265a7a9a24dSMichael Buesch This option is provided for the case where no in-kernel-tree 266a7a9a24dSMichael Buesch modules require averaging functions, but a module built outside 267a7a9a24dSMichael Buesch the kernel tree does. Such modules that use library averaging 268a7a9a24dSMichael Buesch functions require Y here. 269a7a9a24dSMichael Buesch 270a7a9a24dSMichael Buesch If unsure, say N. 271c5485a7eSBruno Randolf 27210f8113eSArend van Sprielconfig CORDIC 27310f8113eSArend van Spriel tristate "Cordic function" 27410f8113eSArend van Spriel help 27510f8113eSArend van Spriel The option provides arithmetic function using cordic algorithm 27610f8113eSArend van Spriel so its calculations are in fixed point. Modules can select this 27710f8113eSArend van Spriel when they require this function. Module will be called cordic. 27810f8113eSArend van Spriel 279d9c46b18SDmitry Kasatkinconfig MPILIB 280d9c46b18SDmitry Kasatkin tristate "Multiprecision maths library" 281d9c46b18SDmitry Kasatkin help 282d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 283d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 284d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 285d9c46b18SDmitry Kasatkin 2867e8dec91SDmitry Kasatkinconfig MPILIB_EXTRA 2877e8dec91SDmitry Kasatkin bool "Multiprecision maths library - additional sources" 2887e8dec91SDmitry Kasatkin depends on MPILIB 2897e8dec91SDmitry Kasatkin help 2907e8dec91SDmitry Kasatkin Multiprecision maths library from GnuPG. 2917e8dec91SDmitry Kasatkin It is used to implement RSA digital signature verification, 2927e8dec91SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 2937e8dec91SDmitry Kasatkin This code in unnecessary for RSA digital signature verification, 2947e8dec91SDmitry Kasatkin and can be compiled if needed. 2957e8dec91SDmitry Kasatkin 296*051dbb91SDmitry Kasatkinconfig DIGSIG 297*051dbb91SDmitry Kasatkin tristate "In-kernel signature checker" 298*051dbb91SDmitry Kasatkin depends on CRYPTO 299*051dbb91SDmitry Kasatkin select MPILIB 300*051dbb91SDmitry Kasatkin help 301*051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 302*051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 303*051dbb91SDmitry Kasatkin 3042de4ff7bSThomas Grafendmenu 305