1 # SPDX-License-Identifier: GPL-2.0-only << 2 # 1 # 3 # Library configuration 2 # Library configuration 4 # 3 # 5 4 6 config BINARY_PRINTF << 7 def_bool n << 8 << 9 menu "Library routines" 5 menu "Library routines" 10 6 11 config RAID6_PQ << 12 tristate << 13 << 14 config RAID6_PQ_BENCHMARK << 15 bool "Automatically choose fastest RAI << 16 depends on RAID6_PQ << 17 default y << 18 help << 19 Benchmark all available RAID6 PQ fun << 20 fastest one. << 21 << 22 config LINEAR_RANGES << 23 tristate << 24 << 25 config PACKING << 26 bool "Generic bitfield packing and unp << 27 select BITREVERSE << 28 default n << 29 help << 30 This option provides the packing() h << 31 converting bitfields between a CPU-u << 32 memory representation that can have << 33 - Is little endian (bytes are reve << 34 - The least-significant 32-bit wor << 35 group) << 36 - The most significant bit of a by << 37 register description is numerica << 38 Drivers may use these helpers to mat << 39 in the data sheets of the peripheral << 40 << 41 When in doubt, say N. << 42 << 43 config BITREVERSE << 44 tristate << 45 << 46 config HAVE_ARCH_BITREVERSE << 47 bool << 48 default n << 49 help << 50 This option enables the use of hardw << 51 architectures which support such ope << 52 << 53 config ARCH_HAS_STRNCPY_FROM_USER << 54 bool << 55 << 56 config ARCH_HAS_STRNLEN_USER << 57 bool << 58 << 59 config GENERIC_STRNCPY_FROM_USER << 60 def_bool !ARCH_HAS_STRNCPY_FROM_USER << 61 << 62 config GENERIC_STRNLEN_USER << 63 def_bool !ARCH_HAS_STRNLEN_USER << 64 << 65 config GENERIC_NET_UTILS << 66 bool << 67 << 68 source "lib/math/Kconfig" << 69 << 70 config NO_GENERIC_PCI_IOPORT_MAP << 71 bool << 72 << 73 config GENERIC_IOMAP << 74 bool << 75 select GENERIC_PCI_IOMAP << 76 << 77 config STMP_DEVICE << 78 bool << 79 << 80 config ARCH_USE_CMPXCHG_LOCKREF << 81 bool << 82 << 83 config ARCH_HAS_FAST_MULTIPLIER << 84 bool << 85 << 86 config ARCH_USE_SYM_ANNOTATIONS << 87 bool << 88 << 89 config INDIRECT_PIO << 90 bool "Access I/O in non-MMIO mode" << 91 depends on ARM64 << 92 depends on HAS_IOPORT << 93 help << 94 On some platforms where no separate << 95 hosts which can not be accessed in M << 96 mechanism, the host-local I/O resour << 97 logic PIO space shared with MMIO hos << 98 system can access the I/O devices wi << 99 I/O accessors. << 100 << 101 This way has relatively little I/O p << 102 sure your devices really need this c << 103 << 104 When in doubt, say N. << 105 << 106 config INDIRECT_IOMEM << 107 bool << 108 help << 109 This is selected by other options/ar << 110 emulated iomem accessors. << 111 << 112 config INDIRECT_IOMEM_FALLBACK << 113 bool << 114 depends on INDIRECT_IOMEM << 115 help << 116 If INDIRECT_IOMEM is selected, this << 117 mmio accesses when the IO memory add << 118 emulated region. << 119 << 120 config TRACE_MMIO_ACCESS << 121 bool "Register read/write tracing" << 122 depends on TRACING && ARCH_HAVE_TRACE_ << 123 help << 124 Create tracepoints for MMIO read/wri << 125 can be used for logging all MMIO rea << 126 << 127 source "lib/crypto/Kconfig" << 128 << 129 config CRC_CCITT << 130 tristate "CRC-CCITT functions" << 131 help << 132 This option is provided for the case << 133 modules require CRC-CCITT functions, << 134 the kernel tree does. Such modules t << 135 functions require M here. << 136 << 137 config CRC16 << 138 tristate "CRC16 functions" << 139 help << 140 This option is provided for the case << 141 modules require CRC16 functions, but << 142 the kernel tree does. Such modules t << 143 functions require M here. << 144 << 145 config CRC_T10DIF << 146 tristate "CRC calculation for the T10 << 147 select CRYPTO << 148 select CRYPTO_CRCT10DIF << 149 help << 150 This option is only needed if a modu << 151 kernel tree needs to calculate CRC c << 152 SCSI data integrity subsystem. << 153 << 154 config CRC64_ROCKSOFT << 155 tristate "CRC calculation for the Rock << 156 select CRC64 << 157 select CRYPTO << 158 select CRYPTO_CRC64_ROCKSOFT << 159 help << 160 This option provides a CRC64 API to << 161 This is used with the block layer's << 162 << 163 config CRC_ITU_T << 164 tristate "CRC ITU-T V.41 functions" << 165 help << 166 This option is provided for the case << 167 modules require CRC ITU-T V.41 funct << 168 the kernel tree does. Such modules t << 169 functions require M here. << 170 << 171 config CRC32 7 config CRC32 172 tristate "CRC32/CRC32c functions" !! 8 tristate "CRC32 functions" 173 default y << 174 select BITREVERSE << 175 help << 176 This option is provided for the case << 177 modules require CRC32/CRC32c functio << 178 the kernel tree does. Such modules t << 179 functions require M here. << 180 << 181 config CRC32_SELFTEST << 182 tristate "CRC32 perform self test on i << 183 depends on CRC32 << 184 help << 185 This option enables the CRC32 librar << 186 self test on initialization. The sel << 187 and crc32_be over byte strings with << 188 and computes the total elapsed time << 189 << 190 choice << 191 prompt "CRC32 implementation" << 192 depends on CRC32 << 193 default CRC32_SLICEBY8 << 194 help << 195 This option allows a kernel builder << 196 of CRC32 algorithm. Choose the defa << 197 know that you need one of the others << 198 << 199 config CRC32_SLICEBY8 << 200 bool "Slice by 8 bytes" << 201 help << 202 Calculate checksum 8 bytes at a time << 203 This is the fastest algorithm, but c << 204 Most modern processors have enough c << 205 thrashing the cache. << 206 << 207 This is the default implementation c << 208 you have a good reason not to. << 209 << 210 config CRC32_SLICEBY4 << 211 bool "Slice by 4 bytes" << 212 help << 213 Calculate checksum 4 bytes at a time << 214 This is a bit slower than slice by 8 << 215 table. << 216 << 217 Only choose this option if you know << 218 << 219 config CRC32_SARWATE << 220 bool "Sarwate's Algorithm (one byte at << 221 help << 222 Calculate checksum a byte at a time << 223 is not particularly fast, but has a << 224 << 225 Only choose this option if you know << 226 << 227 config CRC32_BIT << 228 bool "Classic Algorithm (one bit at a << 229 help << 230 Calculate checksum one bit at a time << 231 no lookup table. This is provided a << 232 << 233 Only choose this option if you are d << 234 << 235 endchoice << 236 << 237 config CRC64 << 238 tristate "CRC64 functions" << 239 help 9 help 240 This option is provided for the case 10 This option is provided for the case where no in-kernel-tree 241 modules require CRC64 functions, but !! 11 modules require CRC32 functions, but a module built outside the 242 the kernel tree does. Such modules t !! 12 kernel tree does. Such modules that use library CRC32 functions 243 functions require M here. !! 13 require M here. 244 << 245 config CRC4 << 246 tristate "CRC4 functions" << 247 help << 248 This option is provided for the case << 249 modules require CRC4 functions, but << 250 the kernel tree does. Such modules t << 251 functions require M here. << 252 << 253 config CRC7 << 254 tristate "CRC7 functions" << 255 help << 256 This option is provided for the case << 257 modules require CRC7 functions, but << 258 the kernel tree does. Such modules t << 259 functions require M here. << 260 << 261 config LIBCRC32C << 262 tristate "CRC32c (Castagnoli, et al) C << 263 select CRYPTO << 264 select CRYPTO_CRC32C << 265 help << 266 This option is provided for the case << 267 modules require CRC32c functions, bu << 268 kernel tree does. Such modules that << 269 require M here. See Castagnoli93. << 270 Module will be libcrc32c. << 271 << 272 config CRC8 << 273 tristate "CRC8 function" << 274 help << 275 This option provides CRC8 function. << 276 when they need to do cyclic redundan << 277 algorithm. Module will be called crc << 278 << 279 config XXHASH << 280 tristate << 281 << 282 config AUDIT_GENERIC << 283 bool << 284 depends on AUDIT && !AUDIT_ARCH << 285 default y << 286 << 287 config AUDIT_ARCH_COMPAT_GENERIC << 288 bool << 289 default n << 290 << 291 config AUDIT_COMPAT_GENERIC << 292 bool << 293 depends on AUDIT_GENERIC && AUDIT_ARCH << 294 default y << 295 << 296 config RANDOM32_SELFTEST << 297 bool "PRNG perform self test on init" << 298 help << 299 This option enables the 32 bit PRNG << 300 self test on initialization. << 301 14 302 # 15 # 303 # compression support is select'ed if needed 16 # compression support is select'ed if needed 304 # 17 # 305 config 842_COMPRESS << 306 select CRC32 << 307 tristate << 308 << 309 config 842_DECOMPRESS << 310 select CRC32 << 311 tristate << 312 << 313 config ZLIB_INFLATE 18 config ZLIB_INFLATE 314 tristate 19 tristate 315 20 316 config ZLIB_DEFLATE 21 config ZLIB_DEFLATE 317 tristate 22 tristate 318 select BITREVERSE << 319 << 320 config ZLIB_DFLTCC << 321 def_bool y << 322 depends on S390 << 323 prompt "Enable s390x DEFLATE CONVERSIO << 324 help << 325 Enable s390x hardware support for zli << 326 << 327 config LZO_COMPRESS << 328 tristate << 329 << 330 config LZO_DECOMPRESS << 331 tristate << 332 << 333 config LZ4_COMPRESS << 334 tristate << 335 << 336 config LZ4HC_COMPRESS << 337 tristate << 338 << 339 config LZ4_DECOMPRESS << 340 tristate << 341 << 342 config ZSTD_COMMON << 343 select XXHASH << 344 tristate << 345 << 346 config ZSTD_COMPRESS << 347 select ZSTD_COMMON << 348 tristate << 349 << 350 config ZSTD_DECOMPRESS << 351 select ZSTD_COMMON << 352 tristate << 353 << 354 source "lib/xz/Kconfig" << 355 << 356 # << 357 # These all provide a common interface (hence << 358 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrap << 359 # << 360 config DECOMPRESS_GZIP << 361 select ZLIB_INFLATE << 362 tristate << 363 << 364 config DECOMPRESS_BZIP2 << 365 tristate << 366 << 367 config DECOMPRESS_LZMA << 368 tristate << 369 << 370 config DECOMPRESS_XZ << 371 select XZ_DEC << 372 tristate << 373 << 374 config DECOMPRESS_LZO << 375 select LZO_DECOMPRESS << 376 tristate << 377 << 378 config DECOMPRESS_LZ4 << 379 select LZ4_DECOMPRESS << 380 tristate << 381 << 382 config DECOMPRESS_ZSTD << 383 select ZSTD_DECOMPRESS << 384 tristate << 385 << 386 # << 387 # Generic allocator support is selected if nee << 388 # << 389 config GENERIC_ALLOCATOR << 390 bool << 391 << 392 # << 393 # reed solomon support is select'ed if needed << 394 # << 395 config REED_SOLOMON << 396 tristate << 397 << 398 config REED_SOLOMON_ENC8 << 399 bool << 400 << 401 config REED_SOLOMON_DEC8 << 402 bool << 403 << 404 config REED_SOLOMON_ENC16 << 405 bool << 406 << 407 config REED_SOLOMON_DEC16 << 408 bool << 409 << 410 # << 411 # BCH support is selected if needed << 412 # << 413 config BCH << 414 tristate << 415 select BITREVERSE << 416 << 417 config BCH_CONST_PARAMS << 418 bool << 419 help << 420 Drivers may select this option to fo << 421 values for parameters 'm' (Galois fi << 422 (error correction capability). Those << 423 be set by declaring default values f << 424 and BCH_CONST_T. << 425 Doing so will enable extra compiler << 426 improving encoding and decoding perf << 427 usual (m,t) values (typically such t << 428 When this option is selected, the BC << 429 only a single (m,t) configuration. T << 430 for NAND flash board drivers requiri << 431 parameters. << 432 << 433 config BCH_CONST_M << 434 int << 435 range 5 15 << 436 help << 437 Constant value for Galois field orde << 438 number of data bits to protect, 'm' << 439 that (k + m*t) <= 2**m - 1. << 440 Drivers should declare a default val << 441 they select option BCH_CONST_PARAMS. << 442 << 443 config BCH_CONST_T << 444 int << 445 help << 446 Constant value for error correction << 447 Drivers should declare a default val << 448 they select option BCH_CONST_PARAMS. << 449 << 450 # << 451 # Textsearch support is select'ed if needed << 452 # << 453 config TEXTSEARCH << 454 bool << 455 << 456 config TEXTSEARCH_KMP << 457 tristate << 458 << 459 config TEXTSEARCH_BM << 460 tristate << 461 << 462 config TEXTSEARCH_FSM << 463 tristate << 464 << 465 config BTREE << 466 bool << 467 << 468 config INTERVAL_TREE << 469 bool << 470 help << 471 Simple, embeddable, interval-tree. C << 472 overlapping range in log(n) time and << 473 overlapping nodes. The algorithm is << 474 augmented rbtree. << 475 << 476 See: << 477 << 478 Documentation/core-api/rbtree. << 479 << 480 for more information. << 481 << 482 config INTERVAL_TREE_SPAN_ITER << 483 bool << 484 depends on INTERVAL_TREE << 485 << 486 config XARRAY_MULTI << 487 bool << 488 help << 489 Support entries which occupy multipl << 490 XArray. << 491 << 492 config ASSOCIATIVE_ARRAY << 493 bool << 494 help << 495 Generic associative array. Can be s << 496 it is being modified. It is also re << 497 modify. The algorithms are non-recu << 498 capacious. << 499 << 500 See: << 501 << 502 Documentation/core-api/assoc_a << 503 << 504 for more information. << 505 << 506 config CLOSURES << 507 bool << 508 << 509 config HAS_IOMEM << 510 bool << 511 depends on !NO_IOMEM << 512 default y << 513 << 514 config HAS_IOPORT << 515 bool << 516 << 517 config HAS_IOPORT_MAP << 518 bool << 519 depends on HAS_IOMEM && !NO_IOPORT_MAP << 520 default y << 521 << 522 source "kernel/dma/Kconfig" << 523 << 524 config SGL_ALLOC << 525 bool << 526 default n << 527 << 528 config IOMMU_HELPER << 529 bool << 530 << 531 config CHECK_SIGNATURE << 532 bool << 533 << 534 config CPUMASK_OFFSTACK << 535 bool "Force CPU masks off stack" if DE << 536 help << 537 Use dynamic allocation for cpumask_v << 538 them on the stack. This is a bit mo << 539 stack overflow. << 540 << 541 config FORCE_NR_CPUS << 542 def_bool !SMP << 543 << 544 config CPU_RMAP << 545 bool << 546 depends on SMP << 547 << 548 config DQL << 549 bool << 550 << 551 config GLOB << 552 bool << 553 # This actually supports modular compila << 554 # is ridiculous for the amount of code i << 555 # driver asks for it, we'll just link it << 556 # when required. Since we're ignoring o << 557 # no need bother prompting for a manual << 558 # prompt "glob_match() function" << 559 help << 560 This option provides a glob_match fu << 561 simple text pattern matching. It or << 562 to blacklist particular drive models << 563 may need similar functionality. << 564 << 565 All drivers in the Linux kernel tree << 566 should automatically select this opt << 567 are compiling an out-of tree driver << 568 depends on this. << 569 << 570 config GLOB_SELFTEST << 571 tristate "glob self-test on init" << 572 depends on GLOB << 573 help << 574 This option enables a simple self-te << 575 function on startup. It is primaril << 576 working on the code to ensure they h << 577 regressions. << 578 << 579 It only adds a little bit of code an << 580 module load) by a small amount, so y << 581 it, but you probably don't need it. << 582 << 583 # << 584 # Netlink attribute parsing support is select' << 585 # << 586 config NLATTR << 587 bool << 588 << 589 # << 590 # Generic 64-bit atomic support is selected if << 591 # << 592 config GENERIC_ATOMIC64 << 593 bool << 594 << 595 config LRU_CACHE << 596 tristate << 597 << 598 config CLZ_TAB << 599 bool << 600 << 601 config IRQ_POLL << 602 bool "IRQ polling library" << 603 help << 604 Helper library to poll interrupt mit << 605 << 606 config MPILIB << 607 tristate << 608 select CLZ_TAB << 609 help << 610 Multiprecision maths library from Gn << 611 It is used to implement RSA digital << 612 which is used by IMA/EVM digital sig << 613 << 614 config SIGNATURE << 615 tristate << 616 depends on KEYS << 617 select CRYPTO << 618 select CRYPTO_SHA1 << 619 select MPILIB << 620 help << 621 Digital signature verification. Curr << 622 Implementation is done using GnuPG M << 623 << 624 config DIMLIB << 625 tristate << 626 depends on NET << 627 help << 628 Dynamic Interrupt Moderation library << 629 Implements an algorithm for dynamica << 630 according to run time performance. << 631 << 632 # << 633 # libfdt files, only selected if needed. << 634 # << 635 config LIBFDT << 636 bool << 637 << 638 config OID_REGISTRY << 639 tristate << 640 help << 641 Enable fast lookup object identifier << 642 << 643 config UCS2_STRING << 644 tristate << 645 << 646 # << 647 # generic vdso << 648 # << 649 source "lib/vdso/Kconfig" << 650 << 651 source "lib/fonts/Kconfig" << 652 << 653 config SG_SPLIT << 654 def_bool n << 655 help << 656 Provides a helper to split scatterlis << 657 a scatterlist. This should be selecte << 658 whishes to split a scatterlist amongs << 659 << 660 config SG_POOL << 661 def_bool n << 662 help << 663 Provides a helper to allocate chained << 664 selected by a driver or an API which << 665 scatterlist. << 666 << 667 # << 668 # sg chaining option << 669 # << 670 << 671 config ARCH_NO_SG_CHAIN << 672 def_bool n << 673 << 674 config ARCH_HAS_PMEM_API << 675 bool << 676 << 677 config MEMREGION << 678 bool << 679 << 680 config ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION << 681 bool << 682 << 683 config ARCH_HAS_MEMREMAP_COMPAT_ALIGN << 684 bool << 685 << 686 # use memcpy to implement user copies for nomm << 687 config UACCESS_MEMCPY << 688 bool << 689 << 690 config ARCH_HAS_UACCESS_FLUSHCACHE << 691 bool << 692 << 693 # arch has a concept of a recoverable synchron << 694 # memory-read error like x86 machine-check or << 695 # implements copy_mc_to_{user,kernel} to abort << 696 # 'bytes-transferred' if that exception fires << 697 # buffer. << 698 config ARCH_HAS_COPY_MC << 699 bool << 700 << 701 # Temporary. Goes away when all archs are clea << 702 config ARCH_STACKWALK << 703 bool << 704 << 705 config STACKDEPOT << 706 bool << 707 select STACKTRACE << 708 help << 709 Stack depot: stack trace storage tha << 710 << 711 config STACKDEPOT_ALWAYS_INIT << 712 bool << 713 select STACKDEPOT << 714 help << 715 Always initialize stack depot during << 716 << 717 config STACKDEPOT_MAX_FRAMES << 718 int "Maximum number of frames in trace << 719 range 1 256 << 720 default 64 << 721 depends on STACKDEPOT << 722 << 723 config REF_TRACKER << 724 bool << 725 depends on STACKTRACE_SUPPORT << 726 select STACKDEPOT << 727 << 728 config SBITMAP << 729 bool << 730 << 731 config PARMAN << 732 tristate "parman" if COMPILE_TEST << 733 << 734 config OBJAGG << 735 tristate "objagg" if COMPILE_TEST << 736 << 737 config LWQ_TEST << 738 bool "Boot-time test for lwq queuing" << 739 help << 740 Run boot-time test of light-weight q << 741 23 742 endmenu 24 endmenu 743 25 744 config GENERIC_IOREMAP << 745 bool << 746 << 747 config GENERIC_LIB_ASHLDI3 << 748 bool << 749 << 750 config GENERIC_LIB_ASHRDI3 << 751 bool << 752 << 753 config GENERIC_LIB_LSHRDI3 << 754 bool << 755 << 756 config GENERIC_LIB_MULDI3 << 757 bool << 758 << 759 config GENERIC_LIB_CMPDI2 << 760 bool << 761 << 762 config GENERIC_LIB_UCMPDI2 << 763 bool << 764 << 765 config GENERIC_LIB_DEVMEM_IS_ALLOWED << 766 bool << 767 << 768 config PLDMFW << 769 bool << 770 default n << 771 << 772 config ASN1_ENCODER << 773 tristate << 774 << 775 config POLYNOMIAL << 776 tristate << 777 << 778 config FIRMWARE_TABLE << 779 bool <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.