~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/lib/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only
  2 #
  3 # Library configuration
  4 #
  5 
  6 config BINARY_PRINTF
  7         def_bool n
  8 
  9 menu "Library routines"
 10 
 11 config RAID6_PQ
 12         tristate
 13 
 14 config RAID6_PQ_BENCHMARK
 15         bool "Automatically choose fastest RAID6 PQ functions"
 16         depends on RAID6_PQ
 17         default y
 18         help
 19           Benchmark all available RAID6 PQ functions on init and choose the
 20           fastest one.
 21 
 22 config LINEAR_RANGES
 23         tristate
 24 
 25 config PACKING
 26         bool "Generic bitfield packing and unpacking"
 27         select BITREVERSE
 28         default n
 29         help
 30           This option provides the packing() helper function, which permits
 31           converting bitfields between a CPU-usable representation and a
 32           memory representation that can have any combination of these quirks:
 33             - Is little endian (bytes are reversed within a 32-bit group)
 34             - The least-significant 32-bit word comes first (within a 64-bit
 35               group)
 36             - The most significant bit of a byte is at its right (bit 0 of a
 37               register description is numerically 2^7).
 38           Drivers may use these helpers to match the bit indices as described
 39           in the data sheets of the peripherals they are in control of.
 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 hardware bit-reversal instructions on
 51           architectures which support such operations.
 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 I/O space exists, there are I/O
 95           hosts which can not be accessed in MMIO mode. Using the logical PIO
 96           mechanism, the host-local I/O resource can be mapped into system
 97           logic PIO space shared with MMIO hosts, such as PCI/PCIe, then the
 98           system can access the I/O devices with the mapped-logic PIO through
 99           I/O accessors.
100 
101           This way has relatively little I/O performance cost. Please make
102           sure your devices really need this configure item enabled.
103 
104           When in doubt, say N.
105 
106 config INDIRECT_IOMEM
107         bool
108         help
109           This is selected by other options/architectures to provide the
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 enables falling back to plain
117           mmio accesses when the IO memory address is not a registered
118           emulated region.
119 
120 config TRACE_MMIO_ACCESS
121         bool "Register read/write tracing"
122         depends on TRACING && ARCH_HAVE_TRACE_MMIO_ACCESS
123         help
124           Create tracepoints for MMIO read/write operations. These trace events
125           can be used for logging all MMIO read/write operations.
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 where no in-kernel-tree
133           modules require CRC-CCITT functions, but a module built outside
134           the kernel tree does. Such modules that use library CRC-CCITT
135           functions require M here.
136 
137 config CRC16
138         tristate "CRC16 functions"
139         help
140           This option is provided for the case where no in-kernel-tree
141           modules require CRC16 functions, but a module built outside
142           the kernel tree does. Such modules that use library CRC16
143           functions require M here.
144 
145 config CRC_T10DIF
146         tristate "CRC calculation for the T10 Data Integrity Field"
147         select CRYPTO
148         select CRYPTO_CRCT10DIF
149         help
150           This option is only needed if a module that's not in the
151           kernel tree needs to calculate CRC checks for use with the
152           SCSI data integrity subsystem.
153 
154 config CRC64_ROCKSOFT
155         tristate "CRC calculation for the Rocksoft model CRC64"
156         select CRC64
157         select CRYPTO
158         select CRYPTO_CRC64_ROCKSOFT
159         help
160           This option provides a CRC64 API to a registered crypto driver.
161           This is used with the block layer's data integrity subsystem.
162 
163 config CRC_ITU_T
164         tristate "CRC ITU-T V.41 functions"
165         help
166           This option is provided for the case where no in-kernel-tree
167           modules require CRC ITU-T V.41 functions, but a module built outside
168           the kernel tree does. Such modules that use library CRC ITU-T V.41
169           functions require M here.
170 
171 config CRC32
172         tristate "CRC32/CRC32c functions"
173         default y
174         select BITREVERSE
175         help
176           This option is provided for the case where no in-kernel-tree
177           modules require CRC32/CRC32c functions, but a module built outside
178           the kernel tree does. Such modules that use library CRC32/CRC32c
179           functions require M here.
180 
181 config CRC32_SELFTEST
182         tristate "CRC32 perform self test on init"
183         depends on CRC32
184         help
185           This option enables the CRC32 library functions to perform a
186           self test on initialization. The self test computes crc32_le
187           and crc32_be over byte strings with random alignment and length
188           and computes the total elapsed time and number of bytes processed.
189 
190 choice
191         prompt "CRC32 implementation"
192         depends on CRC32
193         default CRC32_SLICEBY8
194         help
195           This option allows a kernel builder to override the default choice
196           of CRC32 algorithm.  Choose the default ("slice by 8") unless you
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 with a clever slicing algorithm.
203           This is the fastest algorithm, but comes with a 8KiB lookup table.
204           Most modern processors have enough cache to hold this table without
205           thrashing the cache.
206 
207           This is the default implementation choice.  Choose this one unless
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 with a clever slicing algorithm.
214           This is a bit slower than slice by 8, but has a smaller 4KiB lookup
215           table.
216 
217           Only choose this option if you know what you are doing.
218 
219 config CRC32_SARWATE
220         bool "Sarwate's Algorithm (one byte at a time)"
221         help
222           Calculate checksum a byte at a time using Sarwate's algorithm.  This
223           is not particularly fast, but has a small 256 byte lookup table.
224 
225           Only choose this option if you know what you are doing.
226 
227 config CRC32_BIT
228         bool "Classic Algorithm (one bit at a time)"
229         help
230           Calculate checksum one bit at a time.  This is VERY slow, but has
231           no lookup table.  This is provided as a debugging option.
232 
233           Only choose this option if you are debugging crc32.
234 
235 endchoice
236 
237 config CRC64
238         tristate "CRC64 functions"
239         help
240           This option is provided for the case where no in-kernel-tree
241           modules require CRC64 functions, but a module built outside
242           the kernel tree does. Such modules that use library CRC64
243           functions require M here.
244 
245 config CRC4
246         tristate "CRC4 functions"
247         help
248           This option is provided for the case where no in-kernel-tree
249           modules require CRC4 functions, but a module built outside
250           the kernel tree does. Such modules that use library CRC4
251           functions require M here.
252 
253 config CRC7
254         tristate "CRC7 functions"
255         help
256           This option is provided for the case where no in-kernel-tree
257           modules require CRC7 functions, but a module built outside
258           the kernel tree does. Such modules that use library CRC7
259           functions require M here.
260 
261 config LIBCRC32C
262         tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
263         select CRYPTO
264         select CRYPTO_CRC32C
265         help
266           This option is provided for the case where no in-kernel-tree
267           modules require CRC32c functions, but a module built outside the
268           kernel tree does. Such modules that use library CRC32c functions
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. Drivers may select this
276           when they need to do cyclic redundancy check according CRC8
277           algorithm. Module will be called crc8.
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_COMPAT_GENERIC && COMPAT
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 library functions to perform a
300           self test on initialization.
301 
302 #
303 # compression support is select'ed if needed
304 #
305 config 842_COMPRESS
306         select CRC32
307         tristate
308 
309 config 842_DECOMPRESS
310         select CRC32
311         tristate
312 
313 config ZLIB_INFLATE
314         tristate
315 
316 config ZLIB_DEFLATE
317         tristate
318         select BITREVERSE
319 
320 config ZLIB_DFLTCC
321         def_bool y
322         depends on S390
323         prompt "Enable s390x DEFLATE CONVERSION CALL support for kernel zlib"
324         help
325          Enable s390x hardware support for zlib in the kernel.
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 the apparent duplication with
358 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
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 needed
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 force specific constant
421           values for parameters 'm' (Galois field order) and 't'
422           (error correction capability). Those specific values must
423           be set by declaring default values for symbols BCH_CONST_M
424           and BCH_CONST_T.
425           Doing so will enable extra compiler optimizations,
426           improving encoding and decoding performance up to 2x for
427           usual (m,t) values (typically such that m*t < 200).
428           When this option is selected, the BCH library supports
429           only a single (m,t) configuration. This is mainly useful
430           for NAND flash board drivers requiring known, fixed BCH
431           parameters.
432 
433 config BCH_CONST_M
434         int
435         range 5 15
436         help
437           Constant value for Galois field order 'm'. If 'k' is the
438           number of data bits to protect, 'm' should be chosen such
439           that (k + m*t) <= 2**m - 1.
440           Drivers should declare a default value for this symbol if
441           they select option BCH_CONST_PARAMS.
442 
443 config BCH_CONST_T
444         int
445         help
446           Constant value for error correction capability in bits 't'.
447           Drivers should declare a default value for this symbol if
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. Can find the start of an
472           overlapping range in log(n) time and then iterate over all
473           overlapping nodes. The algorithm is implemented as an
474           augmented rbtree.
475 
476           See:
477 
478                 Documentation/core-api/rbtree.rst
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 multiple consecutive indices in the
490           XArray.
491 
492 config ASSOCIATIVE_ARRAY
493         bool
494         help
495           Generic associative array.  Can be searched and iterated over whilst
496           it is being modified.  It is also reasonably quick to search and
497           modify.  The algorithms are non-recursive, and the trees are highly
498           capacious.
499 
500           See:
501 
502                 Documentation/core-api/assoc_array.rst
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 DEBUG_PER_CPU_MAPS
536         help
537           Use dynamic allocation for cpumask_var_t, instead of putting
538           them on the stack.  This is a bit more expensive, but avoids
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 compilation, but the module overhead
554 #       is ridiculous for the amount of code involved.  Until an out-of-tree
555 #       driver asks for it, we'll just link it directly it into the kernel
556 #       when required.  Since we're ignoring out-of-tree users, there's also
557 #       no need bother prompting for a manual decision:
558 #       prompt "glob_match() function"
559         help
560           This option provides a glob_match function for performing
561           simple text pattern matching.  It originated in the ATA code
562           to blacklist particular drive models, but other device drivers
563           may need similar functionality.
564 
565           All drivers in the Linux kernel tree that require this function
566           should automatically select this option.  Say N unless you
567           are compiling an out-of tree driver which tells you that it
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-test of the glob_match
575           function on startup.  It is primarily useful for people
576           working on the code to ensure they haven't introduced any
577           regressions.
578 
579           It only adds a little bit of code and slows kernel boot (or
580           module load) by a small amount, so you're welcome to play with
581           it, but you probably don't need it.
582 
583 #
584 # Netlink attribute parsing support is select'ed if needed
585 #
586 config NLATTR
587         bool
588 
589 #
590 # Generic 64-bit atomic support is selected if needed
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 mitigation using polling.
605 
606 config MPILIB
607         tristate
608         select CLZ_TAB
609         help
610           Multiprecision maths library from GnuPG.
611           It is used to implement RSA digital signature verification,
612           which is used by IMA/EVM digital signature extension.
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. Currently only RSA is supported.
622           Implementation is done using GnuPG MPI library
623 
624 config DIMLIB
625         tristate
626         depends on NET
627         help
628           Dynamic Interrupt Moderation library.
629           Implements an algorithm for dynamically changing CQ moderation values
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 registry.
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 scatterlists into chunks, each chunk being
657          a scatterlist. This should be selected by a driver or an API which
658          whishes to split a scatterlist amongst multiple DMA channels.
659 
660 config SG_POOL
661         def_bool n
662         help
663          Provides a helper to allocate chained scatterlists. This should be
664          selected by a driver or an API which whishes to allocate chained
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 nommu architectures
687 config UACCESS_MEMCPY
688         bool
689 
690 config ARCH_HAS_UACCESS_FLUSHCACHE
691         bool
692 
693 # arch has a concept of a recoverable synchronous exception due to a
694 # memory-read error like x86 machine-check or ARM data-abort, and
695 # implements copy_mc_to_{user,kernel} to abort and report
696 # 'bytes-transferred' if that exception fires when accessing the source
697 # buffer.
698 config ARCH_HAS_COPY_MC
699         bool
700 
701 # Temporary. Goes away when all archs are cleaned up
702 config ARCH_STACKWALK
703        bool
704 
705 config STACKDEPOT
706         bool
707         select STACKTRACE
708         help
709           Stack depot: stack trace storage that avoids duplication
710 
711 config STACKDEPOT_ALWAYS_INIT
712         bool
713         select STACKDEPOT
714         help
715           Always initialize stack depot during early boot
716 
717 config STACKDEPOT_MAX_FRAMES
718         int "Maximum number of frames in trace saved in stack depot"
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 queuing.
741 
742 endmenu
743 
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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php