blob: 6d7ce4b138c4308063285e39a5ba660e51ae7188 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# Library configuration
3#
4
Lai Jiangshan4370aa42009-03-06 17:21:46 +01005config BINARY_PRINTF
6 def_bool n
7
Linus Torvalds1da177e2005-04-16 15:20:36 -07008menu "Library routines"
9
David Woodhousef5e70d02009-07-13 11:35:12 +010010config RAID6_PQ
11 tristate
12
Akinobu Mitaa5cfc1e2006-12-08 02:36:25 -080013config BITREVERSE
14 tristate
15
Oskar Schirmer8759ef32009-06-11 14:51:15 +010016config RATIONAL
17 boolean
18
Alexander van Heukelum19870de2008-04-25 13:12:53 +020019config GENERIC_FIND_FIRST_BIT
Jan Beulich9ba16082008-10-15 22:01:38 -070020 bool
Alexander van Heukelum19870de2008-04-25 13:12:53 +020021
Michael S. Tsirkinb9236502012-01-30 00:20:48 +020022config NO_GENERIC_PCI_IOPORT_MAP
23 bool
24
Michael S. Tsirkin66eab4d2011-11-24 20:45:20 +020025config GENERIC_PCI_IOMAP
26 bool
27
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020028config GENERIC_IOMAP
29 bool
Michael S. Tsirkin66eab4d2011-11-24 20:45:20 +020030 select GENERIC_PCI_IOMAP
Michael S. Tsirkin4673ca82011-11-24 14:54:28 +020031
Linus Torvalds1da177e2005-04-16 15:20:36 -070032config CRC_CCITT
33 tristate "CRC-CCITT functions"
34 help
35 This option is provided for the case where no in-kernel-tree
36 modules require CRC-CCITT functions, but a module built outside
37 the kernel tree does. Such modules that use library CRC-CCITT
38 functions require M here.
39
Evgeniy Polyakov7657ec12005-08-17 15:17:26 +040040config CRC16
41 tristate "CRC16 functions"
42 help
43 This option is provided for the case where no in-kernel-tree
44 modules require CRC16 functions, but a module built outside
45 the kernel tree does. Such modules that use library CRC16
46 functions require M here.
47
Martin K. Petersenf11f5942008-06-25 11:22:42 -040048config CRC_T10DIF
49 tristate "CRC calculation for the T10 Data Integrity Field"
50 help
51 This option is only needed if a module that's not in the
52 kernel tree needs to calculate CRC checks for use with the
53 SCSI data integrity subsystem.
54
Ivo van Doorn3e7cbae2006-06-12 16:17:04 +020055config CRC_ITU_T
56 tristate "CRC ITU-T V.41 functions"
57 help
58 This option is provided for the case where no in-kernel-tree
59 modules require CRC ITU-T V.41 functions, but a module built outside
60 the kernel tree does. Such modules that use library CRC ITU-T V.41
61 functions require M here.
62
Linus Torvalds1da177e2005-04-16 15:20:36 -070063config CRC32
Darrick J. Wong46c58012012-03-23 15:02:25 -070064 tristate "CRC32/CRC32c functions"
Linus Torvalds1da177e2005-04-16 15:20:36 -070065 default y
Akinobu Mita906d66d2006-12-08 02:36:25 -080066 select BITREVERSE
Linus Torvalds1da177e2005-04-16 15:20:36 -070067 help
68 This option is provided for the case where no in-kernel-tree
Darrick J. Wong46c58012012-03-23 15:02:25 -070069 modules require CRC32/CRC32c functions, but a module built outside
70 the kernel tree does. Such modules that use library CRC32/CRC32c
71 functions require M here.
Linus Torvalds1da177e2005-04-16 15:20:36 -070072
Bob Pearson3863ef32012-03-23 15:02:22 -070073config CRC32_SELFTEST
74 bool "CRC32 perform self test on init"
75 default n
76 depends on CRC32
77 help
78 This option enables the CRC32 library functions to perform a
79 self test on initialization. The self test computes crc32_le
80 and crc32_be over byte strings with random alignment and length
81 and computes the total elapsed time and number of bytes processed.
82
Jan Nikitenkoad241522007-07-17 04:04:03 -070083config CRC7
84 tristate "CRC7 functions"
85 help
86 This option is provided for the case where no in-kernel-tree
87 modules require CRC7 functions, but a module built outside
88 the kernel tree does. Such modules that use library CRC7
89 functions require M here.
90
Linus Torvalds1da177e2005-04-16 15:20:36 -070091config LIBCRC32C
92 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
Herbert Xu93027352008-11-13 22:05:13 +080093 select CRYPTO
Herbert Xu69c35ef2008-11-07 15:11:47 +080094 select CRYPTO_CRC32C
Linus Torvalds1da177e2005-04-16 15:20:36 -070095 help
96 This option is provided for the case where no in-kernel-tree
97 modules require CRC32c functions, but a module built outside the
98 kernel tree does. Such modules that use library CRC32c functions
99 require M here. See Castagnoli93.
100 Module will be libcrc32c.
101
Arend van Spriel71509622011-05-31 11:22:15 +0200102config CRC8
103 tristate "CRC8 function"
104 help
105 This option provides CRC8 function. Drivers may select this
106 when they need to do cyclic redundancy check according CRC8
107 algorithm. Module will be called crc8.
108
Al Viroe65e1fc2006-09-12 03:04:40 -0400109config AUDIT_GENERIC
110 bool
111 depends on AUDIT && !AUDIT_ARCH
112 default y
113
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114#
115# compression support is select'ed if needed
116#
117config ZLIB_INFLATE
118 tristate
119
120config ZLIB_DEFLATE
121 tristate
122
Richard Purdie64c70b12007-07-10 17:22:24 -0700123config LZO_COMPRESS
124 tristate
125
126config LZO_DECOMPRESS
127 tristate
128
Lasse Collin24fa0402011-01-12 17:01:22 -0800129source "lib/xz/Kconfig"
130
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131#
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800132# These all provide a common interface (hence the apparent duplication with
133# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
134#
135config DECOMPRESS_GZIP
H. Peter Anvin7856a16e2009-01-07 00:01:43 -0800136 select ZLIB_INFLATE
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800137 tristate
138
139config DECOMPRESS_BZIP2
140 tristate
141
142config DECOMPRESS_LZMA
143 tristate
144
Lasse Collin3ebe1242011-01-12 17:01:23 -0800145config DECOMPRESS_XZ
146 select XZ_DEC
147 tristate
148
Albin Tonnerrecacb2462010-01-08 14:42:46 -0800149config DECOMPRESS_LZO
150 select LZO_DECOMPRESS
151 tristate
152
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800153#
Jes Sorensenf14f75b2005-06-21 17:15:02 -0700154# Generic allocator support is selected if needed
155#
156config GENERIC_ALLOCATOR
157 boolean
158
159#
Linus Torvalds1da177e2005-04-16 15:20:36 -0700160# reed solomon support is select'ed if needed
161#
162config REED_SOLOMON
163 tristate
164
165config REED_SOLOMON_ENC8
166 boolean
167
168config REED_SOLOMON_DEC8
169 boolean
170
171config REED_SOLOMON_ENC16
172 boolean
173
174config REED_SOLOMON_DEC16
175 boolean
176
David S. Millerf7704342005-06-24 17:39:03 -0700177#
Ivan Djelic437aa562011-03-11 11:05:32 +0100178# BCH support is selected if needed
179#
180config BCH
181 tristate
182
183config BCH_CONST_PARAMS
184 boolean
185 help
186 Drivers may select this option to force specific constant
187 values for parameters 'm' (Galois field order) and 't'
188 (error correction capability). Those specific values must
189 be set by declaring default values for symbols BCH_CONST_M
190 and BCH_CONST_T.
191 Doing so will enable extra compiler optimizations,
192 improving encoding and decoding performance up to 2x for
193 usual (m,t) values (typically such that m*t < 200).
194 When this option is selected, the BCH library supports
195 only a single (m,t) configuration. This is mainly useful
196 for NAND flash board drivers requiring known, fixed BCH
197 parameters.
198
199config BCH_CONST_M
200 int
201 range 5 15
202 help
203 Constant value for Galois field order 'm'. If 'k' is the
204 number of data bits to protect, 'm' should be chosen such
205 that (k + m*t) <= 2**m - 1.
206 Drivers should declare a default value for this symbol if
207 they select option BCH_CONST_PARAMS.
208
209config BCH_CONST_T
210 int
211 help
212 Constant value for error correction capability in bits 't'.
213 Drivers should declare a default value for this symbol if
214 they select option BCH_CONST_PARAMS.
215
216#
David S. Millerf7704342005-06-24 17:39:03 -0700217# Textsearch support is select'ed if needed
218#
Thomas Graf2de4ff72005-06-23 20:49:30 -0700219config TEXTSEARCH
David S. Millerf7704342005-06-24 17:39:03 -0700220 boolean
Linus Torvalds1da177e2005-04-16 15:20:36 -0700221
Thomas Grafdf3fb932005-06-23 20:58:37 -0700222config TEXTSEARCH_KMP
David S. Millerf7704342005-06-24 17:39:03 -0700223 tristate
Thomas Grafdf3fb932005-06-23 20:58:37 -0700224
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700225config TEXTSEARCH_BM
David S. Miller29cb9f92005-08-25 16:23:11 -0700226 tristate
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700227
Thomas Graf6408f792005-06-23 20:59:16 -0700228config TEXTSEARCH_FSM
David S. Millerf7704342005-06-24 17:39:03 -0700229 tristate
Thomas Graf6408f792005-06-23 20:59:16 -0700230
Joern Engel5db53f32009-11-20 20:13:39 +0100231config BTREE
232 boolean
233
Al Viro5ea81762007-02-11 15:41:31 +0000234config HAS_IOMEM
Al Viroee36c2b2006-12-13 00:35:00 -0800235 boolean
Al Viro5ea81762007-02-11 15:41:31 +0000236 depends on !NO_IOMEM
237 default y
238
239config HAS_IOPORT
240 boolean
241 depends on HAS_IOMEM && !NO_IOPORT
Al Viroee36c2b2006-12-13 00:35:00 -0800242 default y
243
Heiko Carstens411f0f32007-05-06 14:49:09 -0700244config HAS_DMA
245 boolean
246 depends on !NO_DMA
247 default y
248
Geert Uytterhoeven928923c2007-08-22 14:01:36 -0700249config CHECK_SIGNATURE
250 bool
251
Rusty Russellaab46da2008-12-13 21:20:27 +1030252config CPUMASK_OFFSTACK
253 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
254 help
255 Use dynamic allocation for cpumask_var_t, instead of putting
256 them on the stack. This is a bit more expensive, but avoids
257 stack overflow.
258
Rusty Russell8c384cd2009-01-01 10:12:30 +1030259config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
260 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
261 depends on EXPERIMENTAL && BROKEN
262
Ben Hutchingsc39649c2011-01-19 11:03:25 +0000263config CPU_RMAP
264 bool
265 depends on SMP
266
Tom Herbert75957ba2011-11-28 16:32:35 +0000267config DQL
268 bool
269
Geert Uytterhoevene9cc8bd2009-03-04 14:53:30 +0800270#
271# Netlink attribute parsing support is select'ed if needed
272#
273config NLATTR
274 bool
275
Paul Mackerras09d4e0e2009-06-12 21:10:05 +0000276#
277# Generic 64-bit atomic support is selected if needed
278#
279config GENERIC_ATOMIC64
280 bool
281
Philipp Reisnerb411b362009-09-25 16:07:19 -0700282config LRU_CACHE
283 tristate
284
Bruno Randolfc5485a72010-11-16 10:58:37 +0900285config AVERAGE
Michael Buescha7a9a242011-03-01 20:03:05 +0100286 bool "Averaging functions"
287 help
288 This option is provided for the case where no in-kernel-tree
289 modules require averaging functions, but a module built outside
290 the kernel tree does. Such modules that use library averaging
291 functions require Y here.
292
293 If unsure, say N.
Bruno Randolfc5485a72010-11-16 10:58:37 +0900294
David Millerc6df4b12012-02-02 00:17:54 +0200295config CLZ_TAB
296 bool
297
Arend van Spriel10f81132011-05-31 11:22:16 +0200298config CORDIC
Michael Wittend89ce932011-07-29 12:59:51 +0000299 tristate "CORDIC algorithm"
Arend van Spriel10f81132011-05-31 11:22:16 +0200300 help
Michael Witten435a95c2011-07-29 13:36:04 +0000301 This option provides an implementation of the CORDIC algorithm;
302 calculations are in fixed point. Module will be called cordic.
Arend van Spriel10f81132011-05-31 11:22:16 +0200303
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300304config MPILIB
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200305 tristate
David Millerc6df4b12012-02-02 00:17:54 +0200306 select CLZ_TAB
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300307 help
308 Multiprecision maths library from GnuPG.
309 It is used to implement RSA digital signature verification,
310 which is used by IMA/EVM digital signature extension.
311
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200312config MPILIB_EXTRA
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200313 bool
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200314 depends on MPILIB
315 help
Dmitry Kasatkin68adcad2012-01-17 17:12:05 +0200316 Additional sources of multiprecision maths library from GnuPG.
317 This code is unnecessary for RSA digital signature verification,
318 but can be compiled if needed.
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200319
Dmitry Kasatkin5e8898e2012-01-17 17:12:03 +0200320config SIGNATURE
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200321 tristate
Dmitry Kasatkinbe440ec2012-01-17 17:12:04 +0200322 depends on KEYS && CRYPTO
323 select CRYPTO_SHA1
Dmitry Kasatkin051dbb92011-10-14 15:25:16 +0300324 select MPILIB
325 help
326 Digital signature verification. Currently only RSA is supported.
327 Implementation is done using GnuPG MPI library
328
Thomas Graf2de4ff72005-06-23 20:49:30 -0700329endmenu