 6496edfce9
			
		
	
	
	6496edfce9
	
	
	
		
			
			functions, prompted by their mis-use in staging. With these function removed, all cpu functions should only iterate to nr_cpu_ids, so we finally only allocate that many bits when cpumasks are allocated offstack. Thanks, Rusty. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJVNPMuAAoJENkgDmzRrbjx7ZIP/j65e6xs1jEyXR3WOYSdTU1x bMo6JcII6O1oEZLgyKXgx9KiBg6uIIDta1NG/H/XIe354dwfHVsHvj5HHHQR5Xof iRrjLOaHj4XglI3hvsk0eEEl3/OBBLgyo9bUwDvMF1fmr/9tW4caMs3Op6n7Evzm YIvoAyeJ0A8BfEtOU5lXhcVIGmnHtSw0x6mdGXpXIBmWYQPCtdQP868s4lnl44w0 bSNpAYdzEqg64Ph3SK0prgWPrn5+5EiaAhV7HZzENZ5+o0DAdIXWq/W7uHyCWPKH 536cJDojec+nSUQkPYngngGprxrKO02aBcMw/3JGJ0tdCDj8yw3XAyVAFzz4hmMb Lkmyv4QHHIILLvJ4ZRH5KHWCjjVBg41LNCs2H3HnoxFACdm0lZYKHsUAh2ucBVtU Wb/eHmLxOG43UIkpX4yrhy3SfE1ZdnOVzEzOzPXtr51t8ojqk+bLFe/hJ6EkzrQX X+90qHfBq+PMJlAnc3zdXHjxoJrL6KPWVwVvFrNeibgEKtVvy/BiwZkS6QceC1Ea TatOYA5r6awFVHHQCooN1DGAxN5Juvu2SmdnTUA9ymsCNDghj1YUoAKRNP81u8Sa pe3hco/63iCuPna+vlwNDU6SgsaMk9m0p+1n1BiDIfVJIkWYCNeG+u2gQkzbDKlQ AJuKKQv1QuZiF0ylZ0wq =VAgA -----END PGP SIGNATURE----- Merge tag 'cpumask-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull final removal of deprecated cpus_* cpumask functions from Rusty Russell: "This is the final removal (after several years!) of the obsolete cpus_* functions, prompted by their mis-use in staging. With these function removed, all cpu functions should only iterate to nr_cpu_ids, so we finally only allocate that many bits when cpumasks are allocated offstack" * tag 'cpumask-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (25 commits) cpumask: remove __first_cpu / __next_cpu cpumask: resurrect CPU_MASK_CPU0 linux/cpumask.h: add typechecking to cpumask_test_cpu cpumask: only allocate nr_cpumask_bits. Fix weird uses of num_online_cpus(). cpumask: remove deprecated functions. mips: fix obsolete cpumask_of_cpu usage. x86: fix more deprecated cpu function usage. ia64: remove deprecated cpus_ usage. powerpc: fix deprecated CPU_MASK_CPU0 usage. CPU_MASK_ALL/CPU_MASK_NONE: remove from deprecated region. staging/lustre/o2iblnd: Don't use cpus_weight staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_ staging/lustre/ptlrpc: Do not use deprecated cpus_* functions blackfin: fix up obsolete cpu function usage. parisc: fix up obsolete cpu function usage. tile: fix up obsolete cpu function usage. arm64: fix up obsolete cpu function usage. mips: fix up obsolete cpu function usage. x86: fix up obsolete cpu function usage. ...
		
			
				
	
	
		
			525 lines
		
	
	
	
		
			12 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			525 lines
		
	
	
	
		
			12 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # Library configuration
 | |
| #
 | |
| 
 | |
| config BINARY_PRINTF
 | |
| 	def_bool n
 | |
| 
 | |
| menu "Library routines"
 | |
| 
 | |
| config RAID6_PQ
 | |
| 	tristate
 | |
| 
 | |
| config BITREVERSE
 | |
| 	tristate
 | |
| 
 | |
| config HAVE_ARCH_BITREVERSE
 | |
| 	bool
 | |
| 	default n
 | |
| 	depends on BITREVERSE
 | |
| 	help
 | |
| 	  This option enables the use of hardware bit-reversal instructions on
 | |
| 	  architectures which support such operations.
 | |
| 
 | |
| config RATIONAL
 | |
| 	bool
 | |
| 
 | |
| config GENERIC_STRNCPY_FROM_USER
 | |
| 	bool
 | |
| 
 | |
| config GENERIC_STRNLEN_USER
 | |
| 	bool
 | |
| 
 | |
| config GENERIC_NET_UTILS
 | |
| 	bool
 | |
| 
 | |
| config GENERIC_FIND_FIRST_BIT
 | |
| 	bool
 | |
| 
 | |
| config NO_GENERIC_PCI_IOPORT_MAP
 | |
| 	bool
 | |
| 
 | |
| config GENERIC_PCI_IOMAP
 | |
| 	bool
 | |
| 
 | |
| config GENERIC_IOMAP
 | |
| 	bool
 | |
| 	select GENERIC_PCI_IOMAP
 | |
| 
 | |
| config GENERIC_IO
 | |
| 	bool
 | |
| 	default n
 | |
| 
 | |
| config STMP_DEVICE
 | |
| 	bool
 | |
| 
 | |
| config PERCPU_RWSEM
 | |
| 	bool
 | |
| 
 | |
| config ARCH_USE_CMPXCHG_LOCKREF
 | |
| 	bool
 | |
| 
 | |
| config ARCH_HAS_FAST_MULTIPLIER
 | |
| 	bool
 | |
| 
 | |
| config CRC_CCITT
 | |
| 	tristate "CRC-CCITT functions"
 | |
| 	help
 | |
| 	  This option is provided for the case where no in-kernel-tree
 | |
| 	  modules require CRC-CCITT functions, but a module built outside
 | |
| 	  the kernel tree does. Such modules that use library CRC-CCITT
 | |
| 	  functions require M here.
 | |
| 
 | |
| config CRC16
 | |
| 	tristate "CRC16 functions"
 | |
| 	help
 | |
| 	  This option is provided for the case where no in-kernel-tree
 | |
| 	  modules require CRC16 functions, but a module built outside
 | |
| 	  the kernel tree does. Such modules that use library CRC16
 | |
| 	  functions require M here.
 | |
| 
 | |
| config CRC_T10DIF
 | |
| 	tristate "CRC calculation for the T10 Data Integrity Field"
 | |
| 	select CRYPTO
 | |
| 	select CRYPTO_CRCT10DIF
 | |
| 	help
 | |
| 	  This option is only needed if a module that's not in the
 | |
| 	  kernel tree needs to calculate CRC checks for use with the
 | |
| 	  SCSI data integrity subsystem.
 | |
| 
 | |
| config CRC_ITU_T
 | |
| 	tristate "CRC ITU-T V.41 functions"
 | |
| 	help
 | |
| 	  This option is provided for the case where no in-kernel-tree
 | |
| 	  modules require CRC ITU-T V.41 functions, but a module built outside
 | |
| 	  the kernel tree does. Such modules that use library CRC ITU-T V.41
 | |
| 	  functions require M here.
 | |
| 
 | |
| config CRC32
 | |
| 	tristate "CRC32/CRC32c functions"
 | |
| 	default y
 | |
| 	select BITREVERSE
 | |
| 	help
 | |
| 	  This option is provided for the case where no in-kernel-tree
 | |
| 	  modules require CRC32/CRC32c functions, but a module built outside
 | |
| 	  the kernel tree does. Such modules that use library CRC32/CRC32c
 | |
| 	  functions require M here.
 | |
| 
 | |
| config CRC32_SELFTEST
 | |
| 	bool "CRC32 perform self test on init"
 | |
| 	default n
 | |
| 	depends on CRC32
 | |
| 	help
 | |
| 	  This option enables the CRC32 library functions to perform a
 | |
| 	  self test on initialization. The self test computes crc32_le
 | |
| 	  and crc32_be over byte strings with random alignment and length
 | |
| 	  and computes the total elapsed time and number of bytes processed.
 | |
| 
 | |
| choice
 | |
| 	prompt "CRC32 implementation"
 | |
| 	depends on CRC32
 | |
| 	default CRC32_SLICEBY8
 | |
| 	help
 | |
| 	  This option allows a kernel builder to override the default choice
 | |
| 	  of CRC32 algorithm.  Choose the default ("slice by 8") unless you
 | |
| 	  know that you need one of the others.
 | |
| 
 | |
| config CRC32_SLICEBY8
 | |
| 	bool "Slice by 8 bytes"
 | |
| 	help
 | |
| 	  Calculate checksum 8 bytes at a time with a clever slicing algorithm.
 | |
| 	  This is the fastest algorithm, but comes with a 8KiB lookup table.
 | |
| 	  Most modern processors have enough cache to hold this table without
 | |
| 	  thrashing the cache.
 | |
| 
 | |
| 	  This is the default implementation choice.  Choose this one unless
 | |
| 	  you have a good reason not to.
 | |
| 
 | |
| config CRC32_SLICEBY4
 | |
| 	bool "Slice by 4 bytes"
 | |
| 	help
 | |
| 	  Calculate checksum 4 bytes at a time with a clever slicing algorithm.
 | |
| 	  This is a bit slower than slice by 8, but has a smaller 4KiB lookup
 | |
| 	  table.
 | |
| 
 | |
| 	  Only choose this option if you know what you are doing.
 | |
| 
 | |
| config CRC32_SARWATE
 | |
| 	bool "Sarwate's Algorithm (one byte at a time)"
 | |
| 	help
 | |
| 	  Calculate checksum a byte at a time using Sarwate's algorithm.  This
 | |
| 	  is not particularly fast, but has a small 256 byte lookup table.
 | |
| 
 | |
| 	  Only choose this option if you know what you are doing.
 | |
| 
 | |
| config CRC32_BIT
 | |
| 	bool "Classic Algorithm (one bit at a time)"
 | |
| 	help
 | |
| 	  Calculate checksum one bit at a time.  This is VERY slow, but has
 | |
| 	  no lookup table.  This is provided as a debugging option.
 | |
| 
 | |
| 	  Only choose this option if you are debugging crc32.
 | |
| 
 | |
| endchoice
 | |
| 
 | |
| config CRC7
 | |
| 	tristate "CRC7 functions"
 | |
| 	help
 | |
| 	  This option is provided for the case where no in-kernel-tree
 | |
| 	  modules require CRC7 functions, but a module built outside
 | |
| 	  the kernel tree does. Such modules that use library CRC7
 | |
| 	  functions require M here.
 | |
| 
 | |
| config LIBCRC32C
 | |
| 	tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
 | |
| 	select CRYPTO
 | |
| 	select CRYPTO_CRC32C
 | |
| 	help
 | |
| 	  This option is provided for the case where no in-kernel-tree
 | |
| 	  modules require CRC32c functions, but a module built outside the
 | |
| 	  kernel tree does. Such modules that use library CRC32c functions
 | |
| 	  require M here.  See Castagnoli93.
 | |
| 	  Module will be libcrc32c.
 | |
| 
 | |
| config CRC8
 | |
| 	tristate "CRC8 function"
 | |
| 	help
 | |
| 	  This option provides CRC8 function. Drivers may select this
 | |
| 	  when they need to do cyclic redundancy check according CRC8
 | |
| 	  algorithm. Module will be called crc8.
 | |
| 
 | |
| config AUDIT_GENERIC
 | |
| 	bool
 | |
| 	depends on AUDIT && !AUDIT_ARCH
 | |
| 	default y
 | |
| 
 | |
| config AUDIT_ARCH_COMPAT_GENERIC
 | |
| 	bool
 | |
| 	default n
 | |
| 
 | |
| config AUDIT_COMPAT_GENERIC
 | |
| 	bool
 | |
| 	depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
 | |
| 	default y
 | |
| 
 | |
| config RANDOM32_SELFTEST
 | |
| 	bool "PRNG perform self test on init"
 | |
| 	default n
 | |
| 	help
 | |
| 	  This option enables the 32 bit PRNG library functions to perform a
 | |
| 	  self test on initialization.
 | |
| 
 | |
| #
 | |
| # compression support is select'ed if needed
 | |
| #
 | |
| config ZLIB_INFLATE
 | |
| 	tristate
 | |
| 
 | |
| config ZLIB_DEFLATE
 | |
| 	tristate
 | |
| 
 | |
| config LZO_COMPRESS
 | |
| 	tristate
 | |
| 
 | |
| config LZO_DECOMPRESS
 | |
| 	tristate
 | |
| 
 | |
| config LZ4_COMPRESS
 | |
| 	tristate
 | |
| 
 | |
| config LZ4HC_COMPRESS
 | |
| 	tristate
 | |
| 
 | |
| config LZ4_DECOMPRESS
 | |
| 	tristate
 | |
| 
 | |
| source "lib/xz/Kconfig"
 | |
| 
 | |
| #
 | |
| # These all provide a common interface (hence the apparent duplication with
 | |
| # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
 | |
| #
 | |
| config DECOMPRESS_GZIP
 | |
| 	select ZLIB_INFLATE
 | |
| 	tristate
 | |
| 
 | |
| config DECOMPRESS_BZIP2
 | |
| 	tristate
 | |
| 
 | |
| config DECOMPRESS_LZMA
 | |
| 	tristate
 | |
| 
 | |
| config DECOMPRESS_XZ
 | |
| 	select XZ_DEC
 | |
| 	tristate
 | |
| 
 | |
| config DECOMPRESS_LZO
 | |
| 	select LZO_DECOMPRESS
 | |
| 	tristate
 | |
| 
 | |
| config DECOMPRESS_LZ4
 | |
| 	select LZ4_DECOMPRESS
 | |
| 	tristate
 | |
| 
 | |
| #
 | |
| # Generic allocator support is selected if needed
 | |
| #
 | |
| config GENERIC_ALLOCATOR
 | |
| 	bool
 | |
| 
 | |
| #
 | |
| # reed solomon support is select'ed if needed
 | |
| #
 | |
| config REED_SOLOMON
 | |
| 	tristate
 | |
| 	
 | |
| config REED_SOLOMON_ENC8
 | |
| 	bool
 | |
| 
 | |
| config REED_SOLOMON_DEC8
 | |
| 	bool
 | |
| 
 | |
| config REED_SOLOMON_ENC16
 | |
| 	bool
 | |
| 
 | |
| config REED_SOLOMON_DEC16
 | |
| 	bool
 | |
| 
 | |
| #
 | |
| # BCH support is selected if needed
 | |
| #
 | |
| config BCH
 | |
| 	tristate
 | |
| 
 | |
| config BCH_CONST_PARAMS
 | |
| 	bool
 | |
| 	help
 | |
| 	  Drivers may select this option to force specific constant
 | |
| 	  values for parameters 'm' (Galois field order) and 't'
 | |
| 	  (error correction capability). Those specific values must
 | |
| 	  be set by declaring default values for symbols BCH_CONST_M
 | |
| 	  and BCH_CONST_T.
 | |
| 	  Doing so will enable extra compiler optimizations,
 | |
| 	  improving encoding and decoding performance up to 2x for
 | |
| 	  usual (m,t) values (typically such that m*t < 200).
 | |
| 	  When this option is selected, the BCH library supports
 | |
| 	  only a single (m,t) configuration. This is mainly useful
 | |
| 	  for NAND flash board drivers requiring known, fixed BCH
 | |
| 	  parameters.
 | |
| 
 | |
| config BCH_CONST_M
 | |
| 	int
 | |
| 	range 5 15
 | |
| 	help
 | |
| 	  Constant value for Galois field order 'm'. If 'k' is the
 | |
| 	  number of data bits to protect, 'm' should be chosen such
 | |
| 	  that (k + m*t) <= 2**m - 1.
 | |
| 	  Drivers should declare a default value for this symbol if
 | |
| 	  they select option BCH_CONST_PARAMS.
 | |
| 
 | |
| config BCH_CONST_T
 | |
| 	int
 | |
| 	help
 | |
| 	  Constant value for error correction capability in bits 't'.
 | |
| 	  Drivers should declare a default value for this symbol if
 | |
| 	  they select option BCH_CONST_PARAMS.
 | |
| 
 | |
| #
 | |
| # Textsearch support is select'ed if needed
 | |
| #
 | |
| config TEXTSEARCH
 | |
| 	bool
 | |
| 
 | |
| config TEXTSEARCH_KMP
 | |
| 	tristate
 | |
| 
 | |
| config TEXTSEARCH_BM
 | |
| 	tristate
 | |
| 
 | |
| config TEXTSEARCH_FSM
 | |
| 	tristate
 | |
| 
 | |
| config BTREE
 | |
| 	bool
 | |
| 
 | |
| config INTERVAL_TREE
 | |
| 	bool
 | |
| 	help
 | |
| 	  Simple, embeddable, interval-tree. Can find the start of an
 | |
| 	  overlapping range in log(n) time and then iterate over all
 | |
| 	  overlapping nodes. The algorithm is implemented as an
 | |
| 	  augmented rbtree.
 | |
| 
 | |
| 	  See:
 | |
| 
 | |
| 		Documentation/rbtree.txt
 | |
| 
 | |
| 	  for more information.
 | |
| 
 | |
| config ASSOCIATIVE_ARRAY
 | |
| 	bool
 | |
| 	help
 | |
| 	  Generic associative array.  Can be searched and iterated over whilst
 | |
| 	  it is being modified.  It is also reasonably quick to search and
 | |
| 	  modify.  The algorithms are non-recursive, and the trees are highly
 | |
| 	  capacious.
 | |
| 
 | |
| 	  See:
 | |
| 
 | |
| 		Documentation/assoc_array.txt
 | |
| 
 | |
| 	  for more information.
 | |
| 
 | |
| config HAS_IOMEM
 | |
| 	bool
 | |
| 	depends on !NO_IOMEM
 | |
| 	select GENERIC_IO
 | |
| 	default y
 | |
| 
 | |
| config HAS_IOPORT_MAP
 | |
| 	bool
 | |
| 	depends on HAS_IOMEM && !NO_IOPORT_MAP
 | |
| 	default y
 | |
| 
 | |
| config HAS_DMA
 | |
| 	bool
 | |
| 	depends on !NO_DMA
 | |
| 	default y
 | |
| 
 | |
| config CHECK_SIGNATURE
 | |
| 	bool
 | |
| 
 | |
| config CPUMASK_OFFSTACK
 | |
| 	bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
 | |
| 	help
 | |
| 	  Use dynamic allocation for cpumask_var_t, instead of putting
 | |
| 	  them on the stack.  This is a bit more expensive, but avoids
 | |
| 	  stack overflow.
 | |
| 
 | |
| config CPU_RMAP
 | |
| 	bool
 | |
| 	depends on SMP
 | |
| 
 | |
| config DQL
 | |
| 	bool
 | |
| 
 | |
| config GLOB
 | |
| 	bool
 | |
| #	This actually supports modular compilation, but the module overhead
 | |
| #	is ridiculous for the amount of code involved.	Until an out-of-tree
 | |
| #	driver asks for it, we'll just link it directly it into the kernel
 | |
| #	when required.  Since we're ignoring out-of-tree users,	there's also
 | |
| #	no need bother prompting for a manual decision:
 | |
| #	prompt "glob_match() function"
 | |
| 	help
 | |
| 	  This option provides a glob_match function for performing
 | |
| 	  simple text pattern matching.  It originated in the ATA code
 | |
| 	  to blacklist particular drive models, but other device drivers
 | |
| 	  may need similar functionality.
 | |
| 
 | |
| 	  All drivers in the Linux kernel tree that require this function
 | |
| 	  should automatically select this option.  Say N unless you
 | |
| 	  are compiling an out-of tree driver which tells you that it
 | |
| 	  depends on this.
 | |
| 
 | |
| config GLOB_SELFTEST
 | |
| 	bool "glob self-test on init"
 | |
| 	default n
 | |
| 	depends on GLOB
 | |
| 	help
 | |
| 	  This option enables a simple self-test of the glob_match
 | |
| 	  function on startup.	It is primarily useful for people
 | |
| 	  working on the code to ensure they haven't introduced any
 | |
| 	  regressions.
 | |
| 
 | |
| 	  It only adds a little bit of code and slows kernel boot (or
 | |
| 	  module load) by a small amount, so you're welcome to play with
 | |
| 	  it, but you probably don't need it.
 | |
| 
 | |
| #
 | |
| # Netlink attribute parsing support is select'ed if needed
 | |
| #
 | |
| config NLATTR
 | |
| 	bool
 | |
| 
 | |
| #
 | |
| # Generic 64-bit atomic support is selected if needed
 | |
| #
 | |
| config GENERIC_ATOMIC64
 | |
|        bool
 | |
| 
 | |
| config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
 | |
| 	def_bool y if GENERIC_ATOMIC64
 | |
| 
 | |
| config LRU_CACHE
 | |
| 	tristate
 | |
| 
 | |
| config AVERAGE
 | |
| 	bool "Averaging functions"
 | |
| 	help
 | |
| 	  This option is provided for the case where no in-kernel-tree
 | |
| 	  modules require averaging functions, but a module built outside
 | |
| 	  the kernel tree does. Such modules that use library averaging
 | |
| 	  functions require Y here.
 | |
| 
 | |
| 	  If unsure, say N.
 | |
| 
 | |
| config CLZ_TAB
 | |
| 	bool
 | |
| 
 | |
| config CORDIC
 | |
| 	tristate "CORDIC algorithm"
 | |
| 	help
 | |
| 	  This option provides an implementation of the CORDIC algorithm;
 | |
| 	  calculations are in fixed point. Module will be called cordic.
 | |
| 
 | |
| config DDR
 | |
| 	bool "JEDEC DDR data"
 | |
| 	help
 | |
| 	  Data from JEDEC specs for DDR SDRAM memories,
 | |
| 	  particularly the AC timing parameters and addressing
 | |
| 	  information. This data is useful for drivers handling
 | |
| 	  DDR SDRAM controllers.
 | |
| 
 | |
| config MPILIB
 | |
| 	tristate
 | |
| 	select CLZ_TAB
 | |
| 	help
 | |
| 	  Multiprecision maths library from GnuPG.
 | |
| 	  It is used to implement RSA digital signature verification,
 | |
| 	  which is used by IMA/EVM digital signature extension.
 | |
| 
 | |
| config SIGNATURE
 | |
| 	tristate
 | |
| 	depends on KEYS
 | |
| 	select CRYPTO
 | |
| 	select CRYPTO_SHA1
 | |
| 	select MPILIB
 | |
| 	help
 | |
| 	  Digital signature verification. Currently only RSA is supported.
 | |
| 	  Implementation is done using GnuPG MPI library
 | |
| 
 | |
| #
 | |
| # libfdt files, only selected if needed.
 | |
| #
 | |
| config LIBFDT
 | |
| 	bool
 | |
| 
 | |
| config OID_REGISTRY
 | |
| 	tristate
 | |
| 	help
 | |
| 	  Enable fast lookup object identifier registry.
 | |
| 
 | |
| config UCS2_STRING
 | |
|         tristate
 | |
| 
 | |
| source "lib/fonts/Kconfig"
 | |
| 
 | |
| #
 | |
| # sg chaining option
 | |
| #
 | |
| 
 | |
| config ARCH_HAS_SG_CHAIN
 | |
| 	def_bool n
 | |
| 
 | |
| endmenu
 |