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 13be85f93aSDaniel Verkampconfig RAID6_PQ_BENCHMARK 14be85f93aSDaniel Verkamp bool "Automatically choose fastest RAID6 PQ functions" 15be85f93aSDaniel Verkamp depends on RAID6_PQ 16be85f93aSDaniel Verkamp default y 17be85f93aSDaniel Verkamp help 18be85f93aSDaniel Verkamp Benchmark all available RAID6 PQ functions on init and choose the 19be85f93aSDaniel Verkamp fastest one. 20be85f93aSDaniel Verkamp 21a5cfc1ecSAkinobu Mitaconfig BITREVERSE 22a5cfc1ecSAkinobu Mita tristate 23a5cfc1ecSAkinobu Mita 24556d2f05SYalin Wangconfig HAVE_ARCH_BITREVERSE 25841c0090SChristoph Jaeger bool 26556d2f05SYalin Wang default n 27556d2f05SYalin Wang depends on BITREVERSE 28556d2f05SYalin Wang help 299e522c0dSAndrew Morton This option enables the use of hardware bit-reversal instructions on 309e522c0dSAndrew Morton architectures which support such operations. 31556d2f05SYalin Wang 328759ef32SOskar Schirmerconfig RATIONAL 336341e62bSChristoph Jaeger bool 348759ef32SOskar Schirmer 352922585bSDavid S. Millerconfig GENERIC_STRNCPY_FROM_USER 362922585bSDavid S. Miller bool 372922585bSDavid S. Miller 38a08c5356SLinus Torvaldsconfig GENERIC_STRNLEN_USER 39a08c5356SLinus Torvalds bool 40a08c5356SLinus Torvalds 414cd5773aSAndy Shevchenkoconfig GENERIC_NET_UTILS 424cd5773aSAndy Shevchenko bool 434cd5773aSAndy Shevchenko 4419870defSAlexander van Heukelumconfig GENERIC_FIND_FIRST_BIT 459ba16087SJan Beulich bool 4619870defSAlexander van Heukelum 47b923650bSMichael S. Tsirkinconfig NO_GENERIC_PCI_IOPORT_MAP 48b923650bSMichael S. Tsirkin bool 49b923650bSMichael S. Tsirkin 5066eab4dfSMichael S. Tsirkinconfig GENERIC_PCI_IOMAP 5166eab4dfSMichael S. Tsirkin bool 5266eab4dfSMichael S. Tsirkin 534673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 544673ca8eSMichael S. Tsirkin bool 5566eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 564673ca8eSMichael S. Tsirkin 574ccf4beaSWolfram Sangconfig STMP_DEVICE 584ccf4beaSWolfram Sang bool 594ccf4beaSWolfram Sang 60bc08b449SLinus Torvaldsconfig ARCH_USE_CMPXCHG_LOCKREF 61bc08b449SLinus Torvalds bool 62bc08b449SLinus Torvalds 6372d93104SLinus Torvaldsconfig ARCH_HAS_FAST_MULTIPLIER 6472d93104SLinus Torvalds bool 6572d93104SLinus Torvalds 66031e3601SZhichang Yuanconfig INDIRECT_PIO 67031e3601SZhichang Yuan bool "Access I/O in non-MMIO mode" 68031e3601SZhichang Yuan depends on ARM64 69031e3601SZhichang Yuan help 70031e3601SZhichang Yuan On some platforms where no separate I/O space exists, there are I/O 71031e3601SZhichang Yuan hosts which can not be accessed in MMIO mode. Using the logical PIO 72031e3601SZhichang Yuan mechanism, the host-local I/O resource can be mapped into system 73031e3601SZhichang Yuan logic PIO space shared with MMIO hosts, such as PCI/PCIe, then the 74031e3601SZhichang Yuan system can access the I/O devices with the mapped-logic PIO through 75031e3601SZhichang Yuan I/O accessors. 76031e3601SZhichang Yuan 77031e3601SZhichang Yuan This way has relatively little I/O performance cost. Please make 78031e3601SZhichang Yuan sure your devices really need this configure item enabled. 79031e3601SZhichang Yuan 80031e3601SZhichang Yuan When in doubt, say N. 81031e3601SZhichang Yuan 821da177e4SLinus Torvaldsconfig CRC_CCITT 831da177e4SLinus Torvalds tristate "CRC-CCITT functions" 841da177e4SLinus Torvalds help 851da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 861da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 871da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 881da177e4SLinus Torvalds functions require M here. 891da177e4SLinus Torvalds 907657ec1fSEvgeniy Polyakovconfig CRC16 917657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 927657ec1fSEvgeniy Polyakov help 937657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 947657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 957657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 967657ec1fSEvgeniy Polyakov functions require M here. 977657ec1fSEvgeniy Polyakov 98f11f594eSMartin K. Petersenconfig CRC_T10DIF 99f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 10068411521SHerbert Xu select CRYPTO 10168411521SHerbert Xu select CRYPTO_CRCT10DIF 102f11f594eSMartin K. Petersen help 103f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 104f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 105f11f594eSMartin K. Petersen SCSI data integrity subsystem. 106f11f594eSMartin K. Petersen 1073e7cbae7SIvo van Doornconfig CRC_ITU_T 1083e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 1093e7cbae7SIvo van Doorn help 1103e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 1113e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 1123e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 1133e7cbae7SIvo van Doorn functions require M here. 1143e7cbae7SIvo van Doorn 1151da177e4SLinus Torvaldsconfig CRC32 11646c5801eSDarrick J. Wong tristate "CRC32/CRC32c functions" 1171da177e4SLinus Torvalds default y 118906d66dfSAkinobu Mita select BITREVERSE 1191da177e4SLinus Torvalds help 1201da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 12146c5801eSDarrick J. Wong modules require CRC32/CRC32c functions, but a module built outside 12246c5801eSDarrick J. Wong the kernel tree does. Such modules that use library CRC32/CRC32c 12346c5801eSDarrick J. Wong functions require M here. 1241da177e4SLinus Torvalds 1253863ef31SBob Pearsonconfig CRC32_SELFTEST 1265fb7f874SGeert Uytterhoeven tristate "CRC32 perform self test on init" 1273863ef31SBob Pearson depends on CRC32 1283863ef31SBob Pearson help 1293863ef31SBob Pearson This option enables the CRC32 library functions to perform a 1303863ef31SBob Pearson self test on initialization. The self test computes crc32_le 1313863ef31SBob Pearson and crc32_be over byte strings with random alignment and length 1323863ef31SBob Pearson and computes the total elapsed time and number of bytes processed. 1333863ef31SBob Pearson 1345cde7656SDarrick J. Wongchoice 1355cde7656SDarrick J. Wong prompt "CRC32 implementation" 1365cde7656SDarrick J. Wong depends on CRC32 1375cde7656SDarrick J. Wong default CRC32_SLICEBY8 13882edb4baSDarrick J. Wong help 13982edb4baSDarrick J. Wong This option allows a kernel builder to override the default choice 14082edb4baSDarrick J. Wong of CRC32 algorithm. Choose the default ("slice by 8") unless you 14182edb4baSDarrick J. Wong know that you need one of the others. 1425cde7656SDarrick J. Wong 1435cde7656SDarrick J. Wongconfig CRC32_SLICEBY8 1445cde7656SDarrick J. Wong bool "Slice by 8 bytes" 1455cde7656SDarrick J. Wong help 1465cde7656SDarrick J. Wong Calculate checksum 8 bytes at a time with a clever slicing algorithm. 1475cde7656SDarrick J. Wong This is the fastest algorithm, but comes with a 8KiB lookup table. 1485cde7656SDarrick J. Wong Most modern processors have enough cache to hold this table without 1495cde7656SDarrick J. Wong thrashing the cache. 1505cde7656SDarrick J. Wong 1515cde7656SDarrick J. Wong This is the default implementation choice. Choose this one unless 1525cde7656SDarrick J. Wong you have a good reason not to. 1535cde7656SDarrick J. Wong 1545cde7656SDarrick J. Wongconfig CRC32_SLICEBY4 1555cde7656SDarrick J. Wong bool "Slice by 4 bytes" 1565cde7656SDarrick J. Wong help 1575cde7656SDarrick J. Wong Calculate checksum 4 bytes at a time with a clever slicing algorithm. 1585cde7656SDarrick J. Wong This is a bit slower than slice by 8, but has a smaller 4KiB lookup 1595cde7656SDarrick J. Wong 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_SARWATE 1645cde7656SDarrick J. Wong bool "Sarwate's Algorithm (one byte at a time)" 1655cde7656SDarrick J. Wong help 1665cde7656SDarrick J. Wong Calculate checksum a byte at a time using Sarwate's algorithm. This 1675cde7656SDarrick J. Wong is not particularly fast, but has a small 256 byte lookup table. 1685cde7656SDarrick J. Wong 1695cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1705cde7656SDarrick J. Wong 1715cde7656SDarrick J. Wongconfig CRC32_BIT 1725cde7656SDarrick J. Wong bool "Classic Algorithm (one bit at a time)" 1735cde7656SDarrick J. Wong help 1745cde7656SDarrick J. Wong Calculate checksum one bit at a time. This is VERY slow, but has 1755cde7656SDarrick J. Wong no lookup table. This is provided as a debugging option. 1765cde7656SDarrick J. Wong 1775cde7656SDarrick J. Wong Only choose this option if you are debugging crc32. 1785cde7656SDarrick J. Wong 1795cde7656SDarrick J. Wongendchoice 1805cde7656SDarrick J. Wong 181feba04fdSColy Liconfig CRC64 182feba04fdSColy Li tristate "CRC64 functions" 183feba04fdSColy Li help 184feba04fdSColy Li This option is provided for the case where no in-kernel-tree 185feba04fdSColy Li modules require CRC64 functions, but a module built outside 186feba04fdSColy Li the kernel tree does. Such modules that use library CRC64 187feba04fdSColy Li functions require M here. 188feba04fdSColy Li 1890cbaa448SJeremy Kerrconfig CRC4 1900cbaa448SJeremy Kerr tristate "CRC4 functions" 1910cbaa448SJeremy Kerr help 1920cbaa448SJeremy Kerr This option is provided for the case where no in-kernel-tree 1930cbaa448SJeremy Kerr modules require CRC4 functions, but a module built outside 1940cbaa448SJeremy Kerr the kernel tree does. Such modules that use library CRC4 1950cbaa448SJeremy Kerr functions require M here. 1960cbaa448SJeremy Kerr 197ad241528SJan Nikitenkoconfig CRC7 198ad241528SJan Nikitenko tristate "CRC7 functions" 199ad241528SJan Nikitenko help 200ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 201ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 202ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 203ad241528SJan Nikitenko functions require M here. 204ad241528SJan Nikitenko 2051da177e4SLinus Torvaldsconfig LIBCRC32C 2061da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 20793027354SHerbert Xu select CRYPTO 20869c35efcSHerbert Xu select CRYPTO_CRC32C 2091da177e4SLinus Torvalds help 2101da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 2111da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 2121da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 2131da177e4SLinus Torvalds require M here. See Castagnoli93. 2141da177e4SLinus Torvalds Module will be libcrc32c. 2151da177e4SLinus Torvalds 2167150962dSArend van Sprielconfig CRC8 2177150962dSArend van Spriel tristate "CRC8 function" 2187150962dSArend van Spriel help 2197150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 2207150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 2217150962dSArend van Spriel algorithm. Module will be called crc8. 2227150962dSArend van Spriel 2235d240522SNick Terrellconfig XXHASH 2245d240522SNick Terrell tristate 2255d240522SNick Terrell 226e65e1fc2SAl Viroconfig AUDIT_GENERIC 227e65e1fc2SAl Viro bool 228e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 229e65e1fc2SAl Viro default y 230e65e1fc2SAl Viro 2314b588411SAKASHI Takahiroconfig AUDIT_ARCH_COMPAT_GENERIC 2324b588411SAKASHI Takahiro bool 2334b588411SAKASHI Takahiro default n 2344b588411SAKASHI Takahiro 2354b588411SAKASHI Takahiroconfig AUDIT_COMPAT_GENERIC 2364b588411SAKASHI Takahiro bool 2374b588411SAKASHI Takahiro depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT 2384b588411SAKASHI Takahiro default y 2394b588411SAKASHI Takahiro 240a6a9c0f1SDaniel Borkmannconfig RANDOM32_SELFTEST 241a6a9c0f1SDaniel Borkmann bool "PRNG perform self test on init" 242a6a9c0f1SDaniel Borkmann help 243a6a9c0f1SDaniel Borkmann This option enables the 32 bit PRNG library functions to perform a 244a6a9c0f1SDaniel Borkmann self test on initialization. 245a6a9c0f1SDaniel Borkmann 2461da177e4SLinus Torvalds# 2471da177e4SLinus Torvalds# compression support is select'ed if needed 2481da177e4SLinus Torvalds# 2492da572c9SDan Streetmanconfig 842_COMPRESS 2505b571677SArnd Bergmann select CRC32 2512da572c9SDan Streetman tristate 2522da572c9SDan Streetman 2532da572c9SDan Streetmanconfig 842_DECOMPRESS 2545b571677SArnd Bergmann select CRC32 2552da572c9SDan Streetman tristate 2562da572c9SDan Streetman 2571da177e4SLinus Torvaldsconfig ZLIB_INFLATE 2581da177e4SLinus Torvalds tristate 2591da177e4SLinus Torvalds 2601da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 2611da177e4SLinus Torvalds tristate 2621fd4e5c3SAndrew Morton select BITREVERSE 2631da177e4SLinus Torvalds 26464c70b1cSRichard Purdieconfig LZO_COMPRESS 26564c70b1cSRichard Purdie tristate 26664c70b1cSRichard Purdie 26764c70b1cSRichard Purdieconfig LZO_DECOMPRESS 26864c70b1cSRichard Purdie tristate 26964c70b1cSRichard Purdie 270c72ac7a1SChanho Minconfig LZ4_COMPRESS 271c72ac7a1SChanho Min tristate 272c72ac7a1SChanho Min 273c72ac7a1SChanho Minconfig LZ4HC_COMPRESS 274c72ac7a1SChanho Min tristate 275c72ac7a1SChanho Min 276e76e1fdfSKyungsik Leeconfig LZ4_DECOMPRESS 277e76e1fdfSKyungsik Lee tristate 278e76e1fdfSKyungsik Lee 27973f3d1b4SNick Terrellconfig ZSTD_COMPRESS 28073f3d1b4SNick Terrell select XXHASH 28173f3d1b4SNick Terrell tristate 28273f3d1b4SNick Terrell 28373f3d1b4SNick Terrellconfig ZSTD_DECOMPRESS 28473f3d1b4SNick Terrell select XXHASH 28573f3d1b4SNick Terrell tristate 28673f3d1b4SNick Terrell 28724fa0402SLasse Collinsource "lib/xz/Kconfig" 28824fa0402SLasse Collin 2891da177e4SLinus Torvalds# 290c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 291c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 292c8531ab3SH. Peter Anvin# 293c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 2947856a16eSH. Peter Anvin select ZLIB_INFLATE 295c8531ab3SH. Peter Anvin tristate 296c8531ab3SH. Peter Anvin 297c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 298c8531ab3SH. Peter Anvin tristate 299c8531ab3SH. Peter Anvin 300c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 301c8531ab3SH. Peter Anvin tristate 302c8531ab3SH. Peter Anvin 3033ebe1243SLasse Collinconfig DECOMPRESS_XZ 3043ebe1243SLasse Collin select XZ_DEC 3053ebe1243SLasse Collin tristate 3063ebe1243SLasse Collin 307cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 308cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 309cacb246fSAlbin Tonnerre tristate 310cacb246fSAlbin Tonnerre 311e76e1fdfSKyungsik Leeconfig DECOMPRESS_LZ4 312e76e1fdfSKyungsik Lee select LZ4_DECOMPRESS 313e76e1fdfSKyungsik Lee tristate 314e76e1fdfSKyungsik Lee 315c8531ab3SH. Peter Anvin# 316f14f75b8SJes Sorensen# Generic allocator support is selected if needed 317f14f75b8SJes Sorensen# 318f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 3196341e62bSChristoph Jaeger bool 320f14f75b8SJes Sorensen 321f14f75b8SJes Sorensen# 3221da177e4SLinus Torvalds# reed solomon support is select'ed if needed 3231da177e4SLinus Torvalds# 3241da177e4SLinus Torvaldsconfig REED_SOLOMON 3251da177e4SLinus Torvalds tristate 3261da177e4SLinus Torvalds 3271da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 3286341e62bSChristoph Jaeger bool 3291da177e4SLinus Torvalds 3301da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 3316341e62bSChristoph Jaeger bool 3321da177e4SLinus Torvalds 3331da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 3346341e62bSChristoph Jaeger bool 3351da177e4SLinus Torvalds 3361da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 3376341e62bSChristoph Jaeger bool 3381da177e4SLinus Torvalds 339f7704347SDavid S. Miller# 340437aa565SIvan Djelic# BCH support is selected if needed 341437aa565SIvan Djelic# 342437aa565SIvan Djelicconfig BCH 343437aa565SIvan Djelic tristate 344437aa565SIvan Djelic 345437aa565SIvan Djelicconfig BCH_CONST_PARAMS 3466341e62bSChristoph Jaeger bool 347437aa565SIvan Djelic help 348437aa565SIvan Djelic Drivers may select this option to force specific constant 349437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 350437aa565SIvan Djelic (error correction capability). Those specific values must 351437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 352437aa565SIvan Djelic and BCH_CONST_T. 353437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 354437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 355437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 356437aa565SIvan Djelic When this option is selected, the BCH library supports 357437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 358437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 359437aa565SIvan Djelic parameters. 360437aa565SIvan Djelic 361437aa565SIvan Djelicconfig BCH_CONST_M 362437aa565SIvan Djelic int 363437aa565SIvan Djelic range 5 15 364437aa565SIvan Djelic help 365437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 366437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 367437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 368437aa565SIvan Djelic Drivers should declare a default value for this symbol if 369437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 370437aa565SIvan Djelic 371437aa565SIvan Djelicconfig BCH_CONST_T 372437aa565SIvan Djelic int 373437aa565SIvan Djelic help 374437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 375437aa565SIvan Djelic Drivers should declare a default value for this symbol if 376437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 377437aa565SIvan Djelic 378437aa565SIvan Djelic# 379f7704347SDavid S. Miller# Textsearch support is select'ed if needed 380f7704347SDavid S. Miller# 3812de4ff7bSThomas Grafconfig TEXTSEARCH 3826341e62bSChristoph Jaeger bool 3831da177e4SLinus Torvalds 384df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 385f7704347SDavid S. Miller tristate 386df3fb93aSThomas Graf 3878082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 38829cb9f9cSDavid S. Miller tristate 3898082e4edSPablo Neira Ayuso 3906408f79cSThomas Grafconfig TEXTSEARCH_FSM 391f7704347SDavid S. Miller tristate 3926408f79cSThomas Graf 3935db53f3eSJoern Engelconfig BTREE 3946341e62bSChristoph Jaeger bool 3955db53f3eSJoern Engel 396a88cc108SChris Wilsonconfig INTERVAL_TREE 3976341e62bSChristoph Jaeger bool 398a88cc108SChris Wilson help 399a88cc108SChris Wilson Simple, embeddable, interval-tree. Can find the start of an 400a88cc108SChris Wilson overlapping range in log(n) time and then iterate over all 401a88cc108SChris Wilson overlapping nodes. The algorithm is implemented as an 402a88cc108SChris Wilson augmented rbtree. 403a88cc108SChris Wilson 404a88cc108SChris Wilson See: 405a88cc108SChris Wilson 406a88cc108SChris Wilson Documentation/rbtree.txt 407a88cc108SChris Wilson 408a88cc108SChris Wilson for more information. 409a88cc108SChris Wilson 41002c02bf1SMatthew Wilcoxconfig XARRAY_MULTI 41157578c2eSMatthew Wilcox bool 41202c02bf1SMatthew Wilcox help 41302c02bf1SMatthew Wilcox Support entries which occupy multiple consecutive indices in the 41402c02bf1SMatthew Wilcox XArray. 41557578c2eSMatthew Wilcox 4163cb98950SDavid Howellsconfig ASSOCIATIVE_ARRAY 4173cb98950SDavid Howells bool 4183cb98950SDavid Howells help 4193cb98950SDavid Howells Generic associative array. Can be searched and iterated over whilst 4203cb98950SDavid Howells it is being modified. It is also reasonably quick to search and 4213cb98950SDavid Howells modify. The algorithms are non-recursive, and the trees are highly 4223cb98950SDavid Howells capacious. 4233cb98950SDavid Howells 4243cb98950SDavid Howells See: 4253cb98950SDavid Howells 4265fb94e9cSMauro Carvalho Chehab Documentation/core-api/assoc_array.rst 4273cb98950SDavid Howells 4283cb98950SDavid Howells for more information. 4293cb98950SDavid Howells 4305ea81769SAl Viroconfig HAS_IOMEM 4316341e62bSChristoph Jaeger bool 4325ea81769SAl Viro depends on !NO_IOMEM 433087fafd1SRichard Weinberger select GENERIC_IO 4345ea81769SAl Viro default y 4355ea81769SAl Viro 436ce816fa8SUwe Kleine-Königconfig HAS_IOPORT_MAP 4376341e62bSChristoph Jaeger bool 438ce816fa8SUwe Kleine-König depends on HAS_IOMEM && !NO_IOPORT_MAP 439ee36c2bfSAl Viro default y 440ee36c2bfSAl Viro 441cf65a0f6SChristoph Hellwigsource "kernel/dma/Kconfig" 442411f0f3eSHeiko Carstens 443e80a0af4SBart Van Asscheconfig SGL_ALLOC 444e80a0af4SBart Van Assche bool 445e80a0af4SBart Van Assche default n 446e80a0af4SBart Van Assche 447a4ce5a48SChristoph Hellwigconfig IOMMU_HELPER 448a4ce5a48SChristoph Hellwig bool 449a4ce5a48SChristoph Hellwig 450928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 451928923c7SGeert Uytterhoeven bool 452928923c7SGeert Uytterhoeven 453aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 454aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 455aab46da0SRusty Russell help 456aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 457aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 458aab46da0SRusty Russell stack overflow. 459aab46da0SRusty Russell 460c39649c3SBen Hutchingsconfig CPU_RMAP 461c39649c3SBen Hutchings bool 462c39649c3SBen Hutchings depends on SMP 463c39649c3SBen Hutchings 46475957ba3STom Herbertconfig DQL 46575957ba3STom Herbert bool 46675957ba3STom Herbert 467b0125085SGeorge Spelvinconfig GLOB 468b0125085SGeorge Spelvin bool 469b0125085SGeorge Spelvin# This actually supports modular compilation, but the module overhead 470b0125085SGeorge Spelvin# is ridiculous for the amount of code involved. Until an out-of-tree 471b0125085SGeorge Spelvin# driver asks for it, we'll just link it directly it into the kernel 472b0125085SGeorge Spelvin# when required. Since we're ignoring out-of-tree users, there's also 473b0125085SGeorge Spelvin# no need bother prompting for a manual decision: 474b0125085SGeorge Spelvin# prompt "glob_match() function" 475b0125085SGeorge Spelvin help 476b0125085SGeorge Spelvin This option provides a glob_match function for performing 477b0125085SGeorge Spelvin simple text pattern matching. It originated in the ATA code 478b0125085SGeorge Spelvin to blacklist particular drive models, but other device drivers 479b0125085SGeorge Spelvin may need similar functionality. 480b0125085SGeorge Spelvin 481b0125085SGeorge Spelvin All drivers in the Linux kernel tree that require this function 482b0125085SGeorge Spelvin should automatically select this option. Say N unless you 483b0125085SGeorge Spelvin are compiling an out-of tree driver which tells you that it 484b0125085SGeorge Spelvin depends on this. 485b0125085SGeorge Spelvin 4865f9be824SGeorge Spelvinconfig GLOB_SELFTEST 487ba95b045SGeert Uytterhoeven tristate "glob self-test on init" 4885f9be824SGeorge Spelvin depends on GLOB 4895f9be824SGeorge Spelvin help 4905f9be824SGeorge Spelvin This option enables a simple self-test of the glob_match 4915f9be824SGeorge Spelvin function on startup. It is primarily useful for people 4925f9be824SGeorge Spelvin working on the code to ensure they haven't introduced any 4935f9be824SGeorge Spelvin regressions. 4945f9be824SGeorge Spelvin 4955f9be824SGeorge Spelvin It only adds a little bit of code and slows kernel boot (or 4965f9be824SGeorge Spelvin module load) by a small amount, so you're welcome to play with 4975f9be824SGeorge Spelvin it, but you probably don't need it. 4985f9be824SGeorge Spelvin 499e9cc8bddSGeert Uytterhoeven# 500e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 501e9cc8bddSGeert Uytterhoeven# 502e9cc8bddSGeert Uytterhoevenconfig NLATTR 503e9cc8bddSGeert Uytterhoeven bool 504e9cc8bddSGeert Uytterhoeven 50509d4e0edSPaul Mackerras# 50609d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 50709d4e0edSPaul Mackerras# 50809d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 50909d4e0edSPaul Mackerras bool 51009d4e0edSPaul Mackerras 511b411b363SPhilipp Reisnerconfig LRU_CACHE 512b411b363SPhilipp Reisner tristate 513b411b363SPhilipp Reisner 514c6df4b17SDavid Millerconfig CLZ_TAB 515c6df4b17SDavid Miller bool 516c6df4b17SDavid Miller 51710f8113eSArend van Sprielconfig CORDIC 518d89ce936SMichael Witten tristate "CORDIC algorithm" 51910f8113eSArend van Spriel help 520435a95c5SMichael Witten This option provides an implementation of the CORDIC algorithm; 521435a95c5SMichael Witten calculations are in fixed point. Module will be called cordic. 52210f8113eSArend van Spriel 5239c1c21a0SAneesh Vconfig DDR 5249c1c21a0SAneesh V bool "JEDEC DDR data" 5259c1c21a0SAneesh V help 5269c1c21a0SAneesh V Data from JEDEC specs for DDR SDRAM memories, 5279c1c21a0SAneesh V particularly the AC timing parameters and addressing 5289c1c21a0SAneesh V information. This data is useful for drivers handling 5299c1c21a0SAneesh V DDR SDRAM controllers. 5309c1c21a0SAneesh V 531511cbce2SChristoph Hellwigconfig IRQ_POLL 532511cbce2SChristoph Hellwig bool "IRQ polling library" 533511cbce2SChristoph Hellwig help 534511cbce2SChristoph Hellwig Helper library to poll interrupt mitigation using polling. 535511cbce2SChristoph Hellwig 536d9c46b18SDmitry Kasatkinconfig MPILIB 5372e5f094bSDmitry Kasatkin tristate 538c6df4b17SDavid Miller select CLZ_TAB 539d9c46b18SDmitry Kasatkin help 540d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 541d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 542d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 543d9c46b18SDmitry Kasatkin 5445e8898e9SDmitry Kasatkinconfig SIGNATURE 5452e5f094bSDmitry Kasatkin tristate 5460d1f64f6SDmitry Kasatkin depends on KEYS 5470d1f64f6SDmitry Kasatkin select CRYPTO 548be440ec7SDmitry Kasatkin select CRYPTO_SHA1 549051dbb91SDmitry Kasatkin select MPILIB 550051dbb91SDmitry Kasatkin help 551051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 552051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 553051dbb91SDmitry Kasatkin 554ab253839SDavid Daney# 555ab253839SDavid Daney# libfdt files, only selected if needed. 556ab253839SDavid Daney# 557ab253839SDavid Daneyconfig LIBFDT 558ab253839SDavid Daney bool 559ab253839SDavid Daney 560a77ad6eaSDavid Howellsconfig OID_REGISTRY 561a77ad6eaSDavid Howells tristate 562a77ad6eaSDavid Howells help 563a77ad6eaSDavid Howells Enable fast lookup object identifier registry. 564a77ad6eaSDavid Howells 5650635eb8aSMatthew Garrettconfig UCS2_STRING 5660635eb8aSMatthew Garrett tristate 5670635eb8aSMatthew Garrett 568ee89bd6bSGeert Uytterhoevensource "lib/fonts/Kconfig" 569ee89bd6bSGeert Uytterhoeven 570f8bcbe62SRobert Jarzmikconfig SG_SPLIT 571f8bcbe62SRobert Jarzmik def_bool n 572f8bcbe62SRobert Jarzmik help 5737f7e92f7SGeert Uytterhoeven Provides a helper to split scatterlists into chunks, each chunk being 5747f7e92f7SGeert Uytterhoeven a scatterlist. This should be selected by a driver or an API which 5757f7e92f7SGeert Uytterhoeven whishes to split a scatterlist amongst multiple DMA channels. 576f8bcbe62SRobert Jarzmik 5779b1d6c89SMing Linconfig SG_POOL 5789b1d6c89SMing Lin def_bool n 5799b1d6c89SMing Lin help 5809b1d6c89SMing Lin Provides a helper to allocate chained scatterlists. This should be 5819b1d6c89SMing Lin selected by a driver or an API which whishes to allocate chained 5829b1d6c89SMing Lin scatterlist. 5839b1d6c89SMing Lin 584308c09f1SLaura Abbott# 585308c09f1SLaura Abbott# sg chaining option 586308c09f1SLaura Abbott# 587308c09f1SLaura Abbott 5887c703e54SChristoph Hellwigconfig ARCH_NO_SG_CHAIN 589308c09f1SLaura Abbott def_bool n 590308c09f1SLaura Abbott 59161031952SRoss Zwislerconfig ARCH_HAS_PMEM_API 59261031952SRoss Zwisler bool 59361031952SRoss Zwisler 5940aed55afSDan Williamsconfig ARCH_HAS_UACCESS_FLUSHCACHE 5950aed55afSDan Williams bool 5960aed55afSDan Williams 597522239b4SDan Williamsconfig ARCH_HAS_UACCESS_MCSAFE 598522239b4SDan Williams bool 599522239b4SDan Williams 600*214d8ca6SThomas Gleixner# Temporary. Goes away when all archs are cleaned up 601*214d8ca6SThomas Gleixnerconfig ARCH_STACKWALK 602*214d8ca6SThomas Gleixner bool 603*214d8ca6SThomas Gleixner 604cd11016eSAlexander Potapenkoconfig STACKDEPOT 605cd11016eSAlexander Potapenko bool 606cd11016eSAlexander Potapenko select STACKTRACE 607cd11016eSAlexander Potapenko 60888459642SOmar Sandovalconfig SBITMAP 60988459642SOmar Sandoval bool 61088459642SOmar Sandoval 61144091d29SJiri Pirkoconfig PARMAN 6129d25af69SGeert Uytterhoeven tristate "parman" if COMPILE_TEST 61344091d29SJiri Pirko 614cf4a7207SChris Wilsonconfig PRIME_NUMBERS 61564a57719SDave Airlie tristate 616cf4a7207SChris Wilson 61703270c13SMatthew Wilcoxconfig STRING_SELFTEST 618d6b28e09SGeert Uytterhoeven tristate "Test string functions" 61903270c13SMatthew Wilcox 6202de4ff7bSThomas Grafendmenu 621b35cd988SPalmer Dabbelt 622e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHLDI3 623b35cd988SPalmer Dabbelt bool 624b35cd988SPalmer Dabbelt 625e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHRDI3 626b35cd988SPalmer Dabbelt bool 627b35cd988SPalmer Dabbelt 628e3d59805SMatt Redfearnconfig GENERIC_LIB_LSHRDI3 629b35cd988SPalmer Dabbelt bool 630b35cd988SPalmer Dabbelt 631e3d59805SMatt Redfearnconfig GENERIC_LIB_MULDI3 632b35cd988SPalmer Dabbelt bool 633b35cd988SPalmer Dabbelt 634e3d59805SMatt Redfearnconfig GENERIC_LIB_CMPDI2 635b35cd988SPalmer Dabbelt bool 636b35cd988SPalmer Dabbelt 637e3d59805SMatt Redfearnconfig GENERIC_LIB_UCMPDI2 638b35cd988SPalmer Dabbelt bool 6390a020d41SJiri Pirko 6400a020d41SJiri Pirkoconfig OBJAGG 6410a020d41SJiri Pirko tristate "objagg" if COMPILE_TEST 642