]> Git Repo - J-u-boot.git/blob - lib/Kconfig
lib: uuid: add UUID v5 support
[J-u-boot.git] / lib / Kconfig
1 menu "Library routines"
2
3 config ADDR_MAP
4         bool "Enable support for non-identity virtual-physical mappings"
5         help
6           Enables helper code for implementing non-identity virtual-physical
7           memory mappings for 32bit CPUs.
8
9           This library only works in the post-relocation phase.
10
11 config SYS_NUM_ADDR_MAP
12         int "Size of the address-map table"
13         depends on ADDR_MAP
14         default 16
15         help
16           Sets the number of entries in the virtual-physical mapping table.
17
18 config SYS_TIMER_COUNTS_DOWN
19         bool "System timer counts down rather than up"
20
21 config PHYSMEM
22         bool "Access to physical memory region (> 4G)"
23         help
24           Some basic support is provided for operations on memory not
25           normally accessible to 32-bit U-Boot - e.g. some architectures
26           support access to more than 4G of memory on 32-bit
27           machines using physical address extension or similar.
28           Enable this to access this basic support, which only supports clearing
29           the memory.
30
31 config BCH
32         bool "Enable Software based BCH ECC"
33         help
34           Enables software based BCH ECC algorithm present in lib/bch.c
35           This is used by SoC platforms which do not have built-in ELM
36           hardware engine required for BCH ECC correction.
37
38 config BINMAN_FDT
39         bool "Allow access to binman information in the device tree"
40         depends on BINMAN && DM && OF_CONTROL
41         default y if OF_SEPARATE || OF_EMBED
42         help
43           This enables U-Boot to access information about binman entries,
44           stored in the device tree in a binman node. Typical uses are to
45           locate entries in the firmware image. See binman.h for the available
46           functionality.
47
48 config CC_OPTIMIZE_LIBS_FOR_SPEED
49         bool "Optimize libraries for speed"
50         help
51           Enabling this option will pass "-O2" to gcc when compiling
52           under "lib" directory.
53
54           If unsure, say N.
55
56 config CHARSET
57         bool
58
59 config DYNAMIC_CRC_TABLE
60         bool "Enable Dynamic tables for CRC"
61         help
62           Enable this option to calculate entries for CRC tables at runtime.
63           This can be helpful when reducing the size of the build image
64
65 config HAVE_ARCH_IOMAP
66         bool
67         help
68           Enable this option if architecture provides io{read,write}{8,16,32}
69           I/O accessor functions.
70
71 config HAVE_PRIVATE_LIBGCC
72         bool
73
74 config LIB_UUID
75         bool
76         select SHA1
77
78 config RANDOM_UUID
79         bool "GPT Random UUID generation"
80         select LIB_UUID
81         help
82           Enable the generation of partitions with random UUIDs if none
83           are provided.
84
85 config SPL_LIB_UUID
86         depends on SPL
87         bool
88
89 config SEMIHOSTING
90         bool "Support semihosting"
91         depends on ARM || RISCV
92         help
93           Semihosting is a method for a target to communicate with a host
94           debugger. It uses special instructions which the debugger will trap
95           on and interpret. This allows U-Boot to read/write files, print to
96           the console, and execute arbitrary commands on the host system.
97
98           Enabling this option will add support for reading and writing files
99           on the host system. If you don't have a debugger attached then trying
100           to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
101
102 config SEMIHOSTING_FALLBACK
103         bool "Recover gracefully when semihosting fails"
104         depends on SEMIHOSTING
105         default y
106         help
107           Normally, if U-Boot makes a semihosting call and no debugger is
108           attached, then it will panic due to a synchronous abort
109           exception. This config adds an exception handler which will allow
110           U-Boot to recover. Say 'y' if unsure.
111
112 config SPL_SEMIHOSTING
113         bool "Support semihosting in SPL"
114         depends on SPL && (ARM || RISCV)
115         help
116           Semihosting is a method for a target to communicate with a host
117           debugger. It uses special instructions which the debugger will trap
118           on and interpret. This allows U-Boot to read/write files, print to
119           the console, and execute arbitrary commands on the host system.
120
121           Enabling this option will add support for reading and writing files
122           on the host system. If you don't have a debugger attached then trying
123           to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
124
125 config SPL_SEMIHOSTING_FALLBACK
126         bool "Recover gracefully when semihosting fails in SPL"
127         depends on SPL_SEMIHOSTING
128         select ARMV8_SPL_EXCEPTION_VECTORS if ARM64
129         default y
130         help
131           Normally, if U-Boot makes a semihosting call and no debugger is
132           attached, then it will panic due to a synchronous abort
133           exception. This config adds an exception handler which will allow
134           U-Boot to recover. Say 'y' if unsure.
135
136 config PRINTF
137         bool
138         default y
139
140 config SPL_PRINTF
141         bool
142         select SPL_SPRINTF
143         select SPL_STRTO if !SPL_USE_TINY_PRINTF
144
145 config TPL_PRINTF
146         bool
147         select TPL_SPRINTF
148         select TPL_STRTO if !TPL_USE_TINY_PRINTF
149
150 config VPL_PRINTF
151         bool
152         select VPL_SPRINTF
153         select VPL_STRTO if !VPL_USE_TINY_PRINTF
154
155 config SPRINTF
156         bool
157         default y
158
159 config SPL_SPRINTF
160         bool
161
162 config TPL_SPRINTF
163         bool
164
165 config VPL_SPRINTF
166         bool
167
168 config SSCANF
169         bool
170
171 config STRTO
172         bool
173         default y
174
175 config SPL_STRTO
176         bool
177
178 config TPL_STRTO
179         bool
180
181 config VPL_STRTO
182         bool
183
184 config IMAGE_SPARSE
185         bool
186
187 config IMAGE_SPARSE_FILLBUF_SIZE
188         hex "Android sparse image CHUNK_TYPE_FILL buffer size"
189         default 0x80000
190         depends on IMAGE_SPARSE
191         help
192           Set the size of the fill buffer used when processing CHUNK_TYPE_FILL
193           chunks.
194
195 config USE_PRIVATE_LIBGCC
196         bool "Use private libgcc"
197         depends on HAVE_PRIVATE_LIBGCC
198         default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
199         help
200           This option allows you to use the built-in libgcc implementation
201           of U-Boot instead of the one provided by the compiler.
202           If unsure, say N.
203
204 config SYS_HZ
205         int
206         default 1000
207         help
208           The frequency of the timer returned by get_timer().
209           get_timer() must operate in milliseconds and this option must be
210           set to 1000.
211
212 config SPL_USE_TINY_PRINTF
213         bool "Enable tiny printf() version in SPL"
214         depends on SPL
215         default y
216         help
217           This option enables a tiny, stripped down printf version.
218           This should only be used in space limited environments,
219           like SPL versions with hard memory limits. This version
220           reduces the code size by about 2.5KiB on armv7.
221
222           The supported format specifiers are %c, %s, %u/%d and %x.
223
224 config TPL_USE_TINY_PRINTF
225         bool "Enable tiny printf() version in TPL"
226         depends on TPL
227         default y if SPL_USE_TINY_PRINTF
228         help
229           This option enables a tiny, stripped down printf version.
230           This should only be used in space limited environments,
231           like SPL versions with hard memory limits. This version
232           reduces the code size by about 2.5KiB on armv7.
233
234           The supported format specifiers are %c, %s, %u/%d and %x.
235
236 config VPL_USE_TINY_PRINTF
237         bool "Enable tiny printf() version for VPL"
238         depends on VPL
239         help
240           This option enables a tiny, stripped down printf version.
241           This should only be used in space limited environments,
242           like SPL versions with hard memory limits. This version
243           reduces the code size by about 2.5KiB on armv7.
244
245           The supported format specifiers are %c, %s, %u/%d and %x.
246
247 config PANIC_HANG
248         bool "Do not reset the system on fatal error"
249         help
250           Define this option to stop the system in case of a fatal error,
251           so that you have to reset it manually. This is probably NOT a good
252           idea for an embedded system where you want the system to reboot
253           automatically as fast as possible, but it may be useful during
254           development since you can try to debug the conditions that lead to
255           the situation.
256
257 config REGEX
258         bool "Enable regular expression support"
259         default y if NET
260         help
261           If this variable is defined, U-Boot is linked against the
262           SLRE (Super Light Regular Expression) library, which adds
263           regex support to some commands, for example "env grep" and
264           "setexpr".
265
266 choice
267         prompt "Pseudo-random library support type"
268         depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \
269                    RNG_SANDBOX || UT_LIB && AES || FAT_WRITE
270         default LIB_RAND
271         help
272           Select the library to provide pseudo-random number generator
273           functions.  LIB_HW_RAND supports certain hardware engines that
274           provide this functionality.  If in doubt, select LIB_RAND.
275
276 config LIB_RAND
277         bool "Pseudo-random library support"
278
279 config LIB_HW_RAND
280         bool "HW Engine for random library support"
281
282 endchoice
283
284 config SUPPORT_ACPI
285         bool
286         help
287           Enable this if your arch or board can support generating ACPI
288           (Advanced Configuration and Power Interface) tables. In this case
289           U-Boot can generate these tables and pass them to the Operating
290           System.
291
292 config ACPI
293         bool "Enable support for ACPI libraries"
294         depends on SUPPORT_ACPI
295         help
296           Provides library functions for dealing with ACPI tables. This does
297           not necessarily include generation of tables
298           (see GENERATE_ACPI_TABLE), but allows for tables to be located.
299
300 config SPL_ACPI
301         bool "Enable support for ACPI libraries in SPL"
302         depends on SPL && SUPPORT_ACPI
303         help
304           Provides library functions for dealing with ACPI tables in SPL. This
305           does not necessarily include generation of tables
306           (see GENERATE_ACPI_TABLE), but allows for tables to be located.
307
308 config GENERATE_ACPI_TABLE
309         bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
310         depends on ACPI
311         select QFW if QEMU
312         help
313           The Advanced Configuration and Power Interface (ACPI) specification
314           provides an open standard for device configuration and management
315           by the operating system. It defines platform-independent interfaces
316           for configuration and power management monitoring.
317
318 config SPL_TINY_MEMSET
319         bool "Use a very small memset() in SPL"
320         depends on SPL
321         help
322           The faster memset() is the arch-specific one (if available) enabled
323           by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
324           better performance by writing a word at a time. But in very
325           size-constrained environments even this may be too big. Enable this
326           option to reduce code size slightly at the cost of some speed.
327
328 config TPL_TINY_MEMSET
329         bool "Use a very small memset() in TPL"
330         depends on TPL
331         help
332           The faster memset() is the arch-specific one (if available) enabled
333           by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
334           better performance by writing a word at a time. But in very
335           size-constrained environments even this may be too big. Enable this
336           option to reduce code size slightly at the cost of some speed.
337
338 config RBTREE
339         bool
340
341 config BITREVERSE
342         bool "Bit reverse library from Linux"
343
344 config TRACE
345         bool "Support for tracing of function calls and timing"
346         imply CMD_TRACE
347         imply TIMER_EARLY
348         help
349           Enables function tracing within U-Boot. This allows recording of call
350           traces including timing information. The command can write data to
351           memory for exporting for analysis (e.g. using bootchart).
352           See doc/develop/trace.rst for full details.
353
354 config TRACE_BUFFER_SIZE
355         hex "Size of trace buffer in U-Boot"
356         depends on TRACE
357         default 0x01000000
358         help
359           Sets the size of the trace buffer in U-Boot. This is allocated from
360           memory during relocation. If this buffer is too small, the trace
361           history will be truncated, with later records omitted.
362
363           If early trace is enabled (i.e. before relocation), this buffer must
364           be large enough to include all the data from the early trace buffer as
365           well, since this is copied over to the main buffer during relocation.
366
367           A trace record is emitted for each function call and each record is
368           12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
369           the size is too small then 'trace stats' will show a message saying
370           how many records were dropped due to buffer overflow.
371
372 config TRACE_CALL_DEPTH_LIMIT
373         int "Trace call depth limit"
374         depends on TRACE
375         default 15
376         help
377           Sets the maximum call depth up to which function calls are recorded.
378
379 config TRACE_EARLY
380         bool "Enable tracing before relocation"
381         depends on TRACE
382         help
383           Sometimes it is helpful to trace execution of U-Boot before
384           relocation. This is possible by using a arch-specific, fixed buffer
385           position in memory. Enable this option to start tracing as early as
386           possible after U-Boot starts.
387
388 config TRACE_EARLY_SIZE
389         hex "Size of early trace buffer in U-Boot"
390         depends on TRACE_EARLY
391         default 0x00100000
392         help
393           Sets the size of the early trace buffer in bytes. This is used to hold
394           tracing information before relocation.
395
396 config TRACE_EARLY_CALL_DEPTH_LIMIT
397         int "Early trace call depth limit"
398         depends on TRACE_EARLY
399         default 15
400         help
401           Sets the maximum call depth up to which function calls are recorded
402           during early tracing.
403
404 config TRACE_EARLY_ADDR
405         hex "Address of early trace buffer in U-Boot"
406         depends on TRACE_EARLY
407         default 0x00200000
408         help
409           Sets the address of the early trace buffer in U-Boot. This memory
410           must be accessible before relocation.
411
412           A trace record is emitted for each function call and each record is
413           12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
414           the size is too small then the message which says the amount of early
415           data being coped will the the same as the
416
417 config CIRCBUF
418         bool "Enable circular buffer support"
419
420 source "lib/dhry/Kconfig"
421
422 menu "Security support"
423
424 config AES
425         bool "Support the AES algorithm"
426         help
427           This provides a means to encrypt and decrypt data using the AES
428           (Advanced Encryption Standard). This algorithm uses a symetric key
429           and is widely used as a streaming cipher. Different key lengths are
430           supported by the algorithm but only a 128-bit key is supported at
431           present.
432
433 source "lib/ecdsa/Kconfig"
434 source "lib/rsa/Kconfig"
435 source "lib/crypto/Kconfig"
436 source "lib/crypt/Kconfig"
437
438 config TPM
439         bool "Trusted Platform Module (TPM) Support"
440         depends on DM
441         imply DM_RNG
442         select SHA1
443         help
444           This enables support for TPMs which can be used to provide security
445           features for your board. The TPM can be connected via LPC or I2C
446           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
447           command to interactive the TPM. Driver model support is provided
448           for the low-level TPM interface, but only one TPM is supported at
449           a time by the TPM library.
450           For size reasons only SHA1 is selected which is supported on TPM1.2.
451           If you want a fully functional TPM enable all hashing algorithms.
452           If you enabled measured boot all hashing algorithms are selected.
453
454 config SPL_TPM
455         bool "Trusted Platform Module (TPM) Support in SPL"
456         depends on SPL_DM
457         imply SPL_CRC8
458         help
459           This enables support for TPMs which can be used to provide security
460           features for your board. The TPM can be connected via LPC or I2C
461           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
462           command to interactive the TPM. Driver model support is provided
463           for the low-level TPM interface, but only one TPM is supported at
464           a time by the TPM library.
465
466 config TPL_TPM
467         bool "Trusted Platform Module (TPM) Support in TPL"
468         depends on TPL_DM
469         help
470           This enables support for TPMs which can be used to provide security
471           features for your board. The TPM can be connected via LPC or I2C
472           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
473           command to interactive the TPM. Driver model support is provided
474           for the low-level TPM interface, but only one TPM is supported at
475           a time by the TPM library.
476
477 config VPL_TPM
478         bool "Trusted Platform Module (TPM) Support in VPL"
479         depends on VPL_DM
480         help
481           This enables support for TPMs which can be used to provide security
482           features for your board. The TPM can be connected via LPC or I2C
483           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
484           command to interactive the TPM. Driver model support is provided
485           for the low-level TPM interface, but only one TPM is supported at
486           a time by the TPM library.
487
488 endmenu
489
490 menu "Android Verified Boot"
491
492 config LIBAVB
493         bool "Android Verified Boot 2.0 support"
494         depends on ANDROID_BOOT_IMAGE
495         help
496           This enables support of Android Verified Boot 2.0 which can be used
497           to assure the end user of the integrity of the software running on a
498           device. Introduces such features as boot chain of trust, rollback
499           protection etc.
500
501 endmenu
502
503 menu "Hashing Support"
504
505 config BLAKE2
506         bool "Enable BLAKE2 support"
507         help
508           This option enables support of hashing using BLAKE2B algorithm.
509           The hash is calculated in software.
510           The BLAKE2 algorithm produces a hash value (digest) between 1 and
511           64 bytes.
512
513 config SHA1
514         bool "Enable SHA1 support"
515         help
516           This option enables support of hashing using SHA1 algorithm.
517           The hash is calculated in software.
518           The SHA1 algorithm produces a 160-bit (20-byte) hash value
519           (digest).
520
521 config SHA256
522         bool "Enable SHA256 support"
523         help
524           This option enables support of hashing using SHA256 algorithm.
525           The hash is calculated in software.
526           The SHA256 algorithm produces a 256-bit (32-byte) hash value
527           (digest).
528
529 config SHA512
530         bool "Enable SHA512 support"
531         default y if TI_SECURE_DEVICE && FIT_SIGNATURE
532         help
533           This option enables support of hashing using SHA512 algorithm.
534           The hash is calculated in software.
535           The SHA512 algorithm produces a 512-bit (64-byte) hash value
536           (digest).
537
538 config SHA384
539         bool "Enable SHA384 support"
540         select SHA512
541         help
542           This option enables support of hashing using SHA384 algorithm.
543           The hash is calculated in software. This is also selects SHA512,
544           because these implementations share the bulk of the code..
545           The SHA384 algorithm produces a 384-bit (48-byte) hash value
546           (digest).
547
548 config SHA_HW_ACCEL
549         bool "Enable hardware acceleration for SHA hash functions"
550         help
551           This option enables hardware acceleration for the SHA1 and SHA256
552           hashing algorithms. This affects the 'hash' command and also the
553           hash_lookup_algo() function.
554
555 if SPL
556
557 config SPL_CRC32
558         bool "Enable CRC32 support in SPL"
559         default y if SPL_LEGACY_IMAGE_SUPPORT || SPL_EFI_PARTITION
560         default y if SPL_ENV_SUPPORT || TPL_BLOBLIST
561         help
562           This option enables support of hashing using CRC32 algorithm.
563           The CRC32 algorithm produces 32-bit checksum value. For FIT
564           images, this is the least secure type of checksum, suitable for
565           detected accidental image corruption. For secure applications you
566           should consider SHA256 or SHA384.
567
568 config SPL_SHA1
569         bool "Enable SHA1 support in SPL"
570         default y if SHA1
571         help
572           This option enables support of hashing using SHA1 algorithm.
573           The hash is calculated in software.
574           The SHA1 algorithm produces a 160-bit (20-byte) hash value
575           (digest).
576
577 config SPL_SHA256
578         bool "Enable SHA256 support in SPL"
579         default y if SHA256
580         help
581           This option enables support of hashing using SHA256 algorithm.
582           The hash is calculated in software.
583           The SHA256 algorithm produces a 256-bit (32-byte) hash value
584           (digest).
585
586 config SPL_SHA512
587         bool "Enable SHA512 support in SPL"
588         default y if SHA512
589         help
590           This option enables support of hashing using SHA512 algorithm.
591           The hash is calculated in software.
592           The SHA512 algorithm produces a 512-bit (64-byte) hash value
593           (digest).
594
595 config SPL_SHA384
596         bool "Enable SHA384 support in SPL"
597         default y if SHA384
598         select SPL_SHA512
599         help
600           This option enables support of hashing using SHA384 algorithm.
601           The hash is calculated in software. This is also selects SHA512,
602           because these implementations share the bulk of the code..
603           The SHA384 algorithm produces a 384-bit (48-byte) hash value
604           (digest).
605
606 config SPL_SHA_HW_ACCEL
607         bool "Enable hardware acceleration for SHA hash functions"
608         default y if SHA_HW_ACCEL
609         help
610           This option enables hardware acceleration for the SHA1 and SHA256
611           hashing algorithms. This affects the 'hash' command and also the
612           hash_lookup_algo() function.
613
614 config SPL_SHA_PROG_HW_ACCEL
615         bool "Enable Progressive hashing support using hardware in SPL"
616         depends on SHA_PROG_HW_ACCEL
617         default y
618         help
619           This option enables hardware-acceleration for SHA progressive
620           hashing.
621           Data can be streamed in a block at a time and the hashing is
622           performed in hardware.
623
624 endif
625
626 config VPL_SHA1
627         bool "Enable SHA1 support in VPL"
628         depends on VPL
629         default y if SHA1
630         help
631           This option enables support of hashing using SHA1 algorithm.
632           The hash is calculated in software.
633           The SHA1 algorithm produces a 160-bit (20-byte) hash value
634           (digest).
635
636 config VPL_SHA256
637         bool "Enable SHA256 support in VPL"
638         depends on VPL
639         default y if SHA256
640         help
641           This option enables support of hashing using SHA256 algorithm.
642           The hash is calculated in software.
643           The SHA256 algorithm produces a 256-bit (32-byte) hash value
644           (digest).
645
646 if SHA_HW_ACCEL
647
648 config SHA512_HW_ACCEL
649         bool "Enable hardware acceleration for SHA512"
650         depends on SHA512
651         help
652           This option enables hardware acceleration for the SHA384 and SHA512
653           hashing algorithms. This affects the 'hash' command and also the
654           hash_lookup_algo() function.
655
656 config SHA_PROG_HW_ACCEL
657         bool "Enable Progressive hashing support using hardware"
658         help
659           This option enables hardware-acceleration for SHA progressive
660           hashing.
661           Data can be streamed in a block at a time and the hashing is
662           performed in hardware.
663
664 endif
665
666 config MD5
667         bool "Support MD5 algorithm"
668         help
669           This option enables MD5 support. MD5 is an algorithm designed
670           in 1991 that produces a 16-byte digest (or checksum) from its input
671           data. It has a number of vulnerabilities which preclude its use in
672           security applications, but it can be useful for providing a quick
673           checksum of a block of data.
674
675 config SPL_MD5
676         bool "Support MD5 algorithm in SPL"
677         depends on SPL
678         help
679           This option enables MD5 support in SPL. MD5 is an algorithm designed
680           in 1991 that produces a 16-byte digest (or checksum) from its input
681           data. It has a number of vulnerabilities which preclude its use in
682           security applications, but it can be useful for providing a quick
683           checksum of a block of data.
684
685 config CRC8
686         def_bool y
687         help
688           Enables CRC8 support in U-Boot. This is normally required. CRC8 is
689           a simple and fast checksumming algorithm which does a bytewise
690           checksum with feedback to produce an 8-bit result. The code is small
691           and it does not require a lookup table (unlike CRC32).
692
693 config SPL_CRC8
694         bool "Support CRC8 in SPL"
695         depends on SPL
696         help
697           Enables CRC8 support in SPL. This is not normally required. CRC8 is
698           a simple and fast checksumming algorithm which does a bytewise
699           checksum with feedback to produce an 8-bit result. The code is small
700           and it does not require a lookup table (unlike CRC32).
701
702 config SPL_CRC16
703         bool "Support CRC16 in SPL"
704         depends on SPL
705         help
706           Enables CRC16 support in SPL. This is not normally required.
707
708 config CRC32
709         def_bool y
710         help
711           Enables CRC32 support in U-Boot. This is normally required.
712
713 config CRC32C
714         bool
715
716 config XXHASH
717         bool
718
719 endmenu
720
721 menu "Compression Support"
722
723 config LZ4
724         bool "Enable LZ4 decompression support"
725         help
726           If this option is set, support for LZ4 compressed images
727           is included. The LZ4 algorithm can run in-place as long as the
728           compressed image is loaded to the end of the output buffer, and
729           trades lower compression ratios for much faster decompression.
730
731           NOTE: This implements the release version of the LZ4 frame
732           format as generated by default by the 'lz4' command line tool.
733           This is not the same as the outdated, less efficient legacy
734           frame format currently (2015) implemented in the Linux kernel
735           (generated by 'lz4 -l'). The two formats are incompatible.
736
737 config LZMA
738         bool "Enable LZMA decompression support"
739         help
740           This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
741           a dictionary compression algorithm that provides a high compression
742           ratio and fairly fast decompression speed. See also
743           CONFIG_CMD_LZMADEC which provides a decode command.
744
745 config LZO
746         bool "Enable LZO decompression support"
747         help
748           This enables support for the LZO compression algorithm.
749
750 config GZIP
751         bool "Enable gzip decompression support"
752         select ZLIB
753         default y
754         help
755           This enables support for GZIP compression algorithm.
756
757 config ZLIB_UNCOMPRESS
758         bool "Enables zlib's uncompress() functionality"
759         help
760           This enables an extra zlib functionality: the uncompress() function,
761           which decompresses data from a buffer into another, knowing their
762           sizes. Unlike gunzip(), there is no header parsing.
763
764 config GZIP_COMPRESSED
765         bool
766         select ZLIB
767
768 config BZIP2
769         bool "Enable bzip2 decompression support"
770         help
771           This enables support for BZIP2 compression algorithm.
772
773 config ZLIB
774         bool
775         default y
776         help
777           This enables ZLIB compression lib.
778
779 config ZSTD
780         bool "Enable Zstandard decompression support"
781         select XXHASH
782         help
783           This enables Zstandard decompression library.
784
785 if ZSTD
786
787 config ZSTD_LIB_MINIFY
788         bool "Minify Zstandard code"
789         default y
790         help
791           This disables various optional components and changes the
792           compilation flags to prioritize space-saving.
793
794           For detailed info, see zstd's lib/README.md
795
796           https://github.com/facebook/zstd/blob/dev/lib/README.md
797
798 endif
799
800 config SPL_BZIP2
801         bool "Enable bzip2 decompression support for SPL build"
802         depends on SPL
803         help
804           This enables support for bzip2 compression algorithm for SPL boot.
805
806 config SPL_LZ4
807         bool "Enable LZ4 decompression support in SPL"
808         depends on SPL
809         help
810           This enables support for the LZ4 decompression algorithm in SPL. LZ4
811           is a lossless data compression algorithm that is focused on
812           fast compression and decompression speed. It belongs to the LZ77
813           family of byte-oriented compression schemes.
814
815 config SPL_LZMA
816         bool "Enable LZMA decompression support for SPL build"
817         depends on SPL
818         help
819           This enables support for LZMA compression algorithm for SPL boot.
820
821 config VPL_LZMA
822         bool "Enable LZMA decompression support for VPL build"
823         default y if LZMA
824         help
825           This enables support for LZMA compression algorithm for VPL boot.
826
827 config SPL_LZO
828         bool "Enable LZO decompression support in SPL"
829         depends on SPL
830         help
831           This enables support for LZO compression algorithm in the SPL.
832
833 config SPL_GZIP
834         bool "Enable gzip decompression support for SPL build"
835         select SPL_ZLIB
836         help
837           This enables support for the GZIP compression algorithm for SPL boot.
838
839 config SPL_ZLIB
840         bool
841         help
842           This enables compression lib for SPL boot.
843
844 config SPL_ZSTD
845         bool "Enable Zstandard decompression support in SPL"
846         depends on SPL
847         select XXHASH
848         help
849           This enables Zstandard decompression library in the SPL.
850
851 endmenu
852
853 config ERRNO_STR
854         bool "Enable function for getting errno-related string message"
855         help
856           The function errno_str(int errno), returns a pointer to the errno
857           corresponding text message:
858           - if errno is null or positive number - a pointer to "Success" message
859           - if errno is negative - a pointer to errno related message
860
861 config HEXDUMP
862         bool "Enable hexdump"
863         help
864           This enables functions for printing dumps of binary data.
865
866 config SPL_HEXDUMP
867         bool "Enable hexdump in SPL"
868         depends on SPL && HEXDUMP
869         help
870           This enables functions for printing dumps of binary data in
871           SPL.
872
873 config GETOPT
874         bool "Enable getopt"
875         help
876           This enables functions for parsing command-line options.
877
878 config OF_LIBFDT
879         bool "Enable the FDT library"
880         default y if OF_CONTROL
881         help
882           This enables the FDT library (libfdt). It provides functions for
883           accessing binary device tree images in memory, such as adding and
884           removing nodes and properties, scanning through the tree and finding
885           particular compatible nodes. The library operates on a flattened
886           version of the device tree.
887
888 config OF_LIBFDT_ASSUME_MASK
889         hex "Mask of conditions to assume for libfdt"
890         depends on OF_LIBFDT || FIT
891         default 0x0
892         help
893           Use this to change the assumptions made by libfdt about the
894           device tree it is working with. A value of 0 means that no assumptions
895           are made, and libfdt is able to deal with malicious data. A value of
896           0xff means all assumptions are made and any invalid data may cause
897           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
898
899 config OF_LIBFDT_OVERLAY
900         bool "Enable the FDT library overlay support"
901         depends on OF_LIBFDT
902         default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
903         help
904           This enables the FDT library (libfdt) overlay support.
905
906 config SYS_FDT_PAD
907         hex "Maximum size of the FDT memory area passeed to the OS"
908         depends on OF_LIBFDT
909         default 0x13000 if FMAN_ENET || QE || U_QE
910         default 0x3000
911         help
912           During OS boot, we allocate a region of memory within the bootmap
913           for the FDT. This is the size that we will expand the FDT that we
914           are using will be extended to be, in bytes.
915
916 config SPL_OF_LIBFDT
917         bool "Enable the FDT library for SPL"
918         depends on SPL_LIBGENERIC_SUPPORT
919         default y if SPL_OF_CONTROL
920         help
921           This enables the FDT library (libfdt). It provides functions for
922           accessing binary device tree images in memory, such as adding and
923           removing nodes and properties, scanning through the tree and finding
924           particular compatible nodes. The library operates on a flattened
925           version of the device tree.
926
927 config SPL_OF_LIBFDT_ASSUME_MASK
928         hex "Mask of conditions to assume for libfdt"
929         depends on SPL_OF_LIBFDT || (FIT && SPL)
930         default 0xff
931         help
932           Use this to change the assumptions made by libfdt in SPL about the
933           device tree it is working with. A value of 0 means that no assumptions
934           are made, and libfdt is able to deal with malicious data. A value of
935           0xff means all assumptions are made and any invalid data may cause
936           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
937
938 config TPL_OF_LIBFDT
939         bool "Enable the FDT library for TPL"
940         depends on TPL_LIBGENERIC_SUPPORT
941         default y if TPL_OF_CONTROL
942         help
943           This enables the FDT library (libfdt). It provides functions for
944           accessing binary device tree images in memory, such as adding and
945           removing nodes and properties, scanning through the tree and finding
946           particular compatible nodes. The library operates on a flattened
947           version of the device tree.
948
949 config TPL_OF_LIBFDT_ASSUME_MASK
950         hex "Mask of conditions to assume for libfdt"
951         depends on TPL_OF_LIBFDT || (FIT && TPL)
952         default 0xff
953         help
954           Use this to change the assumptions made by libfdt in TPL about the
955           device tree it is working with. A value of 0 means that no assumptions
956           are made, and libfdt is able to deal with malicious data. A value of
957           0xff means all assumptions are made and any invalid data may cause
958           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
959
960 config VPL_OF_LIBFDT
961         bool "Enable the FDT library for VPL"
962         depends on VPL
963         default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
964         help
965           This enables the FDT library (libfdt). It provides functions for
966           accessing binary device tree images in memory, such as adding and
967           removing nodes and properties, scanning through the tree and finding
968           particular compatible nodes. The library operates on a flattened
969           version of the device tree.
970
971 config VPL_OF_LIBFDT_ASSUME_MASK
972         hex "Mask of conditions to assume for libfdt"
973         depends on VPL_OF_LIBFDT || (FIT && VPL)
974         default 0xff
975         help
976           Use this to change the assumptions made by libfdt in SPL about the
977           device tree it is working with. A value of 0 means that no assumptions
978           are made, and libfdt is able to deal with malicious data. A value of
979           0xff means all assumptions are made and any invalid data may cause
980           unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
981
982 menu "System tables"
983         depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
984
985 config BLOBLIST_TABLES
986         bool "Put tables in a bloblist"
987         depends on X86 && BLOBLIST
988         help
989           Normally tables are placed at address 0xf0000 and can be up to 64KB
990           long. With this option, tables are instead placed in the bloblist
991           with a pointer from 0xf0000. The size can then be larger and the
992           tables can be placed high in memory.
993
994 config GENERATE_SMBIOS_TABLE
995         bool "Generate an SMBIOS (System Management BIOS) table"
996         depends on SMBIOS
997         default y
998         help
999           The System Management BIOS (SMBIOS) specification addresses how
1000           motherboard and system vendors present management information about
1001           their products in a standard format by extending the BIOS interface
1002           on Intel architecture systems.
1003
1004           Check http://www.dmtf.org/standards/smbios for details.
1005
1006           See also SYSINFO_SMBIOS which allows SMBIOS values to be provided in
1007           the devicetree.
1008
1009 endmenu
1010
1011 config LIB_RATIONAL
1012         bool "enable continued fraction calculation routines"
1013
1014 config SPL_LIB_RATIONAL
1015         bool "enable continued fraction calculation routines for SPL"
1016         depends on SPL
1017
1018 config ASN1_COMPILER
1019         bool
1020         help
1021           ASN.1 (Abstract Syntax Notation One) is a standard interface
1022           description language for defining data structures that can be
1023           serialized and deserialized in a cross-platform way. It is
1024           broadly used in telecommunications and computer networking,
1025           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
1026           This option enables the support of the asn1 compiler.
1027
1028 config ASN1_DECODER
1029         bool
1030         help
1031           ASN.1 (Abstract Syntax Notation One) is a standard interface
1032           description language for defining data structures that can be
1033           serialized and deserialized in a cross-platform way. It is
1034           broadly used in telecommunications and computer networking,
1035           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
1036           This option enables the support of the asn1 decoder.
1037
1038 config SPL_ASN1_DECODER
1039         bool
1040         help
1041           ASN.1 (Abstract Syntax Notation One) is a standard interface
1042           description language for defining data structures that can be
1043           serialized and deserialized in a cross-platform way. It is
1044           broadly used in telecommunications and computer networking,
1045           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
1046           This option enables the support of the asn1 decoder in the SPL.
1047
1048 config OID_REGISTRY
1049         bool
1050         help
1051           In computing, object identifiers or OIDs are an identifier mechanism
1052           standardized by the International Telecommunication Union (ITU) and
1053           ISO/IEC for naming any object, concept, or "thing" with a globally
1054           unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
1055           Enable fast lookup object identifier registry.
1056
1057 config SPL_OID_REGISTRY
1058         bool
1059         help
1060           In computing, object identifiers or OIDs are an identifier mechanism
1061           standardized by the International Telecommunication Union (ITU) and
1062           ISO/IEC for naming any object, concept, or "thing" with a globally
1063           unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
1064           Enable fast lookup object identifier registry in the SPL.
1065
1066 config SMBIOS
1067         bool "SMBIOS support"
1068         depends on X86 || EFI_LOADER
1069         default y
1070         select LAST_STAGE_INIT
1071         help
1072           Indicates that this platform can support System Management BIOS
1073           (SMBIOS) tables. These provide various pieces of information about
1074           the board, such as the manufacturer and the model name.
1075
1076           See GENERATE_SMBIOS_TABLE which controls whether U-Boot actually
1077           creates these tables, rather than them coming from a previous firmware
1078           stage.
1079
1080 config SMBIOS_PARSER
1081         bool "SMBIOS parser"
1082         help
1083           A simple parser for SMBIOS data.
1084
1085 source "lib/optee/Kconfig"
1086
1087 config TEST_FDTDEC
1088         bool "enable fdtdec test"
1089         depends on OF_LIBFDT
1090
1091 config LIB_DATE
1092         bool
1093
1094 config LIB_ELF
1095         bool
1096         help
1097           Support basic elf loading/validating functions.
1098           This supports for 32 bit and 64 bit versions.
1099
1100 config LMB
1101         bool "Enable the logical memory blocks library (lmb)"
1102         default y if ARC || ARM || M68K || MICROBLAZE || MIPS || \
1103                      NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
1104         select ARCH_MISC_INIT if PPC
1105         help
1106           Support the library logical memory blocks. This will require
1107           a malloc() implementation for defining the data structures
1108           needed for maintaining the LMB memory map.
1109
1110 config SPL_LMB
1111         bool "Enable LMB module for SPL"
1112         depends on SPL && SPL_FRAMEWORK && SPL_SYS_MALLOC
1113         help
1114           Enable support for Logical Memory Block library routines in
1115           SPL. This will require a malloc() implementation for defining
1116           the data structures needed for maintaining the LMB memory map.
1117
1118 config PHANDLE_CHECK_SEQ
1119         bool "Enable phandle check while getting sequence number"
1120         help
1121           When there are multiple device tree nodes with same name,
1122           enable this config option to distinguish them using
1123           phandles in fdtdec_get_alias_seq() function.
1124
1125 endmenu
1126
1127 source "lib/fwu_updates/Kconfig"
This page took 0.107026 seconds and 4 git commands to generate.