1 menu "Library routines"
4 bool "Enable support for non-identity virtual-physical mappings"
6 Enables helper code for implementing non-identity virtual-physical
7 memory mappings for 32bit CPUs.
9 This library only works in the post-relocation phase.
11 config SYS_NUM_ADDR_MAP
12 int "Size of the address-map table"
16 Sets the number of entries in the virtual-physical mapping table.
18 config SYS_TIMER_COUNTS_DOWN
19 bool "System timer counts down rathe than up"
22 bool "Access to physical memory region (> 4G)"
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
32 bool "Enable Software based BCH ECC"
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.
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
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
48 config CC_OPTIMIZE_LIBS_FOR_SPEED
49 bool "Optimize libraries for speed"
51 Enabling this option will pass "-O2" to gcc when compiling
52 under "lib" directory.
59 config DYNAMIC_CRC_TABLE
60 bool "Enable Dynamic tables for CRC"
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
65 config HAVE_ARCH_IOMAP
68 Enable this option if architecture provides io{read,write}{8,16,32}
69 I/O accessor functions.
71 config HAVE_PRIVATE_LIBGCC
78 bool "Support semihosting"
79 depends on ARM || RISCV
81 Semihosting is a method for a target to communicate with a host
82 debugger. It uses special instructions which the debugger will trap
83 on and interpret. This allows U-Boot to read/write files, print to
84 the console, and execute arbitrary commands on the host system.
86 Enabling this option will add support for reading and writing files
87 on the host system. If you don't have a debugger attached then trying
88 to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
90 config SEMIHOSTING_FALLBACK
91 bool "Recover gracefully when semihosting fails"
92 depends on SEMIHOSTING && (ARM64 || RISCV)
95 Normally, if U-Boot makes a semihosting call and no debugger is
96 attached, then it will panic due to a synchronous abort
97 exception. This config adds an exception handler which will allow
98 U-Boot to recover. Say 'y' if unsure.
100 config SPL_SEMIHOSTING
101 bool "Support semihosting in SPL"
102 depends on SPL && (ARM || RISCV)
104 Semihosting is a method for a target to communicate with a host
105 debugger. It uses special instructions which the debugger will trap
106 on and interpret. This allows U-Boot to read/write files, print to
107 the console, and execute arbitrary commands on the host system.
109 Enabling this option will add support for reading and writing files
110 on the host system. If you don't have a debugger attached then trying
111 to do this will likely cause U-Boot to hang. Say 'n' if you are unsure.
113 config SPL_SEMIHOSTING_FALLBACK
114 bool "Recover gracefully when semihosting fails in SPL"
115 depends on SPL_SEMIHOSTING && (ARM64 || RISCV)
116 select ARMV8_SPL_EXCEPTION_VECTORS if ARM64
119 Normally, if U-Boot makes a semihosting call and no debugger is
120 attached, then it will panic due to a synchronous abort
121 exception. This config adds an exception handler which will allow
122 U-Boot to recover. Say 'y' if unsure.
131 select SPL_STRTO if !SPL_USE_TINY_PRINTF
136 select TPL_STRTO if !TPL_USE_TINY_PRINTF
141 select VPL_STRTO if !VPL_USE_TINY_PRINTF
175 config IMAGE_SPARSE_FILLBUF_SIZE
176 hex "Android sparse image CHUNK_TYPE_FILL buffer size"
178 depends on IMAGE_SPARSE
180 Set the size of the fill buffer used when processing CHUNK_TYPE_FILL
183 config USE_PRIVATE_LIBGCC
184 bool "Use private libgcc"
185 depends on HAVE_PRIVATE_LIBGCC
186 default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
188 This option allows you to use the built-in libgcc implementation
189 of U-Boot instead of the one provided by the compiler.
196 The frequency of the timer returned by get_timer().
197 get_timer() must operate in milliseconds and this option must be
200 config SPL_USE_TINY_PRINTF
201 bool "Enable tiny printf() version in SPL"
205 This option enables a tiny, stripped down printf version.
206 This should only be used in space limited environments,
207 like SPL versions with hard memory limits. This version
208 reduces the code size by about 2.5KiB on armv7.
210 The supported format specifiers are %c, %s, %u/%d and %x.
212 config TPL_USE_TINY_PRINTF
213 bool "Enable tiny printf() version in TPL"
215 default y if SPL_USE_TINY_PRINTF
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.
222 The supported format specifiers are %c, %s, %u/%d and %x.
224 config VPL_USE_TINY_PRINTF
225 bool "Enable tiny printf() version for VPL"
228 This option enables a tiny, stripped down printf version.
229 This should only be used in space limited environments,
230 like SPL versions with hard memory limits. This version
231 reduces the code size by about 2.5KiB on armv7.
233 The supported format specifiers are %c, %s, %u/%d and %x.
236 bool "Do not reset the system on fatal error"
238 Define this option to stop the system in case of a fatal error,
239 so that you have to reset it manually. This is probably NOT a good
240 idea for an embedded system where you want the system to reboot
241 automatically as fast as possible, but it may be useful during
242 development since you can try to debug the conditions that lead to
246 bool "Enable regular expression support"
249 If this variable is defined, U-Boot is linked against the
250 SLRE (Super Light Regular Expression) library, which adds
251 regex support to some commands, for example "env grep" and
255 prompt "Pseudo-random library support type"
256 depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \
257 RNG_SANDBOX || UT_LIB && AES || FAT_WRITE
260 Select the library to provide pseudo-random number generator
261 functions. LIB_HW_RAND supports certain hardware engines that
262 provide this functionality. If in doubt, select LIB_RAND.
265 bool "Pseudo-random library support"
268 bool "HW Engine for random library support"
275 Enable this if your arch or board can support generating ACPI
276 (Advanced Configuration and Power Interface) tables. In this case
277 U-Boot can generate these tables and pass them to the Operating
280 config GENERATE_ACPI_TABLE
281 bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
282 depends on SUPPORT_ACPI
285 The Advanced Configuration and Power Interface (ACPI) specification
286 provides an open standard for device configuration and management
287 by the operating system. It defines platform-independent interfaces
288 for configuration and power management monitoring.
290 config SPL_TINY_MEMSET
291 bool "Use a very small memset() in SPL"
294 The faster memset() is the arch-specific one (if available) enabled
295 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
296 better performance by writing a word at a time. But in very
297 size-constrained environments even this may be too big. Enable this
298 option to reduce code size slightly at the cost of some speed.
300 config TPL_TINY_MEMSET
301 bool "Use a very small memset() in TPL"
304 The faster memset() is the arch-specific one (if available) enabled
305 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
306 better performance by writing a word at a time. But in very
307 size-constrained environments even this may be too big. Enable this
308 option to reduce code size slightly at the cost of some speed.
314 bool "Bit reverse library from Linux"
317 bool "Support for tracing of function calls and timing"
321 Enables function tracing within U-Boot. This allows recording of call
322 traces including timing information. The command can write data to
323 memory for exporting for analysis (e.g. using bootchart).
324 See doc/README.trace for full details.
326 config TRACE_BUFFER_SIZE
327 hex "Size of trace buffer in U-Boot"
331 Sets the size of the trace buffer in U-Boot. This is allocated from
332 memory during relocation. If this buffer is too small, the trace
333 history will be truncated, with later records omitted.
335 If early trace is enabled (i.e. before relocation), this buffer must
336 be large enough to include all the data from the early trace buffer as
337 well, since this is copied over to the main buffer during relocation.
339 A trace record is emitted for each function call and each record is
340 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
341 the size is too small then 'trace stats' will show a message saying
342 how many records were dropped due to buffer overflow.
344 config TRACE_CALL_DEPTH_LIMIT
345 int "Trace call depth limit"
349 Sets the maximum call depth up to which function calls are recorded.
352 bool "Enable tracing before relocation"
355 Sometimes it is helpful to trace execution of U-Boot before
356 relocation. This is possible by using a arch-specific, fixed buffer
357 position in memory. Enable this option to start tracing as early as
358 possible after U-Boot starts.
360 config TRACE_EARLY_SIZE
361 hex "Size of early trace buffer in U-Boot"
362 depends on TRACE_EARLY
365 Sets the size of the early trace buffer in bytes. This is used to hold
366 tracing information before relocation.
368 config TRACE_EARLY_CALL_DEPTH_LIMIT
369 int "Early trace call depth limit"
370 depends on TRACE_EARLY
373 Sets the maximum call depth up to which function calls are recorded
374 during early tracing.
376 config TRACE_EARLY_ADDR
377 hex "Address of early trace buffer in U-Boot"
378 depends on TRACE_EARLY
381 Sets the address of the early trace buffer in U-Boot. This memory
382 must be accessible before relocation.
384 A trace record is emitted for each function call and each record is
385 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
386 the size is too small then the message which says the amount of early
387 data being coped will the the same as the
390 bool "Enable circular buffer support"
392 source lib/dhry/Kconfig
394 menu "Security support"
397 bool "Support the AES algorithm"
399 This provides a means to encrypt and decrypt data using the AES
400 (Advanced Encryption Standard). This algorithm uses a symetric key
401 and is widely used as a streaming cipher. Different key lengths are
402 supported by the algorithm but only a 128-bit key is supported at
405 source lib/ecdsa/Kconfig
406 source lib/rsa/Kconfig
407 source lib/crypto/Kconfig
408 source lib/crypt/Kconfig
411 bool "Trusted Platform Module (TPM) Support"
415 This enables support for TPMs which can be used to provide security
416 features for your board. The TPM can be connected via LPC or I2C
417 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
418 command to interactive the TPM. Driver model support is provided
419 for the low-level TPM interface, but only one TPM is supported at
420 a time by the TPM library.
423 bool "Trusted Platform Module (TPM) Support in SPL"
426 This enables support for TPMs which can be used to provide security
427 features for your board. The TPM can be connected via LPC or I2C
428 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
429 command to interactive the TPM. Driver model support is provided
430 for the low-level TPM interface, but only one TPM is supported at
431 a time by the TPM library.
434 bool "Trusted Platform Module (TPM) Support in TPL"
437 This enables support for TPMs which can be used to provide security
438 features for your board. The TPM can be connected via LPC or I2C
439 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
440 command to interactive the TPM. Driver model support is provided
441 for the low-level TPM interface, but only one TPM is supported at
442 a time by the TPM library.
445 bool "Trusted Platform Module (TPM) Support in VPL"
448 This enables support for TPMs which can be used to provide security
449 features for your board. The TPM can be connected via LPC or I2C
450 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
451 command to interactive the TPM. Driver model support is provided
452 for the low-level TPM interface, but only one TPM is supported at
453 a time by the TPM library.
457 menu "Android Verified Boot"
460 bool "Android Verified Boot 2.0 support"
461 depends on ANDROID_BOOT_IMAGE
463 This enables support of Android Verified Boot 2.0 which can be used
464 to assure the end user of the integrity of the software running on a
465 device. Introduces such features as boot chain of trust, rollback
470 menu "Hashing Support"
473 bool "Enable BLAKE2 support"
475 This option enables support of hashing using BLAKE2B algorithm.
476 The hash is calculated in software.
477 The BLAKE2 algorithm produces a hash value (digest) between 1 and
481 bool "Enable SHA1 support"
483 This option enables support of hashing using SHA1 algorithm.
484 The hash is calculated in software.
485 The SHA1 algorithm produces a 160-bit (20-byte) hash value
489 bool "Enable SHA256 support"
491 This option enables support of hashing using SHA256 algorithm.
492 The hash is calculated in software.
493 The SHA256 algorithm produces a 256-bit (32-byte) hash value
497 bool "Enable SHA512 support"
499 This option enables support of hashing using SHA512 algorithm.
500 The hash is calculated in software.
501 The SHA512 algorithm produces a 512-bit (64-byte) hash value
505 bool "Enable SHA384 support"
508 This option enables support of hashing using SHA384 algorithm.
509 The hash is calculated in software. This is also selects SHA512,
510 because these implementations share the bulk of the code..
511 The SHA384 algorithm produces a 384-bit (48-byte) hash value
515 bool "Enable hardware acceleration for SHA hash functions"
517 This option enables hardware acceleration for the SHA1 and SHA256
518 hashing algorithms. This affects the 'hash' command and also the
519 hash_lookup_algo() function.
524 bool "Enable SHA1 support in SPL"
527 This option enables support of hashing using SHA1 algorithm.
528 The hash is calculated in software.
529 The SHA1 algorithm produces a 160-bit (20-byte) hash value
533 bool "Enable SHA256 support in SPL"
536 This option enables support of hashing using SHA256 algorithm.
537 The hash is calculated in software.
538 The SHA256 algorithm produces a 256-bit (32-byte) hash value
542 bool "Enable SHA512 support in SPL"
545 This option enables support of hashing using SHA512 algorithm.
546 The hash is calculated in software.
547 The SHA512 algorithm produces a 512-bit (64-byte) hash value
551 bool "Enable SHA384 support in SPL"
555 This option enables support of hashing using SHA384 algorithm.
556 The hash is calculated in software. This is also selects SHA512,
557 because these implementations share the bulk of the code..
558 The SHA384 algorithm produces a 384-bit (48-byte) hash value
561 config SPL_SHA_HW_ACCEL
562 bool "Enable hardware acceleration for SHA hash functions"
563 default y if SHA_HW_ACCEL
565 This option enables hardware acceleration for the SHA1 and SHA256
566 hashing algorithms. This affects the 'hash' command and also the
567 hash_lookup_algo() function.
569 config SPL_SHA_PROG_HW_ACCEL
570 bool "Enable Progressive hashing support using hardware in SPL"
571 depends on SHA_PROG_HW_ACCEL
574 This option enables hardware-acceleration for SHA progressive
576 Data can be streamed in a block at a time and the hashing is
577 performed in hardware.
583 config SHA512_HW_ACCEL
584 bool "Enable hardware acceleration for SHA512"
587 This option enables hardware acceleration for the SHA384 and SHA512
588 hashing algorithms. This affects the 'hash' command and also the
589 hash_lookup_algo() function.
591 config SHA_PROG_HW_ACCEL
592 bool "Enable Progressive hashing support using hardware"
594 This option enables hardware-acceleration for SHA progressive
596 Data can be streamed in a block at a time and the hashing is
597 performed in hardware.
602 bool "Support MD5 algorithm"
604 This option enables MD5 support. MD5 is an algorithm designed
605 in 1991 that produces a 16-byte digest (or checksum) from its input
606 data. It has a number of vulnerabilities which preclude its use in
607 security applications, but it can be useful for providing a quick
608 checksum of a block of data.
611 bool "Support MD5 algorithm in SPL"
614 This option enables MD5 support in SPL. MD5 is an algorithm designed
615 in 1991 that produces a 16-byte digest (or checksum) from its input
616 data. It has a number of vulnerabilities which preclude its use in
617 security applications, but it can be useful for providing a quick
618 checksum of a block of data.
623 Enables CRC32 support in U-Boot. This is normally required.
633 menu "Compression Support"
636 bool "Enable LZ4 decompression support"
638 If this option is set, support for LZ4 compressed images
639 is included. The LZ4 algorithm can run in-place as long as the
640 compressed image is loaded to the end of the output buffer, and
641 trades lower compression ratios for much faster decompression.
643 NOTE: This implements the release version of the LZ4 frame
644 format as generated by default by the 'lz4' command line tool.
645 This is not the same as the outdated, less efficient legacy
646 frame format currently (2015) implemented in the Linux kernel
647 (generated by 'lz4 -l'). The two formats are incompatible.
650 bool "Enable LZMA decompression support"
652 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
653 a dictionary compression algorithm that provides a high compression
654 ratio and fairly fast decompression speed. See also
655 CONFIG_CMD_LZMADEC which provides a decode command.
658 bool "Enable LZO decompression support"
660 This enables support for the LZO compression algorithm.
663 bool "Enable gzip decompression support"
667 This enables support for GZIP compression algorithm.
669 config ZLIB_UNCOMPRESS
670 bool "Enables zlib's uncompress() functionality"
672 This enables an extra zlib functionality: the uncompress() function,
673 which decompresses data from a buffer into another, knowing their
674 sizes. Unlike gunzip(), there is no header parsing.
676 config GZIP_COMPRESSED
681 bool "Enable bzip2 decompression support"
683 This enables support for BZIP2 compression algorithm.
689 This enables ZLIB compression lib.
692 bool "Enable Zstandard decompression support"
695 This enables Zstandard decompression library.
698 bool "Enable LZ4 decompression support in SPL"
701 This enables support for the LZ4 decompression algorithm in SPL. LZ4
702 is a lossless data compression algorithm that is focused on
703 fast compression and decompression speed. It belongs to the LZ77
704 family of byte-oriented compression schemes.
707 bool "Enable LZMA decompression support for SPL build"
710 This enables support for LZMA compression algorithm for SPL boot.
713 bool "Enable LZMA decompression support for VPL build"
716 This enables support for LZMA compression algorithm for VPL boot.
719 bool "Enable LZO decompression support in SPL"
722 This enables support for LZO compression algorithm in the SPL.
725 bool "Enable gzip decompression support for SPL build"
728 This enables support for the GZIP compression algorithm for SPL boot.
733 This enables compression lib for SPL boot.
736 bool "Enable Zstandard decompression support in SPL"
740 This enables Zstandard decompression library in the SPL.
745 bool "Enable function for getting errno-related string message"
747 The function errno_str(int errno), returns a pointer to the errno
748 corresponding text message:
749 - if errno is null or positive number - a pointer to "Success" message
750 - if errno is negative - a pointer to errno related message
753 bool "Enable hexdump"
755 This enables functions for printing dumps of binary data.
758 bool "Enable hexdump in SPL"
759 depends on SPL && HEXDUMP
761 This enables functions for printing dumps of binary data in
767 This enables functions for parsing command-line options.
770 bool "Enable the FDT library"
771 default y if OF_CONTROL
773 This enables the FDT library (libfdt). It provides functions for
774 accessing binary device tree images in memory, such as adding and
775 removing nodes and properties, scanning through the tree and finding
776 particular compatible nodes. The library operates on a flattened
777 version of the device tree.
779 config OF_LIBFDT_ASSUME_MASK
780 hex "Mask of conditions to assume for libfdt"
781 depends on OF_LIBFDT || FIT
784 Use this to change the assumptions made by libfdt about the
785 device tree it is working with. A value of 0 means that no assumptions
786 are made, and libfdt is able to deal with malicious data. A value of
787 0xff means all assumptions are made and any invalid data may cause
788 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
790 config OF_LIBFDT_OVERLAY
791 bool "Enable the FDT library overlay support"
793 default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
795 This enables the FDT library (libfdt) overlay support.
798 hex "Maximum size of the FDT memory area passeed to the OS"
800 default 0x13000 if FMAN_ENET || QE || U_QE
803 During OS boot, we allocate a region of memory within the bootmap
804 for the FDT. This is the size that we will expand the FDT that we
805 are using will be extended to be, in bytes.
808 bool "Enable the FDT library for SPL"
809 depends on SPL_LIBGENERIC_SUPPORT
810 default y if SPL_OF_CONTROL
812 This enables the FDT library (libfdt). It provides functions for
813 accessing binary device tree images in memory, such as adding and
814 removing nodes and properties, scanning through the tree and finding
815 particular compatible nodes. The library operates on a flattened
816 version of the device tree.
818 config SPL_OF_LIBFDT_ASSUME_MASK
819 hex "Mask of conditions to assume for libfdt"
820 depends on SPL_OF_LIBFDT || (FIT && SPL)
823 Use this to change the assumptions made by libfdt in SPL about the
824 device tree it is working with. A value of 0 means that no assumptions
825 are made, and libfdt is able to deal with malicious data. A value of
826 0xff means all assumptions are made and any invalid data may cause
827 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
830 bool "Enable the FDT library for TPL"
831 depends on TPL_LIBGENERIC_SUPPORT
832 default y if TPL_OF_CONTROL
834 This enables the FDT library (libfdt). It provides functions for
835 accessing binary device tree images in memory, such as adding and
836 removing nodes and properties, scanning through the tree and finding
837 particular compatible nodes. The library operates on a flattened
838 version of the device tree.
840 config TPL_OF_LIBFDT_ASSUME_MASK
841 hex "Mask of conditions to assume for libfdt"
842 depends on TPL_OF_LIBFDT || (FIT && TPL)
845 Use this to change the assumptions made by libfdt in TPL about the
846 device tree it is working with. A value of 0 means that no assumptions
847 are made, and libfdt is able to deal with malicious data. A value of
848 0xff means all assumptions are made and any invalid data may cause
849 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
852 bool "Enable the FDT library for VPL"
854 default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
856 This enables the FDT library (libfdt). It provides functions for
857 accessing binary device tree images in memory, such as adding and
858 removing nodes and properties, scanning through the tree and finding
859 particular compatible nodes. The library operates on a flattened
860 version of the device tree.
862 config VPL_OF_LIBFDT_ASSUME_MASK
863 hex "Mask of conditions to assume for libfdt"
864 depends on VPL_OF_LIBFDT || (FIT && VPL)
867 Use this to change the assumptions made by libfdt in SPL about the
868 device tree it is working with. A value of 0 means that no assumptions
869 are made, and libfdt is able to deal with malicious data. A value of
870 0xff means all assumptions are made and any invalid data may cause
871 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
873 config FDT_FIXUP_PARTITIONS
874 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
876 depends on CMD_MTDPARTS
878 Allow overwriting defined partitions in the device tree blob
879 using partition info defined in the 'mtdparts' environment
883 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
885 config BLOBLIST_TABLES
886 bool "Put tables in a bloblist"
887 depends on X86 && BLOBLIST
889 Normally tables are placed at address 0xf0000 and can be up to 64KB
890 long. With this option, tables are instead placed in the bloblist
891 with a pointer from 0xf0000. The size can then be larger and the
892 tables can be placed high in memory.
894 config GENERATE_SMBIOS_TABLE
895 bool "Generate an SMBIOS (System Management BIOS) table"
897 depends on X86 || EFI_LOADER
899 The System Management BIOS (SMBIOS) specification addresses how
900 motherboard and system vendors present management information about
901 their products in a standard format by extending the BIOS interface
902 on Intel architecture systems.
904 Check http://www.dmtf.org/standards/smbios for details.
906 See also SMBIOS_SYSINFO which allows SMBIOS values to be provided in
910 bool "enable continued fraction calculation routines"
912 config SPL_LIB_RATIONAL
913 bool "enable continued fraction calculation routines for SPL"
921 ASN.1 (Abstract Syntax Notation One) is a standard interface
922 description language for defining data structures that can be
923 serialized and deserialized in a cross-platform way. It is
924 broadly used in telecommunications and computer networking,
925 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
926 This option enables the support of the asn1 compiler.
931 ASN.1 (Abstract Syntax Notation One) is a standard interface
932 description language for defining data structures that can be
933 serialized and deserialized in a cross-platform way. It is
934 broadly used in telecommunications and computer networking,
935 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
936 This option enables the support of the asn1 decoder.
938 config SPL_ASN1_DECODER
941 ASN.1 (Abstract Syntax Notation One) is a standard interface
942 description language for defining data structures that can be
943 serialized and deserialized in a cross-platform way. It is
944 broadly used in telecommunications and computer networking,
945 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
946 This option enables the support of the asn1 decoder in the SPL.
951 In computing, object identifiers or OIDs are an identifier mechanism
952 standardized by the International Telecommunication Union (ITU) and
953 ISO/IEC for naming any object, concept, or "thing" with a globally
954 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
955 Enable fast lookup object identifier registry.
957 config SPL_OID_REGISTRY
960 In computing, object identifiers or OIDs are an identifier mechanism
961 standardized by the International Telecommunication Union (ITU) and
962 ISO/IEC for naming any object, concept, or "thing" with a globally
963 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
964 Enable fast lookup object identifier registry in the SPL.
969 A simple parser for SMBIOS data.
971 source lib/efi/Kconfig
972 source lib/efi_loader/Kconfig
973 source lib/optee/Kconfig
976 bool "enable fdtdec test"
985 Support basic elf loading/validating functions.
986 This supports for 32 bit and 64 bit versions.
989 bool "Enable the logical memory blocks library (lmb)"
990 default y if ARC || ARM || M68K || MICROBLAZE || MIPS || \
991 NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
993 Support the library logical memory blocks.
995 config LMB_USE_MAX_REGIONS
996 bool "Use a common number of memory and reserved regions in lmb lib"
1000 Define the number of supported memory regions in the library logical
1002 This feature allow to reduce the lmb library size by using compiler
1003 optimization when LMB_MEMORY_REGIONS == LMB_RESERVED_REGIONS.
1005 config LMB_MAX_REGIONS
1006 int "Number of memory and reserved regions in lmb lib"
1007 depends on LMB && LMB_USE_MAX_REGIONS
1010 Define the number of supported regions, memory and reserved, in the
1011 library logical memory blocks.
1013 config LMB_MEMORY_REGIONS
1014 int "Number of memory regions in lmb lib"
1015 depends on LMB && !LMB_USE_MAX_REGIONS
1018 Define the number of supported memory regions in the library logical
1020 The minimal value is CONFIG_NR_DRAM_BANKS.
1022 config LMB_RESERVED_REGIONS
1023 int "Number of reserved regions in lmb lib"
1024 depends on LMB && !LMB_USE_MAX_REGIONS
1027 Define the number of supported reserved regions in the library logical
1032 menu "FWU Multi Bank Updates"
1034 source lib/fwu_updates/Kconfig