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 16556d2f05SYalin Wangconfig HAVE_ARCH_BITREVERSE 17841c0090SChristoph Jaeger bool 18556d2f05SYalin Wang default n 19556d2f05SYalin Wang depends on BITREVERSE 20556d2f05SYalin Wang help 219e522c0dSAndrew Morton This option enables the use of hardware bit-reversal instructions on 229e522c0dSAndrew Morton architectures which support such operations. 23556d2f05SYalin Wang 248759ef32SOskar Schirmerconfig RATIONAL 256341e62bSChristoph Jaeger bool 268759ef32SOskar Schirmer 272922585bSDavid S. Millerconfig GENERIC_STRNCPY_FROM_USER 282922585bSDavid S. Miller bool 292922585bSDavid S. Miller 30a08c5356SLinus Torvaldsconfig GENERIC_STRNLEN_USER 31a08c5356SLinus Torvalds bool 32a08c5356SLinus Torvalds 334cd5773aSAndy Shevchenkoconfig GENERIC_NET_UTILS 344cd5773aSAndy Shevchenko bool 354cd5773aSAndy Shevchenko 3619870defSAlexander van Heukelumconfig GENERIC_FIND_FIRST_BIT 379ba16087SJan Beulich bool 3819870defSAlexander van Heukelum 39b923650bSMichael S. Tsirkinconfig NO_GENERIC_PCI_IOPORT_MAP 40b923650bSMichael S. Tsirkin bool 41b923650bSMichael S. Tsirkin 4266eab4dfSMichael S. Tsirkinconfig GENERIC_PCI_IOMAP 4366eab4dfSMichael S. Tsirkin bool 4466eab4dfSMichael S. Tsirkin 454673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 464673ca8eSMichael S. Tsirkin bool 4766eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 484673ca8eSMichael S. Tsirkin 494ccf4beaSWolfram Sangconfig STMP_DEVICE 504ccf4beaSWolfram Sang bool 514ccf4beaSWolfram Sang 52bc08b449SLinus Torvaldsconfig ARCH_USE_CMPXCHG_LOCKREF 53bc08b449SLinus Torvalds bool 54bc08b449SLinus Torvalds 5572d93104SLinus Torvaldsconfig ARCH_HAS_FAST_MULTIPLIER 5672d93104SLinus Torvalds bool 5772d93104SLinus Torvalds 58031e3601SZhichang Yuanconfig INDIRECT_PIO 59031e3601SZhichang Yuan bool "Access I/O in non-MMIO mode" 60031e3601SZhichang Yuan depends on ARM64 61031e3601SZhichang Yuan help 62031e3601SZhichang Yuan On some platforms where no separate I/O space exists, there are I/O 63031e3601SZhichang Yuan hosts which can not be accessed in MMIO mode. Using the logical PIO 64031e3601SZhichang Yuan mechanism, the host-local I/O resource can be mapped into system 65031e3601SZhichang Yuan logic PIO space shared with MMIO hosts, such as PCI/PCIe, then the 66031e3601SZhichang Yuan system can access the I/O devices with the mapped-logic PIO through 67031e3601SZhichang Yuan I/O accessors. 68031e3601SZhichang Yuan 69031e3601SZhichang Yuan This way has relatively little I/O performance cost. Please make 70031e3601SZhichang Yuan sure your devices really need this configure item enabled. 71031e3601SZhichang Yuan 72031e3601SZhichang Yuan When in doubt, say N. 73031e3601SZhichang Yuan 741da177e4SLinus Torvaldsconfig CRC_CCITT 751da177e4SLinus Torvalds tristate "CRC-CCITT functions" 761da177e4SLinus Torvalds help 771da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 781da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 791da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 801da177e4SLinus Torvalds functions require M here. 811da177e4SLinus Torvalds 827657ec1fSEvgeniy Polyakovconfig CRC16 837657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 847657ec1fSEvgeniy Polyakov help 857657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 867657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 877657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 887657ec1fSEvgeniy Polyakov functions require M here. 897657ec1fSEvgeniy Polyakov 90f11f594eSMartin K. Petersenconfig CRC_T10DIF 91f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 9268411521SHerbert Xu select CRYPTO 9368411521SHerbert Xu select CRYPTO_CRCT10DIF 94f11f594eSMartin K. Petersen help 95f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 96f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 97f11f594eSMartin K. Petersen SCSI data integrity subsystem. 98f11f594eSMartin K. Petersen 993e7cbae7SIvo van Doornconfig CRC_ITU_T 1003e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 1013e7cbae7SIvo van Doorn help 1023e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 1033e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 1043e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 1053e7cbae7SIvo van Doorn functions require M here. 1063e7cbae7SIvo van Doorn 1071da177e4SLinus Torvaldsconfig CRC32 10846c5801eSDarrick J. Wong tristate "CRC32/CRC32c functions" 1091da177e4SLinus Torvalds default y 110906d66dfSAkinobu Mita select BITREVERSE 1111da177e4SLinus Torvalds help 1121da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 11346c5801eSDarrick J. Wong modules require CRC32/CRC32c functions, but a module built outside 11446c5801eSDarrick J. Wong the kernel tree does. Such modules that use library CRC32/CRC32c 11546c5801eSDarrick J. Wong functions require M here. 1161da177e4SLinus Torvalds 1173863ef31SBob Pearsonconfig CRC32_SELFTEST 1185fb7f874SGeert Uytterhoeven tristate "CRC32 perform self test on init" 1193863ef31SBob Pearson depends on CRC32 1203863ef31SBob Pearson help 1213863ef31SBob Pearson This option enables the CRC32 library functions to perform a 1223863ef31SBob Pearson self test on initialization. The self test computes crc32_le 1233863ef31SBob Pearson and crc32_be over byte strings with random alignment and length 1243863ef31SBob Pearson and computes the total elapsed time and number of bytes processed. 1253863ef31SBob Pearson 1265cde7656SDarrick J. Wongchoice 1275cde7656SDarrick J. Wong prompt "CRC32 implementation" 1285cde7656SDarrick J. Wong depends on CRC32 1295cde7656SDarrick J. Wong default CRC32_SLICEBY8 13082edb4baSDarrick J. Wong help 13182edb4baSDarrick J. Wong This option allows a kernel builder to override the default choice 13282edb4baSDarrick J. Wong of CRC32 algorithm. Choose the default ("slice by 8") unless you 13382edb4baSDarrick J. Wong know that you need one of the others. 1345cde7656SDarrick J. Wong 1355cde7656SDarrick J. Wongconfig CRC32_SLICEBY8 1365cde7656SDarrick J. Wong bool "Slice by 8 bytes" 1375cde7656SDarrick J. Wong help 1385cde7656SDarrick J. Wong Calculate checksum 8 bytes at a time with a clever slicing algorithm. 1395cde7656SDarrick J. Wong This is the fastest algorithm, but comes with a 8KiB lookup table. 1405cde7656SDarrick J. Wong Most modern processors have enough cache to hold this table without 1415cde7656SDarrick J. Wong thrashing the cache. 1425cde7656SDarrick J. Wong 1435cde7656SDarrick J. Wong This is the default implementation choice. Choose this one unless 1445cde7656SDarrick J. Wong you have a good reason not to. 1455cde7656SDarrick J. Wong 1465cde7656SDarrick J. Wongconfig CRC32_SLICEBY4 1475cde7656SDarrick J. Wong bool "Slice by 4 bytes" 1485cde7656SDarrick J. Wong help 1495cde7656SDarrick J. Wong Calculate checksum 4 bytes at a time with a clever slicing algorithm. 1505cde7656SDarrick J. Wong This is a bit slower than slice by 8, but has a smaller 4KiB lookup 1515cde7656SDarrick J. Wong table. 1525cde7656SDarrick J. Wong 1535cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1545cde7656SDarrick J. Wong 1555cde7656SDarrick J. Wongconfig CRC32_SARWATE 1565cde7656SDarrick J. Wong bool "Sarwate's Algorithm (one byte at a time)" 1575cde7656SDarrick J. Wong help 1585cde7656SDarrick J. Wong Calculate checksum a byte at a time using Sarwate's algorithm. This 1595cde7656SDarrick J. Wong is not particularly fast, but has a small 256 byte lookup table. 1605cde7656SDarrick J. Wong 1615cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1625cde7656SDarrick J. Wong 1635cde7656SDarrick J. Wongconfig CRC32_BIT 1645cde7656SDarrick J. Wong bool "Classic Algorithm (one bit at a time)" 1655cde7656SDarrick J. Wong help 1665cde7656SDarrick J. Wong Calculate checksum one bit at a time. This is VERY slow, but has 1675cde7656SDarrick J. Wong no lookup table. This is provided as a debugging option. 1685cde7656SDarrick J. Wong 1695cde7656SDarrick J. Wong Only choose this option if you are debugging crc32. 1705cde7656SDarrick J. Wong 1715cde7656SDarrick J. Wongendchoice 1725cde7656SDarrick J. Wong 173feba04fdSColy Liconfig CRC64 174feba04fdSColy Li tristate "CRC64 functions" 175feba04fdSColy Li help 176feba04fdSColy Li This option is provided for the case where no in-kernel-tree 177feba04fdSColy Li modules require CRC64 functions, but a module built outside 178feba04fdSColy Li the kernel tree does. Such modules that use library CRC64 179feba04fdSColy Li functions require M here. 180feba04fdSColy Li 1810cbaa448SJeremy Kerrconfig CRC4 1820cbaa448SJeremy Kerr tristate "CRC4 functions" 1830cbaa448SJeremy Kerr help 1840cbaa448SJeremy Kerr This option is provided for the case where no in-kernel-tree 1850cbaa448SJeremy Kerr modules require CRC4 functions, but a module built outside 1860cbaa448SJeremy Kerr the kernel tree does. Such modules that use library CRC4 1870cbaa448SJeremy Kerr functions require M here. 1880cbaa448SJeremy Kerr 189ad241528SJan Nikitenkoconfig CRC7 190ad241528SJan Nikitenko tristate "CRC7 functions" 191ad241528SJan Nikitenko help 192ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 193ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 194ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 195ad241528SJan Nikitenko functions require M here. 196ad241528SJan Nikitenko 1971da177e4SLinus Torvaldsconfig LIBCRC32C 1981da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 19993027354SHerbert Xu select CRYPTO 20069c35efcSHerbert Xu select CRYPTO_CRC32C 2011da177e4SLinus Torvalds help 2021da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 2031da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 2041da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 2051da177e4SLinus Torvalds require M here. See Castagnoli93. 2061da177e4SLinus Torvalds Module will be libcrc32c. 2071da177e4SLinus Torvalds 2087150962dSArend van Sprielconfig CRC8 2097150962dSArend van Spriel tristate "CRC8 function" 2107150962dSArend van Spriel help 2117150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 2127150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 2137150962dSArend van Spriel algorithm. Module will be called crc8. 2147150962dSArend van Spriel 2155d240522SNick Terrellconfig XXHASH 2165d240522SNick Terrell tristate 2175d240522SNick Terrell 218e65e1fc2SAl Viroconfig AUDIT_GENERIC 219e65e1fc2SAl Viro bool 220e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 221e65e1fc2SAl Viro default y 222e65e1fc2SAl Viro 2234b588411SAKASHI Takahiroconfig AUDIT_ARCH_COMPAT_GENERIC 2244b588411SAKASHI Takahiro bool 2254b588411SAKASHI Takahiro default n 2264b588411SAKASHI Takahiro 2274b588411SAKASHI Takahiroconfig AUDIT_COMPAT_GENERIC 2284b588411SAKASHI Takahiro bool 2294b588411SAKASHI Takahiro depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT 2304b588411SAKASHI Takahiro default y 2314b588411SAKASHI Takahiro 232a6a9c0f1SDaniel Borkmannconfig RANDOM32_SELFTEST 233a6a9c0f1SDaniel Borkmann bool "PRNG perform self test on init" 234a6a9c0f1SDaniel Borkmann help 235a6a9c0f1SDaniel Borkmann This option enables the 32 bit PRNG library functions to perform a 236a6a9c0f1SDaniel Borkmann self test on initialization. 237a6a9c0f1SDaniel Borkmann 2381da177e4SLinus Torvalds# 2391da177e4SLinus Torvalds# compression support is select'ed if needed 2401da177e4SLinus Torvalds# 2412da572c9SDan Streetmanconfig 842_COMPRESS 2425b571677SArnd Bergmann select CRC32 2432da572c9SDan Streetman tristate 2442da572c9SDan Streetman 2452da572c9SDan Streetmanconfig 842_DECOMPRESS 2465b571677SArnd Bergmann select CRC32 2472da572c9SDan Streetman tristate 2482da572c9SDan Streetman 2491da177e4SLinus Torvaldsconfig ZLIB_INFLATE 2501da177e4SLinus Torvalds tristate 2511da177e4SLinus Torvalds 2521da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 2531da177e4SLinus Torvalds tristate 2541fd4e5c3SAndrew Morton select BITREVERSE 2551da177e4SLinus Torvalds 25664c70b1cSRichard Purdieconfig LZO_COMPRESS 25764c70b1cSRichard Purdie tristate 25864c70b1cSRichard Purdie 25964c70b1cSRichard Purdieconfig LZO_DECOMPRESS 26064c70b1cSRichard Purdie tristate 26164c70b1cSRichard Purdie 262c72ac7a1SChanho Minconfig LZ4_COMPRESS 263c72ac7a1SChanho Min tristate 264c72ac7a1SChanho Min 265c72ac7a1SChanho Minconfig LZ4HC_COMPRESS 266c72ac7a1SChanho Min tristate 267c72ac7a1SChanho Min 268e76e1fdfSKyungsik Leeconfig LZ4_DECOMPRESS 269e76e1fdfSKyungsik Lee tristate 270e76e1fdfSKyungsik Lee 27173f3d1b4SNick Terrellconfig ZSTD_COMPRESS 27273f3d1b4SNick Terrell select XXHASH 27373f3d1b4SNick Terrell tristate 27473f3d1b4SNick Terrell 27573f3d1b4SNick Terrellconfig ZSTD_DECOMPRESS 27673f3d1b4SNick Terrell select XXHASH 27773f3d1b4SNick Terrell tristate 27873f3d1b4SNick Terrell 27924fa0402SLasse Collinsource "lib/xz/Kconfig" 28024fa0402SLasse Collin 2811da177e4SLinus Torvalds# 282c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 283c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 284c8531ab3SH. Peter Anvin# 285c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 2867856a16eSH. Peter Anvin select ZLIB_INFLATE 287c8531ab3SH. Peter Anvin tristate 288c8531ab3SH. Peter Anvin 289c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 290c8531ab3SH. Peter Anvin tristate 291c8531ab3SH. Peter Anvin 292c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 293c8531ab3SH. Peter Anvin tristate 294c8531ab3SH. Peter Anvin 2953ebe1243SLasse Collinconfig DECOMPRESS_XZ 2963ebe1243SLasse Collin select XZ_DEC 2973ebe1243SLasse Collin tristate 2983ebe1243SLasse Collin 299cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 300cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 301cacb246fSAlbin Tonnerre tristate 302cacb246fSAlbin Tonnerre 303e76e1fdfSKyungsik Leeconfig DECOMPRESS_LZ4 304e76e1fdfSKyungsik Lee select LZ4_DECOMPRESS 305e76e1fdfSKyungsik Lee tristate 306e76e1fdfSKyungsik Lee 307c8531ab3SH. Peter Anvin# 308f14f75b8SJes Sorensen# Generic allocator support is selected if needed 309f14f75b8SJes Sorensen# 310f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 3116341e62bSChristoph Jaeger bool 312f14f75b8SJes Sorensen 313f14f75b8SJes Sorensen# 3141da177e4SLinus Torvalds# reed solomon support is select'ed if needed 3151da177e4SLinus Torvalds# 3161da177e4SLinus Torvaldsconfig REED_SOLOMON 3171da177e4SLinus Torvalds tristate 3181da177e4SLinus Torvalds 3191da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 3206341e62bSChristoph Jaeger bool 3211da177e4SLinus Torvalds 3221da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 3236341e62bSChristoph Jaeger bool 3241da177e4SLinus Torvalds 3251da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 3266341e62bSChristoph Jaeger bool 3271da177e4SLinus Torvalds 3281da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 3296341e62bSChristoph Jaeger bool 3301da177e4SLinus Torvalds 331f7704347SDavid S. Miller# 332437aa565SIvan Djelic# BCH support is selected if needed 333437aa565SIvan Djelic# 334437aa565SIvan Djelicconfig BCH 335437aa565SIvan Djelic tristate 336437aa565SIvan Djelic 337437aa565SIvan Djelicconfig BCH_CONST_PARAMS 3386341e62bSChristoph Jaeger bool 339437aa565SIvan Djelic help 340437aa565SIvan Djelic Drivers may select this option to force specific constant 341437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 342437aa565SIvan Djelic (error correction capability). Those specific values must 343437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 344437aa565SIvan Djelic and BCH_CONST_T. 345437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 346437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 347437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 348437aa565SIvan Djelic When this option is selected, the BCH library supports 349437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 350437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 351437aa565SIvan Djelic parameters. 352437aa565SIvan Djelic 353437aa565SIvan Djelicconfig BCH_CONST_M 354437aa565SIvan Djelic int 355437aa565SIvan Djelic range 5 15 356437aa565SIvan Djelic help 357437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 358437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 359437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 360437aa565SIvan Djelic Drivers should declare a default value for this symbol if 361437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 362437aa565SIvan Djelic 363437aa565SIvan Djelicconfig BCH_CONST_T 364437aa565SIvan Djelic int 365437aa565SIvan Djelic help 366437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 367437aa565SIvan Djelic Drivers should declare a default value for this symbol if 368437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 369437aa565SIvan Djelic 370437aa565SIvan Djelic# 371f7704347SDavid S. Miller# Textsearch support is select'ed if needed 372f7704347SDavid S. Miller# 3732de4ff7bSThomas Grafconfig TEXTSEARCH 3746341e62bSChristoph Jaeger bool 3751da177e4SLinus Torvalds 376df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 377f7704347SDavid S. Miller tristate 378df3fb93aSThomas Graf 3798082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 38029cb9f9cSDavid S. Miller tristate 3818082e4edSPablo Neira Ayuso 3826408f79cSThomas Grafconfig TEXTSEARCH_FSM 383f7704347SDavid S. Miller tristate 3846408f79cSThomas Graf 3855db53f3eSJoern Engelconfig BTREE 3866341e62bSChristoph Jaeger bool 3875db53f3eSJoern Engel 388a88cc108SChris Wilsonconfig INTERVAL_TREE 3896341e62bSChristoph Jaeger bool 390a88cc108SChris Wilson help 391a88cc108SChris Wilson Simple, embeddable, interval-tree. Can find the start of an 392a88cc108SChris Wilson overlapping range in log(n) time and then iterate over all 393a88cc108SChris Wilson overlapping nodes. The algorithm is implemented as an 394a88cc108SChris Wilson augmented rbtree. 395a88cc108SChris Wilson 396a88cc108SChris Wilson See: 397a88cc108SChris Wilson 398a88cc108SChris Wilson Documentation/rbtree.txt 399a88cc108SChris Wilson 400a88cc108SChris Wilson for more information. 401a88cc108SChris Wilson 402*02c02bf1SMatthew Wilcoxconfig XARRAY_MULTI 403*02c02bf1SMatthew Wilcox bool 404*02c02bf1SMatthew Wilcox help 405*02c02bf1SMatthew Wilcox Support entries which occupy multiple consecutive indices in the 406*02c02bf1SMatthew Wilcox XArray. 407*02c02bf1SMatthew Wilcox 40857578c2eSMatthew Wilcoxconfig RADIX_TREE_MULTIORDER 40957578c2eSMatthew Wilcox bool 410*02c02bf1SMatthew Wilcox select XARRAY_MULTI 41157578c2eSMatthew Wilcox 4123cb98950SDavid Howellsconfig ASSOCIATIVE_ARRAY 4133cb98950SDavid Howells bool 4143cb98950SDavid Howells help 4153cb98950SDavid Howells Generic associative array. Can be searched and iterated over whilst 4163cb98950SDavid Howells it is being modified. It is also reasonably quick to search and 4173cb98950SDavid Howells modify. The algorithms are non-recursive, and the trees are highly 4183cb98950SDavid Howells capacious. 4193cb98950SDavid Howells 4203cb98950SDavid Howells See: 4213cb98950SDavid Howells 4225fb94e9cSMauro Carvalho Chehab Documentation/core-api/assoc_array.rst 4233cb98950SDavid Howells 4243cb98950SDavid Howells for more information. 4253cb98950SDavid Howells 4265ea81769SAl Viroconfig HAS_IOMEM 4276341e62bSChristoph Jaeger bool 4285ea81769SAl Viro depends on !NO_IOMEM 429087fafd1SRichard Weinberger select GENERIC_IO 4305ea81769SAl Viro default y 4315ea81769SAl Viro 432ce816fa8SUwe Kleine-Königconfig HAS_IOPORT_MAP 4336341e62bSChristoph Jaeger bool 434ce816fa8SUwe Kleine-König depends on HAS_IOMEM && !NO_IOPORT_MAP 435ee36c2bfSAl Viro default y 436ee36c2bfSAl Viro 437cf65a0f6SChristoph Hellwigsource "kernel/dma/Kconfig" 438411f0f3eSHeiko Carstens 439e80a0af4SBart Van Asscheconfig SGL_ALLOC 440e80a0af4SBart Van Assche bool 441e80a0af4SBart Van Assche default n 442e80a0af4SBart Van Assche 443a4ce5a48SChristoph Hellwigconfig IOMMU_HELPER 444a4ce5a48SChristoph Hellwig bool 445a4ce5a48SChristoph Hellwig 446928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 447928923c7SGeert Uytterhoeven bool 448928923c7SGeert Uytterhoeven 449aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 450aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 451aab46da0SRusty Russell help 452aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 453aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 454aab46da0SRusty Russell stack overflow. 455aab46da0SRusty Russell 456c39649c3SBen Hutchingsconfig CPU_RMAP 457c39649c3SBen Hutchings bool 458c39649c3SBen Hutchings depends on SMP 459c39649c3SBen Hutchings 46075957ba3STom Herbertconfig DQL 46175957ba3STom Herbert bool 46275957ba3STom Herbert 463b0125085SGeorge Spelvinconfig GLOB 464b0125085SGeorge Spelvin bool 465b0125085SGeorge Spelvin# This actually supports modular compilation, but the module overhead 466b0125085SGeorge Spelvin# is ridiculous for the amount of code involved. Until an out-of-tree 467b0125085SGeorge Spelvin# driver asks for it, we'll just link it directly it into the kernel 468b0125085SGeorge Spelvin# when required. Since we're ignoring out-of-tree users, there's also 469b0125085SGeorge Spelvin# no need bother prompting for a manual decision: 470b0125085SGeorge Spelvin# prompt "glob_match() function" 471b0125085SGeorge Spelvin help 472b0125085SGeorge Spelvin This option provides a glob_match function for performing 473b0125085SGeorge Spelvin simple text pattern matching. It originated in the ATA code 474b0125085SGeorge Spelvin to blacklist particular drive models, but other device drivers 475b0125085SGeorge Spelvin may need similar functionality. 476b0125085SGeorge Spelvin 477b0125085SGeorge Spelvin All drivers in the Linux kernel tree that require this function 478b0125085SGeorge Spelvin should automatically select this option. Say N unless you 479b0125085SGeorge Spelvin are compiling an out-of tree driver which tells you that it 480b0125085SGeorge Spelvin depends on this. 481b0125085SGeorge Spelvin 4825f9be824SGeorge Spelvinconfig GLOB_SELFTEST 483ba95b045SGeert Uytterhoeven tristate "glob self-test on init" 4845f9be824SGeorge Spelvin depends on GLOB 4855f9be824SGeorge Spelvin help 4865f9be824SGeorge Spelvin This option enables a simple self-test of the glob_match 4875f9be824SGeorge Spelvin function on startup. It is primarily useful for people 4885f9be824SGeorge Spelvin working on the code to ensure they haven't introduced any 4895f9be824SGeorge Spelvin regressions. 4905f9be824SGeorge Spelvin 4915f9be824SGeorge Spelvin It only adds a little bit of code and slows kernel boot (or 4925f9be824SGeorge Spelvin module load) by a small amount, so you're welcome to play with 4935f9be824SGeorge Spelvin it, but you probably don't need it. 4945f9be824SGeorge Spelvin 495e9cc8bddSGeert Uytterhoeven# 496e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 497e9cc8bddSGeert Uytterhoeven# 498e9cc8bddSGeert Uytterhoevenconfig NLATTR 499e9cc8bddSGeert Uytterhoeven bool 500e9cc8bddSGeert Uytterhoeven 50109d4e0edSPaul Mackerras# 50209d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 50309d4e0edSPaul Mackerras# 50409d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 50509d4e0edSPaul Mackerras bool 50609d4e0edSPaul Mackerras 507b411b363SPhilipp Reisnerconfig LRU_CACHE 508b411b363SPhilipp Reisner tristate 509b411b363SPhilipp Reisner 510c6df4b17SDavid Millerconfig CLZ_TAB 511c6df4b17SDavid Miller bool 512c6df4b17SDavid Miller 51310f8113eSArend van Sprielconfig CORDIC 514d89ce936SMichael Witten tristate "CORDIC algorithm" 51510f8113eSArend van Spriel help 516435a95c5SMichael Witten This option provides an implementation of the CORDIC algorithm; 517435a95c5SMichael Witten calculations are in fixed point. Module will be called cordic. 51810f8113eSArend van Spriel 5199c1c21a0SAneesh Vconfig DDR 5209c1c21a0SAneesh V bool "JEDEC DDR data" 5219c1c21a0SAneesh V help 5229c1c21a0SAneesh V Data from JEDEC specs for DDR SDRAM memories, 5239c1c21a0SAneesh V particularly the AC timing parameters and addressing 5249c1c21a0SAneesh V information. This data is useful for drivers handling 5259c1c21a0SAneesh V DDR SDRAM controllers. 5269c1c21a0SAneesh V 527511cbce2SChristoph Hellwigconfig IRQ_POLL 528511cbce2SChristoph Hellwig bool "IRQ polling library" 529511cbce2SChristoph Hellwig help 530511cbce2SChristoph Hellwig Helper library to poll interrupt mitigation using polling. 531511cbce2SChristoph Hellwig 532d9c46b18SDmitry Kasatkinconfig MPILIB 5332e5f094bSDmitry Kasatkin tristate 534c6df4b17SDavid Miller select CLZ_TAB 535d9c46b18SDmitry Kasatkin help 536d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 537d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 538d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 539d9c46b18SDmitry Kasatkin 5405e8898e9SDmitry Kasatkinconfig SIGNATURE 5412e5f094bSDmitry Kasatkin tristate 5420d1f64f6SDmitry Kasatkin depends on KEYS 5430d1f64f6SDmitry Kasatkin select CRYPTO 544be440ec7SDmitry Kasatkin select CRYPTO_SHA1 545051dbb91SDmitry Kasatkin select MPILIB 546051dbb91SDmitry Kasatkin help 547051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 548051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 549051dbb91SDmitry Kasatkin 550ab253839SDavid Daney# 551ab253839SDavid Daney# libfdt files, only selected if needed. 552ab253839SDavid Daney# 553ab253839SDavid Daneyconfig LIBFDT 554ab253839SDavid Daney bool 555ab253839SDavid Daney 556a77ad6eaSDavid Howellsconfig OID_REGISTRY 557a77ad6eaSDavid Howells tristate 558a77ad6eaSDavid Howells help 559a77ad6eaSDavid Howells Enable fast lookup object identifier registry. 560a77ad6eaSDavid Howells 5610635eb8aSMatthew Garrettconfig UCS2_STRING 5620635eb8aSMatthew Garrett tristate 5630635eb8aSMatthew Garrett 564ee89bd6bSGeert Uytterhoevensource "lib/fonts/Kconfig" 565ee89bd6bSGeert Uytterhoeven 566f8bcbe62SRobert Jarzmikconfig SG_SPLIT 567f8bcbe62SRobert Jarzmik def_bool n 568f8bcbe62SRobert Jarzmik help 5697f7e92f7SGeert Uytterhoeven Provides a helper to split scatterlists into chunks, each chunk being 5707f7e92f7SGeert Uytterhoeven a scatterlist. This should be selected by a driver or an API which 5717f7e92f7SGeert Uytterhoeven whishes to split a scatterlist amongst multiple DMA channels. 572f8bcbe62SRobert Jarzmik 5739b1d6c89SMing Linconfig SG_POOL 5749b1d6c89SMing Lin def_bool n 5759b1d6c89SMing Lin help 5769b1d6c89SMing Lin Provides a helper to allocate chained scatterlists. This should be 5779b1d6c89SMing Lin selected by a driver or an API which whishes to allocate chained 5789b1d6c89SMing Lin scatterlist. 5799b1d6c89SMing Lin 580308c09f1SLaura Abbott# 581308c09f1SLaura Abbott# sg chaining option 582308c09f1SLaura Abbott# 583308c09f1SLaura Abbott 584308c09f1SLaura Abbottconfig ARCH_HAS_SG_CHAIN 585308c09f1SLaura Abbott def_bool n 586308c09f1SLaura Abbott 58761031952SRoss Zwislerconfig ARCH_HAS_PMEM_API 58861031952SRoss Zwisler bool 58961031952SRoss Zwisler 5900aed55afSDan Williamsconfig ARCH_HAS_UACCESS_FLUSHCACHE 5910aed55afSDan Williams bool 5920aed55afSDan Williams 593522239b4SDan Williamsconfig ARCH_HAS_UACCESS_MCSAFE 594522239b4SDan Williams bool 595522239b4SDan Williams 596cd11016eSAlexander Potapenkoconfig STACKDEPOT 597cd11016eSAlexander Potapenko bool 598cd11016eSAlexander Potapenko select STACKTRACE 599cd11016eSAlexander Potapenko 60088459642SOmar Sandovalconfig SBITMAP 60188459642SOmar Sandoval bool 60288459642SOmar Sandoval 60344091d29SJiri Pirkoconfig PARMAN 6049d25af69SGeert Uytterhoeven tristate "parman" if COMPILE_TEST 60544091d29SJiri Pirko 606cf4a7207SChris Wilsonconfig PRIME_NUMBERS 60764a57719SDave Airlie tristate 608cf4a7207SChris Wilson 60903270c13SMatthew Wilcoxconfig STRING_SELFTEST 610d6b28e09SGeert Uytterhoeven tristate "Test string functions" 61103270c13SMatthew Wilcox 6122de4ff7bSThomas Grafendmenu 613b35cd988SPalmer Dabbelt 614e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHLDI3 615b35cd988SPalmer Dabbelt bool 616b35cd988SPalmer Dabbelt 617e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHRDI3 618b35cd988SPalmer Dabbelt bool 619b35cd988SPalmer Dabbelt 620e3d59805SMatt Redfearnconfig GENERIC_LIB_LSHRDI3 621b35cd988SPalmer Dabbelt bool 622b35cd988SPalmer Dabbelt 623e3d59805SMatt Redfearnconfig GENERIC_LIB_MULDI3 624b35cd988SPalmer Dabbelt bool 625b35cd988SPalmer Dabbelt 626e3d59805SMatt Redfearnconfig GENERIC_LIB_CMPDI2 627b35cd988SPalmer Dabbelt bool 628b35cd988SPalmer Dabbelt 629e3d59805SMatt Redfearnconfig GENERIC_LIB_UCMPDI2 630b35cd988SPalmer Dabbelt bool 631