brintos

brintos / linux-shallow public Read only

0
0
Text · 17.2 KiB · b38849a Raw
780 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# Library configuration4#5 6config BINARY_PRINTF7	def_bool n8 9menu "Library routines"10 11config RAID6_PQ12	tristate13 14config RAID6_PQ_BENCHMARK15	bool "Automatically choose fastest RAID6 PQ functions"16	depends on RAID6_PQ17	default y18	help19	  Benchmark all available RAID6 PQ functions on init and choose the20	  fastest one.21 22config LINEAR_RANGES23	tristate24 25config PACKING26	bool "Generic bitfield packing and unpacking"27	select BITREVERSE28	default n29	help30	  This option provides the packing() helper function, which permits31	  converting bitfields between a CPU-usable representation and a32	  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-bit35	      group)36	    - The most significant bit of a byte is at its right (bit 0 of a37	      register description is numerically 2^7).38	  Drivers may use these helpers to match the bit indices as described39	  in the data sheets of the peripherals they are in control of.40 41	  When in doubt, say N.42 43config BITREVERSE44	tristate45 46config HAVE_ARCH_BITREVERSE47	bool48	default n49	help50	  This option enables the use of hardware bit-reversal instructions on51	  architectures which support such operations.52 53config ARCH_HAS_STRNCPY_FROM_USER54	bool55 56config ARCH_HAS_STRNLEN_USER57	bool58 59config GENERIC_STRNCPY_FROM_USER60	def_bool !ARCH_HAS_STRNCPY_FROM_USER61 62config GENERIC_STRNLEN_USER63	def_bool !ARCH_HAS_STRNLEN_USER64 65config GENERIC_NET_UTILS66	bool67 68source "lib/math/Kconfig"69 70config NO_GENERIC_PCI_IOPORT_MAP71	bool72 73config GENERIC_IOMAP74	bool75	select GENERIC_PCI_IOMAP76 77config STMP_DEVICE78	bool79 80config ARCH_USE_CMPXCHG_LOCKREF81	bool82 83config ARCH_HAS_FAST_MULTIPLIER84	bool85 86config ARCH_USE_SYM_ANNOTATIONS87	bool88 89config INDIRECT_PIO90	bool "Access I/O in non-MMIO mode"91	depends on ARM6492	depends on HAS_IOPORT93	help94	  On some platforms where no separate I/O space exists, there are I/O95	  hosts which can not be accessed in MMIO mode. Using the logical PIO96	  mechanism, the host-local I/O resource can be mapped into system97	  logic PIO space shared with MMIO hosts, such as PCI/PCIe, then the98	  system can access the I/O devices with the mapped-logic PIO through99	  I/O accessors.100 101	  This way has relatively little I/O performance cost. Please make102	  sure your devices really need this configure item enabled.103 104	  When in doubt, say N.105 106config INDIRECT_IOMEM107	bool108	help109	  This is selected by other options/architectures to provide the110	  emulated iomem accessors.111 112config INDIRECT_IOMEM_FALLBACK113	bool114	depends on INDIRECT_IOMEM115	help116	  If INDIRECT_IOMEM is selected, this enables falling back to plain117	  mmio accesses when the IO memory address is not a registered118	  emulated region.119 120config TRACE_MMIO_ACCESS121	bool "Register read/write tracing"122	depends on TRACING && ARCH_HAVE_TRACE_MMIO_ACCESS123	help124	  Create tracepoints for MMIO read/write operations. These trace events125	  can be used for logging all MMIO read/write operations.126 127source "lib/crypto/Kconfig"128 129config CRC_CCITT130	tristate "CRC-CCITT functions"131	help132	  This option is provided for the case where no in-kernel-tree133	  modules require CRC-CCITT functions, but a module built outside134	  the kernel tree does. Such modules that use library CRC-CCITT135	  functions require M here.136 137config CRC16138	tristate "CRC16 functions"139	help140	  This option is provided for the case where no in-kernel-tree141	  modules require CRC16 functions, but a module built outside142	  the kernel tree does. Such modules that use library CRC16143	  functions require M here.144 145config CRC_T10DIF146	tristate "CRC calculation for the T10 Data Integrity Field"147	select CRYPTO148	select CRYPTO_CRCT10DIF149	help150	  This option is only needed if a module that's not in the151	  kernel tree needs to calculate CRC checks for use with the152	  SCSI data integrity subsystem.153 154config CRC64_ROCKSOFT155	tristate "CRC calculation for the Rocksoft model CRC64"156	select CRC64157	select CRYPTO158	select CRYPTO_CRC64_ROCKSOFT159	help160	  This option provides a CRC64 API to a registered crypto driver.161	  This is used with the block layer's data integrity subsystem.162 163config CRC_ITU_T164	tristate "CRC ITU-T V.41 functions"165	help166	  This option is provided for the case where no in-kernel-tree167	  modules require CRC ITU-T V.41 functions, but a module built outside168	  the kernel tree does. Such modules that use library CRC ITU-T V.41169	  functions require M here.170 171config CRC32172	tristate "CRC32/CRC32c functions"173	default y174	select BITREVERSE175	help176	  This option is provided for the case where no in-kernel-tree177	  modules require CRC32/CRC32c functions, but a module built outside178	  the kernel tree does. Such modules that use library CRC32/CRC32c179	  functions require M here.180 181config CRC32_SELFTEST182	tristate "CRC32 perform self test on init"183	depends on CRC32184	help185	  This option enables the CRC32 library functions to perform a186	  self test on initialization. The self test computes crc32_le187	  and crc32_be over byte strings with random alignment and length188	  and computes the total elapsed time and number of bytes processed.189 190choice191	prompt "CRC32 implementation"192	depends on CRC32193	default CRC32_SLICEBY8194	help195	  This option allows a kernel builder to override the default choice196	  of CRC32 algorithm.  Choose the default ("slice by 8") unless you197	  know that you need one of the others.198 199config CRC32_SLICEBY8200	bool "Slice by 8 bytes"201	help202	  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 without205	  thrashing the cache.206 207	  This is the default implementation choice.  Choose this one unless208	  you have a good reason not to.209 210config CRC32_SLICEBY4211	bool "Slice by 4 bytes"212	help213	  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 lookup215	  table.216 217	  Only choose this option if you know what you are doing.218 219config CRC32_SARWATE220	bool "Sarwate's Algorithm (one byte at a time)"221	help222	  Calculate checksum a byte at a time using Sarwate's algorithm.  This223	  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 227config CRC32_BIT228	bool "Classic Algorithm (one bit at a time)"229	help230	  Calculate checksum one bit at a time.  This is VERY slow, but has231	  no lookup table.  This is provided as a debugging option.232 233	  Only choose this option if you are debugging crc32.234 235endchoice236 237config CRC64238	tristate "CRC64 functions"239	help240	  This option is provided for the case where no in-kernel-tree241	  modules require CRC64 functions, but a module built outside242	  the kernel tree does. Such modules that use library CRC64243	  functions require M here.244 245config CRC4246	tristate "CRC4 functions"247	help248	  This option is provided for the case where no in-kernel-tree249	  modules require CRC4 functions, but a module built outside250	  the kernel tree does. Such modules that use library CRC4251	  functions require M here.252 253config CRC7254	tristate "CRC7 functions"255	help256	  This option is provided for the case where no in-kernel-tree257	  modules require CRC7 functions, but a module built outside258	  the kernel tree does. Such modules that use library CRC7259	  functions require M here.260 261config LIBCRC32C262	tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"263	select CRYPTO264	select CRYPTO_CRC32C265	help266	  This option is provided for the case where no in-kernel-tree267	  modules require CRC32c functions, but a module built outside the268	  kernel tree does. Such modules that use library CRC32c functions269	  require M here.  See Castagnoli93.270	  Module will be libcrc32c.271 272config CRC8273	tristate "CRC8 function"274	help275	  This option provides CRC8 function. Drivers may select this276	  when they need to do cyclic redundancy check according CRC8277	  algorithm. Module will be called crc8.278 279config XXHASH280	tristate281 282config AUDIT_GENERIC283	bool284	depends on AUDIT && !AUDIT_ARCH285	default y286 287config AUDIT_ARCH_COMPAT_GENERIC288	bool289	default n290 291config AUDIT_COMPAT_GENERIC292	bool293	depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT294	default y295 296config RANDOM32_SELFTEST297	bool "PRNG perform self test on init"298	help299	  This option enables the 32 bit PRNG library functions to perform a300	  self test on initialization.301 302#303# compression support is select'ed if needed304#305config 842_COMPRESS306	select CRC32307	tristate308 309config 842_DECOMPRESS310	select CRC32311	tristate312 313config ZLIB_INFLATE314	tristate315 316config ZLIB_DEFLATE317	tristate318	select BITREVERSE319 320config ZLIB_DFLTCC321	def_bool y322	depends on S390323	prompt "Enable s390x DEFLATE CONVERSION CALL support for kernel zlib"324	help325	 Enable s390x hardware support for zlib in the kernel.326 327config LZO_COMPRESS328	tristate329 330config LZO_DECOMPRESS331	tristate332 333config LZ4_COMPRESS334	tristate335 336config LZ4HC_COMPRESS337	tristate338 339config LZ4_DECOMPRESS340	tristate341 342config ZSTD_COMMON343	select XXHASH344	tristate345 346config ZSTD_COMPRESS347	select ZSTD_COMMON348	tristate349 350config ZSTD_DECOMPRESS351	select ZSTD_COMMON352	tristate353 354source "lib/xz/Kconfig"355 356#357# These all provide a common interface (hence the apparent duplication with358# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)359#360config DECOMPRESS_GZIP361	select ZLIB_INFLATE362	tristate363 364config DECOMPRESS_BZIP2365	tristate366 367config DECOMPRESS_LZMA368	tristate369 370config DECOMPRESS_XZ371	select XZ_DEC372	tristate373 374config DECOMPRESS_LZO375	select LZO_DECOMPRESS376	tristate377 378config DECOMPRESS_LZ4379	select LZ4_DECOMPRESS380	tristate381 382config DECOMPRESS_ZSTD383	select ZSTD_DECOMPRESS384	tristate385 386#387# Generic allocator support is selected if needed388#389config GENERIC_ALLOCATOR390	bool391 392#393# reed solomon support is select'ed if needed394#395config REED_SOLOMON396	tristate397	398config REED_SOLOMON_ENC8399	bool400 401config REED_SOLOMON_DEC8402	bool403 404config REED_SOLOMON_ENC16405	bool406 407config REED_SOLOMON_DEC16408	bool409 410#411# BCH support is selected if needed412#413config BCH414	tristate415	select BITREVERSE416 417config BCH_CONST_PARAMS418	bool419	help420	  Drivers may select this option to force specific constant421	  values for parameters 'm' (Galois field order) and 't'422	  (error correction capability). Those specific values must423	  be set by declaring default values for symbols BCH_CONST_M424	  and BCH_CONST_T.425	  Doing so will enable extra compiler optimizations,426	  improving encoding and decoding performance up to 2x for427	  usual (m,t) values (typically such that m*t < 200).428	  When this option is selected, the BCH library supports429	  only a single (m,t) configuration. This is mainly useful430	  for NAND flash board drivers requiring known, fixed BCH431	  parameters.432 433config BCH_CONST_M434	int435	range 5 15436	help437	  Constant value for Galois field order 'm'. If 'k' is the438	  number of data bits to protect, 'm' should be chosen such439	  that (k + m*t) <= 2**m - 1.440	  Drivers should declare a default value for this symbol if441	  they select option BCH_CONST_PARAMS.442 443config BCH_CONST_T444	int445	help446	  Constant value for error correction capability in bits 't'.447	  Drivers should declare a default value for this symbol if448	  they select option BCH_CONST_PARAMS.449 450#451# Textsearch support is select'ed if needed452#453config TEXTSEARCH454	bool455 456config TEXTSEARCH_KMP457	tristate458 459config TEXTSEARCH_BM460	tristate461 462config TEXTSEARCH_FSM463	tristate464 465config BTREE466	bool467 468config INTERVAL_TREE469	bool470	help471	  Simple, embeddable, interval-tree. Can find the start of an472	  overlapping range in log(n) time and then iterate over all473	  overlapping nodes. The algorithm is implemented as an474	  augmented rbtree.475 476	  See:477 478		Documentation/core-api/rbtree.rst479 480	  for more information.481 482config INTERVAL_TREE_SPAN_ITER483	bool484	depends on INTERVAL_TREE485 486config XARRAY_MULTI487	bool488	help489	  Support entries which occupy multiple consecutive indices in the490	  XArray.491 492config ASSOCIATIVE_ARRAY493	bool494	help495	  Generic associative array.  Can be searched and iterated over whilst496	  it is being modified.  It is also reasonably quick to search and497	  modify.  The algorithms are non-recursive, and the trees are highly498	  capacious.499 500	  See:501 502		Documentation/core-api/assoc_array.rst503 504	  for more information.505 506config CLOSURES507	bool508 509config HAS_IOMEM510	bool511	depends on !NO_IOMEM512	default y513 514config HAS_IOPORT515	bool516 517config HAS_IOPORT_MAP518	bool519	depends on HAS_IOMEM && !NO_IOPORT_MAP520	default y521 522source "kernel/dma/Kconfig"523 524config SGL_ALLOC525	bool526	default n527 528config IOMMU_HELPER529	bool530 531config CHECK_SIGNATURE532	bool533 534config CPUMASK_OFFSTACK535	bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS536	help537	  Use dynamic allocation for cpumask_var_t, instead of putting538	  them on the stack.  This is a bit more expensive, but avoids539	  stack overflow.540 541config FORCE_NR_CPUS542	def_bool !SMP543 544config CPU_RMAP545	bool546	depends on SMP547 548config DQL549	bool550 551config GLOB552	bool553#	This actually supports modular compilation, but the module overhead554#	is ridiculous for the amount of code involved.	Until an out-of-tree555#	driver asks for it, we'll just link it directly it into the kernel556#	when required.  Since we're ignoring out-of-tree users,	there's also557#	no need bother prompting for a manual decision:558#	prompt "glob_match() function"559	help560	  This option provides a glob_match function for performing561	  simple text pattern matching.  It originated in the ATA code562	  to blacklist particular drive models, but other device drivers563	  may need similar functionality.564 565	  All drivers in the Linux kernel tree that require this function566	  should automatically select this option.  Say N unless you567	  are compiling an out-of tree driver which tells you that it568	  depends on this.569 570config GLOB_SELFTEST571	tristate "glob self-test on init"572	depends on GLOB573	help574	  This option enables a simple self-test of the glob_match575	  function on startup.	It is primarily useful for people576	  working on the code to ensure they haven't introduced any577	  regressions.578 579	  It only adds a little bit of code and slows kernel boot (or580	  module load) by a small amount, so you're welcome to play with581	  it, but you probably don't need it.582 583#584# Netlink attribute parsing support is select'ed if needed585#586config NLATTR587	bool588 589#590# Generic 64-bit atomic support is selected if needed591#592config GENERIC_ATOMIC64593       bool594 595config LRU_CACHE596	tristate597 598config CLZ_TAB599	bool600 601config IRQ_POLL602	bool "IRQ polling library"603	help604	  Helper library to poll interrupt mitigation using polling.605 606config MPILIB607	tristate608	select CLZ_TAB609	help610	  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 614config SIGNATURE615	tristate616	depends on KEYS617	select CRYPTO618	select CRYPTO_SHA1619	select MPILIB620	help621	  Digital signature verification. Currently only RSA is supported.622	  Implementation is done using GnuPG MPI library623 624config DIMLIB625	tristate626	depends on NET627	help628	  Dynamic Interrupt Moderation library.629	  Implements an algorithm for dynamically changing CQ moderation values630	  according to run time performance.631 632#633# libfdt files, only selected if needed.634#635config LIBFDT636	bool637 638config OID_REGISTRY639	tristate640	help641	  Enable fast lookup object identifier registry.642 643config UCS2_STRING644	tristate645 646#647# generic vdso648#649source "lib/vdso/Kconfig"650 651source "lib/fonts/Kconfig"652 653config SG_SPLIT654	def_bool n655	help656	 Provides a helper to split scatterlists into chunks, each chunk being657	 a scatterlist. This should be selected by a driver or an API which658	 whishes to split a scatterlist amongst multiple DMA channels.659 660config SG_POOL661	def_bool n662	help663	 Provides a helper to allocate chained scatterlists. This should be664	 selected by a driver or an API which whishes to allocate chained665	 scatterlist.666 667#668# sg chaining option669#670 671config ARCH_NO_SG_CHAIN672	def_bool n673 674config ARCH_HAS_PMEM_API675	bool676 677config MEMREGION678	bool679 680config ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION681	bool682 683config ARCH_HAS_MEMREMAP_COMPAT_ALIGN684	bool685 686# use memcpy to implement user copies for nommu architectures687config UACCESS_MEMCPY688	bool689 690config ARCH_HAS_UACCESS_FLUSHCACHE691	bool692 693# arch has a concept of a recoverable synchronous exception due to a694# memory-read error like x86 machine-check or ARM data-abort, and695# implements copy_mc_to_{user,kernel} to abort and report696# 'bytes-transferred' if that exception fires when accessing the source697# buffer.698config ARCH_HAS_COPY_MC699	bool700 701# Temporary. Goes away when all archs are cleaned up702config ARCH_STACKWALK703       bool704 705config STACKDEPOT706	bool707	select STACKTRACE708	help709	  Stack depot: stack trace storage that avoids duplication710 711config STACKDEPOT_ALWAYS_INIT712	bool713	select STACKDEPOT714	help715	  Always initialize stack depot during early boot716 717config STACKDEPOT_MAX_FRAMES718	int "Maximum number of frames in trace saved in stack depot"719	range 1 256720	default 64721	depends on STACKDEPOT722 723config REF_TRACKER724	bool725	depends on STACKTRACE_SUPPORT726	select STACKDEPOT727 728config SBITMAP729	bool730 731config PARMAN732	tristate "parman" if COMPILE_TEST733 734config OBJAGG735	tristate "objagg" if COMPILE_TEST736 737config LWQ_TEST738	bool "Boot-time test for lwq queuing"739	help740          Run boot-time test of light-weight queuing.741 742endmenu743 744config GENERIC_IOREMAP745	bool746 747config GENERIC_LIB_ASHLDI3748	bool749 750config GENERIC_LIB_ASHRDI3751	bool752 753config GENERIC_LIB_LSHRDI3754	bool755 756config GENERIC_LIB_MULDI3757	bool758 759config GENERIC_LIB_CMPDI2760	bool761 762config GENERIC_LIB_UCMPDI2763	bool764 765config GENERIC_LIB_DEVMEM_IS_ALLOWED766	bool767 768config PLDMFW769	bool770	default n771 772config ASN1_ENCODER773       tristate774 775config POLYNOMIAL776       tristate777 778config FIRMWARE_TABLE779	bool780