xref: /openbmc/linux/lib/Kconfig (revision d78c317f)
1#
2# Library configuration
3#
4
5config BINARY_PRINTF
6	def_bool n
7
8menu "Library routines"
9
10config RAID6_PQ
11	tristate
12
13config BITREVERSE
14	tristate
15
16config RATIONAL
17	boolean
18
19config GENERIC_FIND_FIRST_BIT
20	bool
21
22config NO_GENERIC_PCI_IOPORT_MAP
23	bool
24
25config GENERIC_PCI_IOMAP
26	bool
27
28config GENERIC_IOMAP
29	bool
30	select GENERIC_PCI_IOMAP
31
32config 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
40config 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
48config 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
55config 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
63config CRC32
64	tristate "CRC32 functions"
65	default y
66	select BITREVERSE
67	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
73config 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
81config LIBCRC32C
82	tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
83	select CRYPTO
84	select CRYPTO_CRC32C
85	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
92config 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
99config AUDIT_GENERIC
100	bool
101	depends on AUDIT && !AUDIT_ARCH
102	default y
103
104#
105# compression support is select'ed if needed
106#
107config ZLIB_INFLATE
108	tristate
109
110config ZLIB_DEFLATE
111	tristate
112
113config LZO_COMPRESS
114	tristate
115
116config LZO_DECOMPRESS
117	tristate
118
119source "lib/xz/Kconfig"
120
121#
122# These all provide a common interface (hence the apparent duplication with
123# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
124#
125config DECOMPRESS_GZIP
126	select ZLIB_INFLATE
127	tristate
128
129config DECOMPRESS_BZIP2
130	tristate
131
132config DECOMPRESS_LZMA
133	tristate
134
135config DECOMPRESS_XZ
136	select XZ_DEC
137	tristate
138
139config DECOMPRESS_LZO
140	select LZO_DECOMPRESS
141	tristate
142
143#
144# Generic allocator support is selected if needed
145#
146config GENERIC_ALLOCATOR
147	boolean
148
149#
150# 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
167#
168# 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#
207# Textsearch support is select'ed if needed
208#
209config TEXTSEARCH
210	boolean
211
212config TEXTSEARCH_KMP
213	tristate
214
215config TEXTSEARCH_BM
216	tristate
217
218config TEXTSEARCH_FSM
219	tristate
220
221config BTREE
222	boolean
223
224config HAS_IOMEM
225	boolean
226	depends on !NO_IOMEM
227	default y
228
229config HAS_IOPORT
230	boolean
231	depends on HAS_IOMEM && !NO_IOPORT
232	default y
233
234config HAS_DMA
235	boolean
236	depends on !NO_DMA
237	default y
238
239config CHECK_SIGNATURE
240	bool
241
242config 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
249config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
250       bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
251       depends on EXPERIMENTAL && BROKEN
252
253config CPU_RMAP
254	bool
255	depends on SMP
256
257config DQL
258	bool
259
260#
261# Netlink attribute parsing support is select'ed if needed
262#
263config NLATTR
264	bool
265
266#
267# Generic 64-bit atomic support is selected if needed
268#
269config GENERIC_ATOMIC64
270       bool
271
272config LRU_CACHE
273	tristate
274
275config AVERAGE
276	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.
284
285config CLZ_TAB
286	bool
287
288config CORDIC
289	tristate "CORDIC algorithm"
290	help
291	  This option provides an implementation of the CORDIC algorithm;
292	  calculations are in fixed point. Module will be called cordic.
293
294config MPILIB
295	tristate
296	select CLZ_TAB
297	help
298	  Multiprecision maths library from GnuPG.
299	  It is used to implement RSA digital signature verification,
300	  which is used by IMA/EVM digital signature extension.
301
302config MPILIB_EXTRA
303	bool
304	depends on MPILIB
305	help
306	  Additional sources of multiprecision maths library from GnuPG.
307	  This code is unnecessary for RSA digital signature verification,
308	  but can be compiled if needed.
309
310config SIGNATURE
311	tristate
312	depends on KEYS && CRYPTO
313	select CRYPTO_SHA1
314	select MPILIB
315	help
316	  Digital signature verification. Currently only RSA is supported.
317	  Implementation is done using GnuPG MPI library
318
319endmenu
320