1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# Library configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds 64370aa4aSLai Jiangshanconfig BINARY_PRINTF 74370aa4aSLai Jiangshan def_bool n 84370aa4aSLai Jiangshan 91da177e4SLinus Torvaldsmenu "Library routines" 101da177e4SLinus Torvalds 11f5e70d0fSDavid Woodhouseconfig RAID6_PQ 12f5e70d0fSDavid Woodhouse tristate 13f5e70d0fSDavid Woodhouse 14be85f93aSDaniel Verkampconfig RAID6_PQ_BENCHMARK 15be85f93aSDaniel Verkamp bool "Automatically choose fastest RAID6 PQ functions" 16be85f93aSDaniel Verkamp depends on RAID6_PQ 17be85f93aSDaniel Verkamp default y 18be85f93aSDaniel Verkamp help 19be85f93aSDaniel Verkamp Benchmark all available RAID6 PQ functions on init and choose the 20be85f93aSDaniel Verkamp fastest one. 21be85f93aSDaniel Verkamp 22d2218d4eSMatti Vaittinenconfig LINEAR_RANGES 23d2218d4eSMatti Vaittinen tristate 24d2218d4eSMatti Vaittinen 25554aae35SVladimir Olteanconfig PACKING 26554aae35SVladimir Oltean bool "Generic bitfield packing and unpacking" 27554aae35SVladimir Oltean default n 28554aae35SVladimir Oltean help 29554aae35SVladimir Oltean This option provides the packing() helper function, which permits 30554aae35SVladimir Oltean converting bitfields between a CPU-usable representation and a 31554aae35SVladimir Oltean memory representation that can have any combination of these quirks: 32554aae35SVladimir Oltean - Is little endian (bytes are reversed within a 32-bit group) 33554aae35SVladimir Oltean - The least-significant 32-bit word comes first (within a 64-bit 34554aae35SVladimir Oltean group) 35554aae35SVladimir Oltean - The most significant bit of a byte is at its right (bit 0 of a 36554aae35SVladimir Oltean register description is numerically 2^7). 37554aae35SVladimir Oltean Drivers may use these helpers to match the bit indices as described 38554aae35SVladimir Oltean in the data sheets of the peripherals they are in control of. 39554aae35SVladimir Oltean 40554aae35SVladimir Oltean When in doubt, say N. 41554aae35SVladimir Oltean 42a5cfc1ecSAkinobu Mitaconfig BITREVERSE 43a5cfc1ecSAkinobu Mita tristate 44a5cfc1ecSAkinobu Mita 45556d2f05SYalin Wangconfig HAVE_ARCH_BITREVERSE 46841c0090SChristoph Jaeger bool 47556d2f05SYalin Wang default n 48556d2f05SYalin Wang depends on BITREVERSE 49556d2f05SYalin Wang help 509e522c0dSAndrew Morton This option enables the use of hardware bit-reversal instructions on 519e522c0dSAndrew Morton architectures which support such operations. 52556d2f05SYalin Wang 532922585bSDavid S. Millerconfig GENERIC_STRNCPY_FROM_USER 542922585bSDavid S. Miller bool 552922585bSDavid S. Miller 56a08c5356SLinus Torvaldsconfig GENERIC_STRNLEN_USER 57a08c5356SLinus Torvalds bool 58a08c5356SLinus Torvalds 594cd5773aSAndy Shevchenkoconfig GENERIC_NET_UTILS 604cd5773aSAndy Shevchenko bool 614cd5773aSAndy Shevchenko 6219870defSAlexander van Heukelumconfig GENERIC_FIND_FIRST_BIT 639ba16087SJan Beulich bool 6419870defSAlexander van Heukelum 652c64e9cbSAndy Shevchenkosource "lib/math/Kconfig" 662c64e9cbSAndy Shevchenko 67b923650bSMichael S. Tsirkinconfig NO_GENERIC_PCI_IOPORT_MAP 68b923650bSMichael S. Tsirkin bool 69b923650bSMichael S. Tsirkin 7066eab4dfSMichael S. Tsirkinconfig GENERIC_PCI_IOMAP 7166eab4dfSMichael S. Tsirkin bool 7266eab4dfSMichael S. Tsirkin 734673ca8eSMichael S. Tsirkinconfig GENERIC_IOMAP 744673ca8eSMichael S. Tsirkin bool 7566eab4dfSMichael S. Tsirkin select GENERIC_PCI_IOMAP 764673ca8eSMichael S. Tsirkin 774ccf4beaSWolfram Sangconfig STMP_DEVICE 784ccf4beaSWolfram Sang bool 794ccf4beaSWolfram Sang 80bc08b449SLinus Torvaldsconfig ARCH_USE_CMPXCHG_LOCKREF 81bc08b449SLinus Torvalds bool 82bc08b449SLinus Torvalds 8372d93104SLinus Torvaldsconfig ARCH_HAS_FAST_MULTIPLIER 8472d93104SLinus Torvalds bool 8572d93104SLinus Torvalds 862ce0d7f9SMark Brownconfig ARCH_USE_SYM_ANNOTATIONS 872ce0d7f9SMark Brown bool 882ce0d7f9SMark Brown 89031e3601SZhichang Yuanconfig INDIRECT_PIO 90031e3601SZhichang Yuan bool "Access I/O in non-MMIO mode" 91031e3601SZhichang Yuan depends on ARM64 92031e3601SZhichang Yuan help 93031e3601SZhichang Yuan On some platforms where no separate I/O space exists, there are I/O 94031e3601SZhichang Yuan hosts which can not be accessed in MMIO mode. Using the logical PIO 95031e3601SZhichang Yuan mechanism, the host-local I/O resource can be mapped into system 96031e3601SZhichang Yuan logic PIO space shared with MMIO hosts, such as PCI/PCIe, then the 97031e3601SZhichang Yuan system can access the I/O devices with the mapped-logic PIO through 98031e3601SZhichang Yuan I/O accessors. 99031e3601SZhichang Yuan 100031e3601SZhichang Yuan This way has relatively little I/O performance cost. Please make 101031e3601SZhichang Yuan sure your devices really need this configure item enabled. 102031e3601SZhichang Yuan 103031e3601SZhichang Yuan When in doubt, say N. 104031e3601SZhichang Yuan 105*ca2e3342SJohannes Bergconfig INDIRECT_IOMEM 106*ca2e3342SJohannes Berg bool 107*ca2e3342SJohannes Berg help 108*ca2e3342SJohannes Berg This is selected by other options/architectures to provide the 109*ca2e3342SJohannes Berg emulated iomem accessors. 110*ca2e3342SJohannes Berg 111*ca2e3342SJohannes Bergconfig INDIRECT_IOMEM_FALLBACK 112*ca2e3342SJohannes Berg bool 113*ca2e3342SJohannes Berg depends on INDIRECT_IOMEM 114*ca2e3342SJohannes Berg help 115*ca2e3342SJohannes Berg If INDIRECT_IOMEM is selected, this enables falling back to plain 116*ca2e3342SJohannes Berg mmio accesses when the IO memory address is not a registered 117*ca2e3342SJohannes Berg emulated region. 118*ca2e3342SJohannes Berg 1191da177e4SLinus Torvaldsconfig CRC_CCITT 1201da177e4SLinus Torvalds tristate "CRC-CCITT functions" 1211da177e4SLinus Torvalds help 1221da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 1231da177e4SLinus Torvalds modules require CRC-CCITT functions, but a module built outside 1241da177e4SLinus Torvalds the kernel tree does. Such modules that use library CRC-CCITT 1251da177e4SLinus Torvalds functions require M here. 1261da177e4SLinus Torvalds 1277657ec1fSEvgeniy Polyakovconfig CRC16 1287657ec1fSEvgeniy Polyakov tristate "CRC16 functions" 1297657ec1fSEvgeniy Polyakov help 1307657ec1fSEvgeniy Polyakov This option is provided for the case where no in-kernel-tree 1317657ec1fSEvgeniy Polyakov modules require CRC16 functions, but a module built outside 1327657ec1fSEvgeniy Polyakov the kernel tree does. Such modules that use library CRC16 1337657ec1fSEvgeniy Polyakov functions require M here. 1347657ec1fSEvgeniy Polyakov 135f11f594eSMartin K. Petersenconfig CRC_T10DIF 136f11f594eSMartin K. Petersen tristate "CRC calculation for the T10 Data Integrity Field" 13768411521SHerbert Xu select CRYPTO 13868411521SHerbert Xu select CRYPTO_CRCT10DIF 139f11f594eSMartin K. Petersen help 140f11f594eSMartin K. Petersen This option is only needed if a module that's not in the 141f11f594eSMartin K. Petersen kernel tree needs to calculate CRC checks for use with the 142f11f594eSMartin K. Petersen SCSI data integrity subsystem. 143f11f594eSMartin K. Petersen 1443e7cbae7SIvo van Doornconfig CRC_ITU_T 1453e7cbae7SIvo van Doorn tristate "CRC ITU-T V.41 functions" 1463e7cbae7SIvo van Doorn help 1473e7cbae7SIvo van Doorn This option is provided for the case where no in-kernel-tree 1483e7cbae7SIvo van Doorn modules require CRC ITU-T V.41 functions, but a module built outside 1493e7cbae7SIvo van Doorn the kernel tree does. Such modules that use library CRC ITU-T V.41 1503e7cbae7SIvo van Doorn functions require M here. 1513e7cbae7SIvo van Doorn 1521da177e4SLinus Torvaldsconfig CRC32 15346c5801eSDarrick J. Wong tristate "CRC32/CRC32c functions" 1541da177e4SLinus Torvalds default y 155906d66dfSAkinobu Mita select BITREVERSE 1561da177e4SLinus Torvalds help 1571da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 15846c5801eSDarrick J. Wong modules require CRC32/CRC32c functions, but a module built outside 15946c5801eSDarrick J. Wong the kernel tree does. Such modules that use library CRC32/CRC32c 16046c5801eSDarrick J. Wong functions require M here. 1611da177e4SLinus Torvalds 1623863ef31SBob Pearsonconfig CRC32_SELFTEST 1635fb7f874SGeert Uytterhoeven tristate "CRC32 perform self test on init" 1643863ef31SBob Pearson depends on CRC32 1653863ef31SBob Pearson help 1663863ef31SBob Pearson This option enables the CRC32 library functions to perform a 1673863ef31SBob Pearson self test on initialization. The self test computes crc32_le 1683863ef31SBob Pearson and crc32_be over byte strings with random alignment and length 1693863ef31SBob Pearson and computes the total elapsed time and number of bytes processed. 1703863ef31SBob Pearson 1715cde7656SDarrick J. Wongchoice 1725cde7656SDarrick J. Wong prompt "CRC32 implementation" 1735cde7656SDarrick J. Wong depends on CRC32 1745cde7656SDarrick J. Wong default CRC32_SLICEBY8 17582edb4baSDarrick J. Wong help 17682edb4baSDarrick J. Wong This option allows a kernel builder to override the default choice 17782edb4baSDarrick J. Wong of CRC32 algorithm. Choose the default ("slice by 8") unless you 17882edb4baSDarrick J. Wong know that you need one of the others. 1795cde7656SDarrick J. Wong 1805cde7656SDarrick J. Wongconfig CRC32_SLICEBY8 1815cde7656SDarrick J. Wong bool "Slice by 8 bytes" 1825cde7656SDarrick J. Wong help 1835cde7656SDarrick J. Wong Calculate checksum 8 bytes at a time with a clever slicing algorithm. 1845cde7656SDarrick J. Wong This is the fastest algorithm, but comes with a 8KiB lookup table. 1855cde7656SDarrick J. Wong Most modern processors have enough cache to hold this table without 1865cde7656SDarrick J. Wong thrashing the cache. 1875cde7656SDarrick J. Wong 1885cde7656SDarrick J. Wong This is the default implementation choice. Choose this one unless 1895cde7656SDarrick J. Wong you have a good reason not to. 1905cde7656SDarrick J. Wong 1915cde7656SDarrick J. Wongconfig CRC32_SLICEBY4 1925cde7656SDarrick J. Wong bool "Slice by 4 bytes" 1935cde7656SDarrick J. Wong help 1945cde7656SDarrick J. Wong Calculate checksum 4 bytes at a time with a clever slicing algorithm. 1955cde7656SDarrick J. Wong This is a bit slower than slice by 8, but has a smaller 4KiB lookup 1965cde7656SDarrick J. Wong table. 1975cde7656SDarrick J. Wong 1985cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 1995cde7656SDarrick J. Wong 2005cde7656SDarrick J. Wongconfig CRC32_SARWATE 2015cde7656SDarrick J. Wong bool "Sarwate's Algorithm (one byte at a time)" 2025cde7656SDarrick J. Wong help 2035cde7656SDarrick J. Wong Calculate checksum a byte at a time using Sarwate's algorithm. This 2045cde7656SDarrick J. Wong is not particularly fast, but has a small 256 byte lookup table. 2055cde7656SDarrick J. Wong 2065cde7656SDarrick J. Wong Only choose this option if you know what you are doing. 2075cde7656SDarrick J. Wong 2085cde7656SDarrick J. Wongconfig CRC32_BIT 2095cde7656SDarrick J. Wong bool "Classic Algorithm (one bit at a time)" 2105cde7656SDarrick J. Wong help 2115cde7656SDarrick J. Wong Calculate checksum one bit at a time. This is VERY slow, but has 2125cde7656SDarrick J. Wong no lookup table. This is provided as a debugging option. 2135cde7656SDarrick J. Wong 2145cde7656SDarrick J. Wong Only choose this option if you are debugging crc32. 2155cde7656SDarrick J. Wong 2165cde7656SDarrick J. Wongendchoice 2175cde7656SDarrick J. Wong 218feba04fdSColy Liconfig CRC64 219feba04fdSColy Li tristate "CRC64 functions" 220feba04fdSColy Li help 221feba04fdSColy Li This option is provided for the case where no in-kernel-tree 222feba04fdSColy Li modules require CRC64 functions, but a module built outside 223feba04fdSColy Li the kernel tree does. Such modules that use library CRC64 224feba04fdSColy Li functions require M here. 225feba04fdSColy Li 2260cbaa448SJeremy Kerrconfig CRC4 2270cbaa448SJeremy Kerr tristate "CRC4 functions" 2280cbaa448SJeremy Kerr help 2290cbaa448SJeremy Kerr This option is provided for the case where no in-kernel-tree 2300cbaa448SJeremy Kerr modules require CRC4 functions, but a module built outside 2310cbaa448SJeremy Kerr the kernel tree does. Such modules that use library CRC4 2320cbaa448SJeremy Kerr functions require M here. 2330cbaa448SJeremy Kerr 234ad241528SJan Nikitenkoconfig CRC7 235ad241528SJan Nikitenko tristate "CRC7 functions" 236ad241528SJan Nikitenko help 237ad241528SJan Nikitenko This option is provided for the case where no in-kernel-tree 238ad241528SJan Nikitenko modules require CRC7 functions, but a module built outside 239ad241528SJan Nikitenko the kernel tree does. Such modules that use library CRC7 240ad241528SJan Nikitenko functions require M here. 241ad241528SJan Nikitenko 2421da177e4SLinus Torvaldsconfig LIBCRC32C 2431da177e4SLinus Torvalds tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" 24493027354SHerbert Xu select CRYPTO 24569c35efcSHerbert Xu select CRYPTO_CRC32C 2461da177e4SLinus Torvalds help 2471da177e4SLinus Torvalds This option is provided for the case where no in-kernel-tree 2481da177e4SLinus Torvalds modules require CRC32c functions, but a module built outside the 2491da177e4SLinus Torvalds kernel tree does. Such modules that use library CRC32c functions 2501da177e4SLinus Torvalds require M here. See Castagnoli93. 2511da177e4SLinus Torvalds Module will be libcrc32c. 2521da177e4SLinus Torvalds 2537150962dSArend van Sprielconfig CRC8 2547150962dSArend van Spriel tristate "CRC8 function" 2557150962dSArend van Spriel help 2567150962dSArend van Spriel This option provides CRC8 function. Drivers may select this 2577150962dSArend van Spriel when they need to do cyclic redundancy check according CRC8 2587150962dSArend van Spriel algorithm. Module will be called crc8. 2597150962dSArend van Spriel 2605d240522SNick Terrellconfig XXHASH 2615d240522SNick Terrell tristate 2625d240522SNick Terrell 263e65e1fc2SAl Viroconfig AUDIT_GENERIC 264e65e1fc2SAl Viro bool 265e65e1fc2SAl Viro depends on AUDIT && !AUDIT_ARCH 266e65e1fc2SAl Viro default y 267e65e1fc2SAl Viro 2684b588411SAKASHI Takahiroconfig AUDIT_ARCH_COMPAT_GENERIC 2694b588411SAKASHI Takahiro bool 2704b588411SAKASHI Takahiro default n 2714b588411SAKASHI Takahiro 2724b588411SAKASHI Takahiroconfig AUDIT_COMPAT_GENERIC 2734b588411SAKASHI Takahiro bool 2744b588411SAKASHI Takahiro depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT 2754b588411SAKASHI Takahiro default y 2764b588411SAKASHI Takahiro 277a6a9c0f1SDaniel Borkmannconfig RANDOM32_SELFTEST 278a6a9c0f1SDaniel Borkmann bool "PRNG perform self test on init" 279a6a9c0f1SDaniel Borkmann help 280a6a9c0f1SDaniel Borkmann This option enables the 32 bit PRNG library functions to perform a 281a6a9c0f1SDaniel Borkmann self test on initialization. 282a6a9c0f1SDaniel Borkmann 2831da177e4SLinus Torvalds# 2841da177e4SLinus Torvalds# compression support is select'ed if needed 2851da177e4SLinus Torvalds# 2862da572c9SDan Streetmanconfig 842_COMPRESS 2875b571677SArnd Bergmann select CRC32 2882da572c9SDan Streetman tristate 2892da572c9SDan Streetman 2902da572c9SDan Streetmanconfig 842_DECOMPRESS 2915b571677SArnd Bergmann select CRC32 2922da572c9SDan Streetman tristate 2932da572c9SDan Streetman 2941da177e4SLinus Torvaldsconfig ZLIB_INFLATE 2951da177e4SLinus Torvalds tristate 2961da177e4SLinus Torvalds 2971da177e4SLinus Torvaldsconfig ZLIB_DEFLATE 2981da177e4SLinus Torvalds tristate 2991fd4e5c3SAndrew Morton select BITREVERSE 3001da177e4SLinus Torvalds 301aa5b395bSMikhail Zaslonkoconfig ZLIB_DFLTCC 302aa5b395bSMikhail Zaslonko def_bool y 303aa5b395bSMikhail Zaslonko depends on S390 304aa5b395bSMikhail Zaslonko prompt "Enable s390x DEFLATE CONVERSION CALL support for kernel zlib" 305aa5b395bSMikhail Zaslonko help 306aa5b395bSMikhail Zaslonko Enable s390x hardware support for zlib in the kernel. 307aa5b395bSMikhail Zaslonko 30864c70b1cSRichard Purdieconfig LZO_COMPRESS 30964c70b1cSRichard Purdie tristate 31064c70b1cSRichard Purdie 31164c70b1cSRichard Purdieconfig LZO_DECOMPRESS 31264c70b1cSRichard Purdie tristate 31364c70b1cSRichard Purdie 314c72ac7a1SChanho Minconfig LZ4_COMPRESS 315c72ac7a1SChanho Min tristate 316c72ac7a1SChanho Min 317c72ac7a1SChanho Minconfig LZ4HC_COMPRESS 318c72ac7a1SChanho Min tristate 319c72ac7a1SChanho Min 320e76e1fdfSKyungsik Leeconfig LZ4_DECOMPRESS 321e76e1fdfSKyungsik Lee tristate 322e76e1fdfSKyungsik Lee 32373f3d1b4SNick Terrellconfig ZSTD_COMPRESS 32473f3d1b4SNick Terrell select XXHASH 32573f3d1b4SNick Terrell tristate 32673f3d1b4SNick Terrell 32773f3d1b4SNick Terrellconfig ZSTD_DECOMPRESS 32873f3d1b4SNick Terrell select XXHASH 32973f3d1b4SNick Terrell tristate 33073f3d1b4SNick Terrell 33124fa0402SLasse Collinsource "lib/xz/Kconfig" 33224fa0402SLasse Collin 3331da177e4SLinus Torvalds# 334c8531ab3SH. Peter Anvin# These all provide a common interface (hence the apparent duplication with 335c8531ab3SH. Peter Anvin# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) 336c8531ab3SH. Peter Anvin# 337c8531ab3SH. Peter Anvinconfig DECOMPRESS_GZIP 3387856a16eSH. Peter Anvin select ZLIB_INFLATE 339c8531ab3SH. Peter Anvin tristate 340c8531ab3SH. Peter Anvin 341c8531ab3SH. Peter Anvinconfig DECOMPRESS_BZIP2 342c8531ab3SH. Peter Anvin tristate 343c8531ab3SH. Peter Anvin 344c8531ab3SH. Peter Anvinconfig DECOMPRESS_LZMA 345c8531ab3SH. Peter Anvin tristate 346c8531ab3SH. Peter Anvin 3473ebe1243SLasse Collinconfig DECOMPRESS_XZ 3483ebe1243SLasse Collin select XZ_DEC 3493ebe1243SLasse Collin tristate 3503ebe1243SLasse Collin 351cacb246fSAlbin Tonnerreconfig DECOMPRESS_LZO 352cacb246fSAlbin Tonnerre select LZO_DECOMPRESS 353cacb246fSAlbin Tonnerre tristate 354cacb246fSAlbin Tonnerre 355e76e1fdfSKyungsik Leeconfig DECOMPRESS_LZ4 356e76e1fdfSKyungsik Lee select LZ4_DECOMPRESS 357e76e1fdfSKyungsik Lee tristate 358e76e1fdfSKyungsik Lee 3594963bb2bSNick Terrellconfig DECOMPRESS_ZSTD 3604963bb2bSNick Terrell select ZSTD_DECOMPRESS 3614963bb2bSNick Terrell tristate 3624963bb2bSNick Terrell 363c8531ab3SH. Peter Anvin# 364f14f75b8SJes Sorensen# Generic allocator support is selected if needed 365f14f75b8SJes Sorensen# 366f14f75b8SJes Sorensenconfig GENERIC_ALLOCATOR 3676341e62bSChristoph Jaeger bool 368f14f75b8SJes Sorensen 369f14f75b8SJes Sorensen# 3701da177e4SLinus Torvalds# reed solomon support is select'ed if needed 3711da177e4SLinus Torvalds# 3721da177e4SLinus Torvaldsconfig REED_SOLOMON 3731da177e4SLinus Torvalds tristate 3741da177e4SLinus Torvalds 3751da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC8 3766341e62bSChristoph Jaeger bool 3771da177e4SLinus Torvalds 3781da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC8 3796341e62bSChristoph Jaeger bool 3801da177e4SLinus Torvalds 3811da177e4SLinus Torvaldsconfig REED_SOLOMON_ENC16 3826341e62bSChristoph Jaeger bool 3831da177e4SLinus Torvalds 3841da177e4SLinus Torvaldsconfig REED_SOLOMON_DEC16 3856341e62bSChristoph Jaeger bool 3861da177e4SLinus Torvalds 387f7704347SDavid S. Miller# 388437aa565SIvan Djelic# BCH support is selected if needed 389437aa565SIvan Djelic# 390437aa565SIvan Djelicconfig BCH 391437aa565SIvan Djelic tristate 392437aa565SIvan Djelic 393437aa565SIvan Djelicconfig BCH_CONST_PARAMS 3946341e62bSChristoph Jaeger bool 395437aa565SIvan Djelic help 396437aa565SIvan Djelic Drivers may select this option to force specific constant 397437aa565SIvan Djelic values for parameters 'm' (Galois field order) and 't' 398437aa565SIvan Djelic (error correction capability). Those specific values must 399437aa565SIvan Djelic be set by declaring default values for symbols BCH_CONST_M 400437aa565SIvan Djelic and BCH_CONST_T. 401437aa565SIvan Djelic Doing so will enable extra compiler optimizations, 402437aa565SIvan Djelic improving encoding and decoding performance up to 2x for 403437aa565SIvan Djelic usual (m,t) values (typically such that m*t < 200). 404437aa565SIvan Djelic When this option is selected, the BCH library supports 405437aa565SIvan Djelic only a single (m,t) configuration. This is mainly useful 406437aa565SIvan Djelic for NAND flash board drivers requiring known, fixed BCH 407437aa565SIvan Djelic parameters. 408437aa565SIvan Djelic 409437aa565SIvan Djelicconfig BCH_CONST_M 410437aa565SIvan Djelic int 411437aa565SIvan Djelic range 5 15 412437aa565SIvan Djelic help 413437aa565SIvan Djelic Constant value for Galois field order 'm'. If 'k' is the 414437aa565SIvan Djelic number of data bits to protect, 'm' should be chosen such 415437aa565SIvan Djelic that (k + m*t) <= 2**m - 1. 416437aa565SIvan Djelic Drivers should declare a default value for this symbol if 417437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 418437aa565SIvan Djelic 419437aa565SIvan Djelicconfig BCH_CONST_T 420437aa565SIvan Djelic int 421437aa565SIvan Djelic help 422437aa565SIvan Djelic Constant value for error correction capability in bits 't'. 423437aa565SIvan Djelic Drivers should declare a default value for this symbol if 424437aa565SIvan Djelic they select option BCH_CONST_PARAMS. 425437aa565SIvan Djelic 426437aa565SIvan Djelic# 427f7704347SDavid S. Miller# Textsearch support is select'ed if needed 428f7704347SDavid S. Miller# 4292de4ff7bSThomas Grafconfig TEXTSEARCH 4306341e62bSChristoph Jaeger bool 4311da177e4SLinus Torvalds 432df3fb93aSThomas Grafconfig TEXTSEARCH_KMP 433f7704347SDavid S. Miller tristate 434df3fb93aSThomas Graf 4358082e4edSPablo Neira Ayusoconfig TEXTSEARCH_BM 43629cb9f9cSDavid S. Miller tristate 4378082e4edSPablo Neira Ayuso 4386408f79cSThomas Grafconfig TEXTSEARCH_FSM 439f7704347SDavid S. Miller tristate 4406408f79cSThomas Graf 4415db53f3eSJoern Engelconfig BTREE 4426341e62bSChristoph Jaeger bool 4435db53f3eSJoern Engel 444a88cc108SChris Wilsonconfig INTERVAL_TREE 4456341e62bSChristoph Jaeger bool 446a88cc108SChris Wilson help 447a88cc108SChris Wilson Simple, embeddable, interval-tree. Can find the start of an 448a88cc108SChris Wilson overlapping range in log(n) time and then iterate over all 449a88cc108SChris Wilson overlapping nodes. The algorithm is implemented as an 450a88cc108SChris Wilson augmented rbtree. 451a88cc108SChris Wilson 452a88cc108SChris Wilson See: 453a88cc108SChris Wilson 45414bbe3e3SMatthew Wilcox (Oracle) Documentation/core-api/rbtree.rst 455a88cc108SChris Wilson 456a88cc108SChris Wilson for more information. 457a88cc108SChris Wilson 45802c02bf1SMatthew Wilcoxconfig XARRAY_MULTI 45957578c2eSMatthew Wilcox bool 46002c02bf1SMatthew Wilcox help 46102c02bf1SMatthew Wilcox Support entries which occupy multiple consecutive indices in the 46202c02bf1SMatthew Wilcox XArray. 46357578c2eSMatthew Wilcox 4643cb98950SDavid Howellsconfig ASSOCIATIVE_ARRAY 4653cb98950SDavid Howells bool 4663cb98950SDavid Howells help 4673cb98950SDavid Howells Generic associative array. Can be searched and iterated over whilst 4683cb98950SDavid Howells it is being modified. It is also reasonably quick to search and 4693cb98950SDavid Howells modify. The algorithms are non-recursive, and the trees are highly 4703cb98950SDavid Howells capacious. 4713cb98950SDavid Howells 4723cb98950SDavid Howells See: 4733cb98950SDavid Howells 4745fb94e9cSMauro Carvalho Chehab Documentation/core-api/assoc_array.rst 4753cb98950SDavid Howells 4763cb98950SDavid Howells for more information. 4773cb98950SDavid Howells 4785ea81769SAl Viroconfig HAS_IOMEM 4796341e62bSChristoph Jaeger bool 4805ea81769SAl Viro depends on !NO_IOMEM 4815ea81769SAl Viro default y 4825ea81769SAl Viro 483ce816fa8SUwe Kleine-Königconfig HAS_IOPORT_MAP 4846341e62bSChristoph Jaeger bool 485ce816fa8SUwe Kleine-König depends on HAS_IOMEM && !NO_IOPORT_MAP 486ee36c2bfSAl Viro default y 487ee36c2bfSAl Viro 488cf65a0f6SChristoph Hellwigsource "kernel/dma/Kconfig" 489411f0f3eSHeiko Carstens 490e80a0af4SBart Van Asscheconfig SGL_ALLOC 491e80a0af4SBart Van Assche bool 492e80a0af4SBart Van Assche default n 493e80a0af4SBart Van Assche 494a4ce5a48SChristoph Hellwigconfig IOMMU_HELPER 495a4ce5a48SChristoph Hellwig bool 496a4ce5a48SChristoph Hellwig 497928923c7SGeert Uytterhoevenconfig CHECK_SIGNATURE 498928923c7SGeert Uytterhoeven bool 499928923c7SGeert Uytterhoeven 500aab46da0SRusty Russellconfig CPUMASK_OFFSTACK 501aab46da0SRusty Russell bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS 502aab46da0SRusty Russell help 503aab46da0SRusty Russell Use dynamic allocation for cpumask_var_t, instead of putting 504aab46da0SRusty Russell them on the stack. This is a bit more expensive, but avoids 505aab46da0SRusty Russell stack overflow. 506aab46da0SRusty Russell 507c39649c3SBen Hutchingsconfig CPU_RMAP 508c39649c3SBen Hutchings bool 509c39649c3SBen Hutchings depends on SMP 510c39649c3SBen Hutchings 51175957ba3STom Herbertconfig DQL 51275957ba3STom Herbert bool 51375957ba3STom Herbert 514b0125085SGeorge Spelvinconfig GLOB 515b0125085SGeorge Spelvin bool 516b0125085SGeorge Spelvin# This actually supports modular compilation, but the module overhead 517b0125085SGeorge Spelvin# is ridiculous for the amount of code involved. Until an out-of-tree 518b0125085SGeorge Spelvin# driver asks for it, we'll just link it directly it into the kernel 519b0125085SGeorge Spelvin# when required. Since we're ignoring out-of-tree users, there's also 520b0125085SGeorge Spelvin# no need bother prompting for a manual decision: 521b0125085SGeorge Spelvin# prompt "glob_match() function" 522b0125085SGeorge Spelvin help 523b0125085SGeorge Spelvin This option provides a glob_match function for performing 524b0125085SGeorge Spelvin simple text pattern matching. It originated in the ATA code 525b0125085SGeorge Spelvin to blacklist particular drive models, but other device drivers 526b0125085SGeorge Spelvin may need similar functionality. 527b0125085SGeorge Spelvin 528b0125085SGeorge Spelvin All drivers in the Linux kernel tree that require this function 529b0125085SGeorge Spelvin should automatically select this option. Say N unless you 530b0125085SGeorge Spelvin are compiling an out-of tree driver which tells you that it 531b0125085SGeorge Spelvin depends on this. 532b0125085SGeorge Spelvin 5335f9be824SGeorge Spelvinconfig GLOB_SELFTEST 534ba95b045SGeert Uytterhoeven tristate "glob self-test on init" 5355f9be824SGeorge Spelvin depends on GLOB 5365f9be824SGeorge Spelvin help 5375f9be824SGeorge Spelvin This option enables a simple self-test of the glob_match 5385f9be824SGeorge Spelvin function on startup. It is primarily useful for people 5395f9be824SGeorge Spelvin working on the code to ensure they haven't introduced any 5405f9be824SGeorge Spelvin regressions. 5415f9be824SGeorge Spelvin 5425f9be824SGeorge Spelvin It only adds a little bit of code and slows kernel boot (or 5435f9be824SGeorge Spelvin module load) by a small amount, so you're welcome to play with 5445f9be824SGeorge Spelvin it, but you probably don't need it. 5455f9be824SGeorge Spelvin 546e9cc8bddSGeert Uytterhoeven# 547e9cc8bddSGeert Uytterhoeven# Netlink attribute parsing support is select'ed if needed 548e9cc8bddSGeert Uytterhoeven# 549e9cc8bddSGeert Uytterhoevenconfig NLATTR 550e9cc8bddSGeert Uytterhoeven bool 551e9cc8bddSGeert Uytterhoeven 55209d4e0edSPaul Mackerras# 55309d4e0edSPaul Mackerras# Generic 64-bit atomic support is selected if needed 55409d4e0edSPaul Mackerras# 55509d4e0edSPaul Mackerrasconfig GENERIC_ATOMIC64 55609d4e0edSPaul Mackerras bool 55709d4e0edSPaul Mackerras 558b411b363SPhilipp Reisnerconfig LRU_CACHE 559b411b363SPhilipp Reisner tristate 560b411b363SPhilipp Reisner 561c6df4b17SDavid Millerconfig CLZ_TAB 562c6df4b17SDavid Miller bool 563c6df4b17SDavid Miller 564511cbce2SChristoph Hellwigconfig IRQ_POLL 565511cbce2SChristoph Hellwig bool "IRQ polling library" 566511cbce2SChristoph Hellwig help 567511cbce2SChristoph Hellwig Helper library to poll interrupt mitigation using polling. 568511cbce2SChristoph Hellwig 569d9c46b18SDmitry Kasatkinconfig MPILIB 5702e5f094bSDmitry Kasatkin tristate 571c6df4b17SDavid Miller select CLZ_TAB 572d9c46b18SDmitry Kasatkin help 573d9c46b18SDmitry Kasatkin Multiprecision maths library from GnuPG. 574d9c46b18SDmitry Kasatkin It is used to implement RSA digital signature verification, 575d9c46b18SDmitry Kasatkin which is used by IMA/EVM digital signature extension. 576d9c46b18SDmitry Kasatkin 5775e8898e9SDmitry Kasatkinconfig SIGNATURE 5782e5f094bSDmitry Kasatkin tristate 5790d1f64f6SDmitry Kasatkin depends on KEYS 5800d1f64f6SDmitry Kasatkin select CRYPTO 581be440ec7SDmitry Kasatkin select CRYPTO_SHA1 582051dbb91SDmitry Kasatkin select MPILIB 583051dbb91SDmitry Kasatkin help 584051dbb91SDmitry Kasatkin Digital signature verification. Currently only RSA is supported. 585051dbb91SDmitry Kasatkin Implementation is done using GnuPG MPI library 586051dbb91SDmitry Kasatkin 5874f75da36STal Gilboaconfig DIMLIB 588424adc32SUwe Kleine-König bool 5894f75da36STal Gilboa help 5904f75da36STal Gilboa Dynamic Interrupt Moderation library. 591991ad2b2SRandy Dunlap Implements an algorithm for dynamically changing CQ moderation values 5924f75da36STal Gilboa according to run time performance. 5934f75da36STal Gilboa 594ab253839SDavid Daney# 595ab253839SDavid Daney# libfdt files, only selected if needed. 596ab253839SDavid Daney# 597ab253839SDavid Daneyconfig LIBFDT 598ab253839SDavid Daney bool 599ab253839SDavid Daney 600a77ad6eaSDavid Howellsconfig OID_REGISTRY 601a77ad6eaSDavid Howells tristate 602a77ad6eaSDavid Howells help 603a77ad6eaSDavid Howells Enable fast lookup object identifier registry. 604a77ad6eaSDavid Howells 6050635eb8aSMatthew Garrettconfig UCS2_STRING 6060635eb8aSMatthew Garrett tristate 6070635eb8aSMatthew Garrett 60800b26474SVincenzo Frascino# 60900b26474SVincenzo Frascino# generic vdso 61000b26474SVincenzo Frascino# 61100b26474SVincenzo Frascinosource "lib/vdso/Kconfig" 61200b26474SVincenzo Frascino 613ee89bd6bSGeert Uytterhoevensource "lib/fonts/Kconfig" 614ee89bd6bSGeert Uytterhoeven 615f8bcbe62SRobert Jarzmikconfig SG_SPLIT 616f8bcbe62SRobert Jarzmik def_bool n 617f8bcbe62SRobert Jarzmik help 6187f7e92f7SGeert Uytterhoeven Provides a helper to split scatterlists into chunks, each chunk being 6197f7e92f7SGeert Uytterhoeven a scatterlist. This should be selected by a driver or an API which 6207f7e92f7SGeert Uytterhoeven whishes to split a scatterlist amongst multiple DMA channels. 621f8bcbe62SRobert Jarzmik 6229b1d6c89SMing Linconfig SG_POOL 6239b1d6c89SMing Lin def_bool n 6249b1d6c89SMing Lin help 6259b1d6c89SMing Lin Provides a helper to allocate chained scatterlists. This should be 6269b1d6c89SMing Lin selected by a driver or an API which whishes to allocate chained 6279b1d6c89SMing Lin scatterlist. 6289b1d6c89SMing Lin 629308c09f1SLaura Abbott# 630308c09f1SLaura Abbott# sg chaining option 631308c09f1SLaura Abbott# 632308c09f1SLaura Abbott 6337c703e54SChristoph Hellwigconfig ARCH_NO_SG_CHAIN 634308c09f1SLaura Abbott def_bool n 635308c09f1SLaura Abbott 63661031952SRoss Zwislerconfig ARCH_HAS_PMEM_API 63761031952SRoss Zwisler bool 63861031952SRoss Zwisler 63933dd7075SDan Williamsconfig MEMREGION 64033dd7075SDan Williams bool 64133dd7075SDan Williams 6429ffc1d19SDan Williamsconfig ARCH_HAS_MEMREMAP_COMPAT_ALIGN 6439ffc1d19SDan Williams bool 6449ffc1d19SDan Williams 645bd79f947SChristoph Hellwig# use memcpy to implement user copies for nommu architectures 646bd79f947SChristoph Hellwigconfig UACCESS_MEMCPY 647bd79f947SChristoph Hellwig bool 648bd79f947SChristoph Hellwig 6490aed55afSDan Williamsconfig ARCH_HAS_UACCESS_FLUSHCACHE 6500aed55afSDan Williams bool 6510aed55afSDan Williams 652ec6347bbSDan Williams# arch has a concept of a recoverable synchronous exception due to a 653ec6347bbSDan Williams# memory-read error like x86 machine-check or ARM data-abort, and 654ec6347bbSDan Williams# implements copy_mc_to_{user,kernel} to abort and report 655ec6347bbSDan Williams# 'bytes-transferred' if that exception fires when accessing the source 656ec6347bbSDan Williams# buffer. 657ec6347bbSDan Williamsconfig ARCH_HAS_COPY_MC 658522239b4SDan Williams bool 659522239b4SDan Williams 660214d8ca6SThomas Gleixner# Temporary. Goes away when all archs are cleaned up 661214d8ca6SThomas Gleixnerconfig ARCH_STACKWALK 662214d8ca6SThomas Gleixner bool 663214d8ca6SThomas Gleixner 664cd11016eSAlexander Potapenkoconfig STACKDEPOT 665cd11016eSAlexander Potapenko bool 666cd11016eSAlexander Potapenko select STACKTRACE 667cd11016eSAlexander Potapenko 668d2620936SYogesh Lalconfig STACK_HASH_ORDER 669d2620936SYogesh Lal int "stack depot hash size (12 => 4KB, 20 => 1024KB)" 670d2620936SYogesh Lal range 12 20 671d2620936SYogesh Lal default 20 672d2620936SYogesh Lal depends on STACKDEPOT 673d2620936SYogesh Lal help 674d2620936SYogesh Lal Select the hash size as a power of 2 for the stackdepot hash table. 675d2620936SYogesh Lal Choose a lower value to reduce the memory impact. 676d2620936SYogesh Lal 67788459642SOmar Sandovalconfig SBITMAP 67888459642SOmar Sandoval bool 67988459642SOmar Sandoval 68044091d29SJiri Pirkoconfig PARMAN 6819d25af69SGeert Uytterhoeven tristate "parman" if COMPILE_TEST 68244091d29SJiri Pirko 6833dfdecc6SRandy Dunlapconfig OBJAGG 6843dfdecc6SRandy Dunlap tristate "objagg" if COMPILE_TEST 6853dfdecc6SRandy Dunlap 68603270c13SMatthew Wilcoxconfig STRING_SELFTEST 687d6b28e09SGeert Uytterhoeven tristate "Test string functions" 68803270c13SMatthew Wilcox 6892de4ff7bSThomas Grafendmenu 690b35cd988SPalmer Dabbelt 69180b0ca98SChristoph Hellwigconfig GENERIC_IOREMAP 69280b0ca98SChristoph Hellwig bool 69380b0ca98SChristoph Hellwig 694e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHLDI3 695b35cd988SPalmer Dabbelt bool 696b35cd988SPalmer Dabbelt 697e3d59805SMatt Redfearnconfig GENERIC_LIB_ASHRDI3 698b35cd988SPalmer Dabbelt bool 699b35cd988SPalmer Dabbelt 700e3d59805SMatt Redfearnconfig GENERIC_LIB_LSHRDI3 701b35cd988SPalmer Dabbelt bool 702b35cd988SPalmer Dabbelt 703e3d59805SMatt Redfearnconfig GENERIC_LIB_MULDI3 704b35cd988SPalmer Dabbelt bool 705b35cd988SPalmer Dabbelt 706e3d59805SMatt Redfearnconfig GENERIC_LIB_CMPDI2 707b35cd988SPalmer Dabbelt bool 708b35cd988SPalmer Dabbelt 709e3d59805SMatt Redfearnconfig GENERIC_LIB_UCMPDI2 710b35cd988SPalmer Dabbelt bool 711b8265621SJacob Keller 712527701edSPalmer Dabbeltconfig GENERIC_LIB_DEVMEM_IS_ALLOWED 713527701edSPalmer Dabbelt bool 714527701edSPalmer Dabbelt 715b8265621SJacob Kellerconfig PLDMFW 716b8265621SJacob Keller bool 717b8265621SJacob Keller default n 718b0706762SJames Bottomley 719b0706762SJames Bottomleyconfig ASN1_ENCODER 720b0706762SJames Bottomley tristate 721