blob: 1df13883481c57bf7c93ad0d5e3d7871b81dd4c2 [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 Mitaa5cfc1ec582006-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
64 tristate "CRC32 functions"
65 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
69 modules require CRC32 functions, but a module built outside the
70 kernel tree does. Such modules that use library CRC32 functions
71 require M here.
72
Jan Nikitenkoad241522007-07-17 04:04:03 -070073config CRC7
74 tristate "CRC7 functions"
75 help
76 This option is provided for the case where no in-kernel-tree
77 modules require CRC7 functions, but a module built outside
78 the kernel tree does. Such modules that use library CRC7
79 functions require M here.
80
Linus Torvalds1da177e2005-04-16 15:20:36 -070081config LIBCRC32C
82 tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
Herbert Xu93027352008-11-13 22:05:13 +080083 select CRYPTO
Herbert Xu69c35ef2008-11-07 15:11:47 +080084 select CRYPTO_CRC32C
Linus Torvalds1da177e2005-04-16 15:20:36 -070085 help
86 This option is provided for the case where no in-kernel-tree
87 modules require CRC32c functions, but a module built outside the
88 kernel tree does. Such modules that use library CRC32c functions
89 require M here. See Castagnoli93.
90 Module will be libcrc32c.
91
Arend van Spriel71509622011-05-31 11:22:15 +020092config CRC8
93 tristate "CRC8 function"
94 help
95 This option provides CRC8 function. Drivers may select this
96 when they need to do cyclic redundancy check according CRC8
97 algorithm. Module will be called crc8.
98
Al Viroe65e1fc2006-09-12 03:04:40 -040099config AUDIT_GENERIC
100 bool
101 depends on AUDIT && !AUDIT_ARCH
102 default y
103
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104#
105# compression support is select'ed if needed
106#
107config ZLIB_INFLATE
108 tristate
109
110config ZLIB_DEFLATE
111 tristate
112
Richard Purdie64c70b12007-07-10 17:22:24 -0700113config LZO_COMPRESS
114 tristate
115
116config LZO_DECOMPRESS
117 tristate
118
Lasse Collin24fa0402011-01-12 17:01:22 -0800119source "lib/xz/Kconfig"
120
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121#
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800122# These all provide a common interface (hence the apparent duplication with
123# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
124#
125config DECOMPRESS_GZIP
H. Peter Anvin7856a16e2009-01-07 00:01:43 -0800126 select ZLIB_INFLATE
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800127 tristate
128
129config DECOMPRESS_BZIP2
130 tristate
131
132config DECOMPRESS_LZMA
133 tristate
134
Lasse Collin3ebe1242011-01-12 17:01:23 -0800135config DECOMPRESS_XZ
136 select XZ_DEC
137 tristate
138
Albin Tonnerrecacb2462010-01-08 14:42:46 -0800139config DECOMPRESS_LZO
140 select LZO_DECOMPRESS
141 tristate
142
H. Peter Anvinc8531ab2009-01-05 13:48:31 -0800143#
Jes Sorensenf14f75b2005-06-21 17:15:02 -0700144# Generic allocator support is selected if needed
145#
146config GENERIC_ALLOCATOR
147 boolean
148
149#
Linus Torvalds1da177e2005-04-16 15:20:36 -0700150# reed solomon support is select'ed if needed
151#
152config REED_SOLOMON
153 tristate
154
155config REED_SOLOMON_ENC8
156 boolean
157
158config REED_SOLOMON_DEC8
159 boolean
160
161config REED_SOLOMON_ENC16
162 boolean
163
164config REED_SOLOMON_DEC16
165 boolean
166
David S. Millerf7704342005-06-24 17:39:03 -0700167#
Ivan Djelic437aa562011-03-11 11:05:32 +0100168# BCH support is selected if needed
169#
170config BCH
171 tristate
172
173config BCH_CONST_PARAMS
174 boolean
175 help
176 Drivers may select this option to force specific constant
177 values for parameters 'm' (Galois field order) and 't'
178 (error correction capability). Those specific values must
179 be set by declaring default values for symbols BCH_CONST_M
180 and BCH_CONST_T.
181 Doing so will enable extra compiler optimizations,
182 improving encoding and decoding performance up to 2x for
183 usual (m,t) values (typically such that m*t < 200).
184 When this option is selected, the BCH library supports
185 only a single (m,t) configuration. This is mainly useful
186 for NAND flash board drivers requiring known, fixed BCH
187 parameters.
188
189config BCH_CONST_M
190 int
191 range 5 15
192 help
193 Constant value for Galois field order 'm'. If 'k' is the
194 number of data bits to protect, 'm' should be chosen such
195 that (k + m*t) <= 2**m - 1.
196 Drivers should declare a default value for this symbol if
197 they select option BCH_CONST_PARAMS.
198
199config BCH_CONST_T
200 int
201 help
202 Constant value for error correction capability in bits 't'.
203 Drivers should declare a default value for this symbol if
204 they select option BCH_CONST_PARAMS.
205
206#
David S. Millerf7704342005-06-24 17:39:03 -0700207# Textsearch support is select'ed if needed
208#
Thomas Graf2de4ff72005-06-23 20:49:30 -0700209config TEXTSEARCH
David S. Millerf7704342005-06-24 17:39:03 -0700210 boolean
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211
Thomas Grafdf3fb932005-06-23 20:58:37 -0700212config TEXTSEARCH_KMP
David S. Millerf7704342005-06-24 17:39:03 -0700213 tristate
Thomas Grafdf3fb932005-06-23 20:58:37 -0700214
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700215config TEXTSEARCH_BM
David S. Miller29cb9f92005-08-25 16:23:11 -0700216 tristate
Pablo Neira Ayuso8082e4e2005-08-25 16:12:22 -0700217
Thomas Graf6408f792005-06-23 20:59:16 -0700218config TEXTSEARCH_FSM
David S. Millerf7704342005-06-24 17:39:03 -0700219 tristate
Thomas Graf6408f792005-06-23 20:59:16 -0700220
Joern Engel5db53f32009-11-20 20:13:39 +0100221config BTREE
222 boolean
223
Al Viro5ea81762007-02-11 15:41:31 +0000224config HAS_IOMEM
Al Viroee36c2b2006-12-13 00:35:00 -0800225 boolean
Al Viro5ea81762007-02-11 15:41:31 +0000226 depends on !NO_IOMEM
227 default y
228
229config HAS_IOPORT
230 boolean
231 depends on HAS_IOMEM && !NO_IOPORT
Al Viroee36c2b2006-12-13 00:35:00 -0800232 default y
233
Heiko Carstens411f0f32007-05-06 14:49:09 -0700234config HAS_DMA
235 boolean
236 depends on !NO_DMA
237 default y
238
Geert Uytterhoeven928923c2007-08-22 14:01:36 -0700239config CHECK_SIGNATURE
240 bool
241
Rusty Russellaab46da2008-12-13 21:20:27 +1030242config CPUMASK_OFFSTACK
243 bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
244 help
245 Use dynamic allocation for cpumask_var_t, instead of putting
246 them on the stack. This is a bit more expensive, but avoids
247 stack overflow.
248
Rusty Russell8c384cd2009-01-01 10:12:30 +1030249config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
250 bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
251 depends on EXPERIMENTAL && BROKEN
252
Ben Hutchingsc39649c2011-01-19 11:03:25 +0000253config CPU_RMAP
254 bool
255 depends on SMP
256
Tom Herbert75957ba2011-11-28 16:32:35 +0000257config DQL
258 bool
259
Geert Uytterhoevene9cc8bd2009-03-04 14:53:30 +0800260#
261# Netlink attribute parsing support is select'ed if needed
262#
263config NLATTR
264 bool
265
Paul Mackerras09d4e0e2009-06-12 21:10:05 +0000266#
267# Generic 64-bit atomic support is selected if needed
268#
269config GENERIC_ATOMIC64
270 bool
271
Philipp Reisnerb411b362009-09-25 16:07:19 -0700272config LRU_CACHE
273 tristate
274
Bruno Randolfc5485a72010-11-16 10:58:37 +0900275config AVERAGE
Michael Buescha7a9a242011-03-01 20:03:05 +0100276 bool "Averaging functions"
277 help
278 This option is provided for the case where no in-kernel-tree
279 modules require averaging functions, but a module built outside
280 the kernel tree does. Such modules that use library averaging
281 functions require Y here.
282
283 If unsure, say N.
Bruno Randolfc5485a72010-11-16 10:58:37 +0900284
Arend van Spriel10f81132011-05-31 11:22:16 +0200285config CORDIC
Michael Wittend89ce932011-07-29 12:59:51 +0000286 tristate "CORDIC algorithm"
Arend van Spriel10f81132011-05-31 11:22:16 +0200287 help
Michael Witten435a95c2011-07-29 13:36:04 +0000288 This option provides an implementation of the CORDIC algorithm;
289 calculations are in fixed point. Module will be called cordic.
Arend van Spriel10f81132011-05-31 11:22:16 +0200290
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300291config MPILIB
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200292 tristate
Dmitry Kasatkind9c46b12011-08-31 14:05:16 +0300293 help
294 Multiprecision maths library from GnuPG.
295 It is used to implement RSA digital signature verification,
296 which is used by IMA/EVM digital signature extension.
297
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200298config MPILIB_EXTRA
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200299 bool
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200300 depends on MPILIB
301 help
Dmitry Kasatkin68adcad2012-01-17 17:12:05 +0200302 Additional sources of multiprecision maths library from GnuPG.
303 This code is unnecessary for RSA digital signature verification,
304 but can be compiled if needed.
Dmitry Kasatkin7e8dec92011-11-07 15:16:37 +0200305
Dmitry Kasatkin5e8898e2012-01-17 17:12:03 +0200306config SIGNATURE
Dmitry Kasatkin2e5f0942012-01-17 17:12:06 +0200307 tristate
Dmitry Kasatkinbe440ec2012-01-17 17:12:04 +0200308 depends on KEYS && CRYPTO
309 select CRYPTO_SHA1
Dmitry Kasatkin051dbb92011-10-14 15:25:16 +0300310 select MPILIB
311 help
312 Digital signature verification. Currently only RSA is supported.
313 Implementation is done using GnuPG MPI library
314
Thomas Graf2de4ff72005-06-23 20:49:30 -0700315endmenu