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"
427 This enables support for TPMs which can be used to provide security
428 features for your board. The TPM can be connected via LPC or I2C
429 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
430 command to interactive the TPM. Driver model support is provided
431 for the low-level TPM interface, but only one TPM is supported at
432 a time by the TPM library.
435 bool "Trusted Platform Module (TPM) Support in TPL"
438 This enables support for TPMs which can be used to provide security
439 features for your board. The TPM can be connected via LPC or I2C
440 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
441 command to interactive the TPM. Driver model support is provided
442 for the low-level TPM interface, but only one TPM is supported at
443 a time by the TPM library.
446 bool "Trusted Platform Module (TPM) Support in VPL"
449 This enables support for TPMs which can be used to provide security
450 features for your board. The TPM can be connected via LPC or I2C
451 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
452 command to interactive the TPM. Driver model support is provided
453 for the low-level TPM interface, but only one TPM is supported at
454 a time by the TPM library.
458 menu "Android Verified Boot"
461 bool "Android Verified Boot 2.0 support"
462 depends on ANDROID_BOOT_IMAGE
464 This enables support of Android Verified Boot 2.0 which can be used
465 to assure the end user of the integrity of the software running on a
466 device. Introduces such features as boot chain of trust, rollback
471 menu "Hashing Support"
474 bool "Enable BLAKE2 support"
476 This option enables support of hashing using BLAKE2B algorithm.
477 The hash is calculated in software.
478 The BLAKE2 algorithm produces a hash value (digest) between 1 and
482 bool "Enable SHA1 support"
484 This option enables support of hashing using SHA1 algorithm.
485 The hash is calculated in software.
486 The SHA1 algorithm produces a 160-bit (20-byte) hash value
490 bool "Enable SHA256 support"
492 This option enables support of hashing using SHA256 algorithm.
493 The hash is calculated in software.
494 The SHA256 algorithm produces a 256-bit (32-byte) hash value
498 bool "Enable SHA512 support"
500 This option enables support of hashing using SHA512 algorithm.
501 The hash is calculated in software.
502 The SHA512 algorithm produces a 512-bit (64-byte) hash value
506 bool "Enable SHA384 support"
509 This option enables support of hashing using SHA384 algorithm.
510 The hash is calculated in software. This is also selects SHA512,
511 because these implementations share the bulk of the code..
512 The SHA384 algorithm produces a 384-bit (48-byte) hash value
516 bool "Enable hardware acceleration for SHA hash functions"
518 This option enables hardware acceleration for the SHA1 and SHA256
519 hashing algorithms. This affects the 'hash' command and also the
520 hash_lookup_algo() function.
525 bool "Enable SHA1 support in SPL"
528 This option enables support of hashing using SHA1 algorithm.
529 The hash is calculated in software.
530 The SHA1 algorithm produces a 160-bit (20-byte) hash value
534 bool "Enable SHA256 support in SPL"
537 This option enables support of hashing using SHA256 algorithm.
538 The hash is calculated in software.
539 The SHA256 algorithm produces a 256-bit (32-byte) hash value
543 bool "Enable SHA512 support in SPL"
546 This option enables support of hashing using SHA512 algorithm.
547 The hash is calculated in software.
548 The SHA512 algorithm produces a 512-bit (64-byte) hash value
552 bool "Enable SHA384 support in SPL"
556 This option enables support of hashing using SHA384 algorithm.
557 The hash is calculated in software. This is also selects SHA512,
558 because these implementations share the bulk of the code..
559 The SHA384 algorithm produces a 384-bit (48-byte) hash value
562 config SPL_SHA_HW_ACCEL
563 bool "Enable hardware acceleration for SHA hash functions"
564 default y if SHA_HW_ACCEL
566 This option enables hardware acceleration for the SHA1 and SHA256
567 hashing algorithms. This affects the 'hash' command and also the
568 hash_lookup_algo() function.
570 config SPL_SHA_PROG_HW_ACCEL
571 bool "Enable Progressive hashing support using hardware in SPL"
572 depends on SHA_PROG_HW_ACCEL
575 This option enables hardware-acceleration for SHA progressive
577 Data can be streamed in a block at a time and the hashing is
578 performed in hardware.
584 config SHA512_HW_ACCEL
585 bool "Enable hardware acceleration for SHA512"
588 This option enables hardware acceleration for the SHA384 and SHA512
589 hashing algorithms. This affects the 'hash' command and also the
590 hash_lookup_algo() function.
592 config SHA_PROG_HW_ACCEL
593 bool "Enable Progressive hashing support using hardware"
595 This option enables hardware-acceleration for SHA progressive
597 Data can be streamed in a block at a time and the hashing is
598 performed in hardware.
603 bool "Support MD5 algorithm"
605 This option enables MD5 support. MD5 is an algorithm designed
606 in 1991 that produces a 16-byte digest (or checksum) from its input
607 data. It has a number of vulnerabilities which preclude its use in
608 security applications, but it can be useful for providing a quick
609 checksum of a block of data.
612 bool "Support MD5 algorithm in SPL"
615 This option enables MD5 support in SPL. MD5 is an algorithm designed
616 in 1991 that produces a 16-byte digest (or checksum) from its input
617 data. It has a number of vulnerabilities which preclude its use in
618 security applications, but it can be useful for providing a quick
619 checksum of a block of data.
624 Enables CRC8 support in U-Boot. This is normally required. CRC8 is
625 a simple and fast checksumming algorithm which does a bytewise
626 checksum with feedback to produce an 8-bit result. The code is small
627 and it does not require a lookup table (unlike CRC32).
630 bool "Support CRC8 in SPL"
633 Enables CRC8 support in SPL. This is not normally required. CRC8 is
634 a simple and fast checksumming algorithm which does a bytewise
635 checksum with feedback to produce an 8-bit result. The code is small
636 and it does not require a lookup table (unlike CRC32).
641 Enables CRC32 support in U-Boot. This is normally required.
651 menu "Compression Support"
654 bool "Enable LZ4 decompression support"
656 If this option is set, support for LZ4 compressed images
657 is included. The LZ4 algorithm can run in-place as long as the
658 compressed image is loaded to the end of the output buffer, and
659 trades lower compression ratios for much faster decompression.
661 NOTE: This implements the release version of the LZ4 frame
662 format as generated by default by the 'lz4' command line tool.
663 This is not the same as the outdated, less efficient legacy
664 frame format currently (2015) implemented in the Linux kernel
665 (generated by 'lz4 -l'). The two formats are incompatible.
668 bool "Enable LZMA decompression support"
670 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
671 a dictionary compression algorithm that provides a high compression
672 ratio and fairly fast decompression speed. See also
673 CONFIG_CMD_LZMADEC which provides a decode command.
676 bool "Enable LZO decompression support"
678 This enables support for the LZO compression algorithm.
681 bool "Enable gzip decompression support"
685 This enables support for GZIP compression algorithm.
687 config ZLIB_UNCOMPRESS
688 bool "Enables zlib's uncompress() functionality"
690 This enables an extra zlib functionality: the uncompress() function,
691 which decompresses data from a buffer into another, knowing their
692 sizes. Unlike gunzip(), there is no header parsing.
694 config GZIP_COMPRESSED
699 bool "Enable bzip2 decompression support"
701 This enables support for BZIP2 compression algorithm.
707 This enables ZLIB compression lib.
710 bool "Enable Zstandard decompression support"
713 This enables Zstandard decompression library.
716 bool "Enable LZ4 decompression support in SPL"
719 This enables support for the LZ4 decompression algorithm in SPL. LZ4
720 is a lossless data compression algorithm that is focused on
721 fast compression and decompression speed. It belongs to the LZ77
722 family of byte-oriented compression schemes.
725 bool "Enable LZMA decompression support for SPL build"
728 This enables support for LZMA compression algorithm for SPL boot.
731 bool "Enable LZMA decompression support for VPL build"
734 This enables support for LZMA compression algorithm for VPL boot.
737 bool "Enable LZO decompression support in SPL"
740 This enables support for LZO compression algorithm in the SPL.
743 bool "Enable gzip decompression support for SPL build"
746 This enables support for the GZIP compression algorithm for SPL boot.
751 This enables compression lib for SPL boot.
754 bool "Enable Zstandard decompression support in SPL"
758 This enables Zstandard decompression library in the SPL.
763 bool "Enable function for getting errno-related string message"
765 The function errno_str(int errno), returns a pointer to the errno
766 corresponding text message:
767 - if errno is null or positive number - a pointer to "Success" message
768 - if errno is negative - a pointer to errno related message
771 bool "Enable hexdump"
773 This enables functions for printing dumps of binary data.
776 bool "Enable hexdump in SPL"
777 depends on SPL && HEXDUMP
779 This enables functions for printing dumps of binary data in
785 This enables functions for parsing command-line options.
788 bool "Enable the FDT library"
789 default y if OF_CONTROL
791 This enables the FDT library (libfdt). It provides functions for
792 accessing binary device tree images in memory, such as adding and
793 removing nodes and properties, scanning through the tree and finding
794 particular compatible nodes. The library operates on a flattened
795 version of the device tree.
797 config OF_LIBFDT_ASSUME_MASK
798 hex "Mask of conditions to assume for libfdt"
799 depends on OF_LIBFDT || FIT
802 Use this to change the assumptions made by libfdt about the
803 device tree it is working with. A value of 0 means that no assumptions
804 are made, and libfdt is able to deal with malicious data. A value of
805 0xff means all assumptions are made and any invalid data may cause
806 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
808 config OF_LIBFDT_OVERLAY
809 bool "Enable the FDT library overlay support"
811 default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
813 This enables the FDT library (libfdt) overlay support.
816 hex "Maximum size of the FDT memory area passeed to the OS"
818 default 0x13000 if FMAN_ENET || QE || U_QE
821 During OS boot, we allocate a region of memory within the bootmap
822 for the FDT. This is the size that we will expand the FDT that we
823 are using will be extended to be, in bytes.
826 bool "Enable the FDT library for SPL"
827 depends on SPL_LIBGENERIC_SUPPORT
828 default y if SPL_OF_CONTROL
830 This enables the FDT library (libfdt). It provides functions for
831 accessing binary device tree images in memory, such as adding and
832 removing nodes and properties, scanning through the tree and finding
833 particular compatible nodes. The library operates on a flattened
834 version of the device tree.
836 config SPL_OF_LIBFDT_ASSUME_MASK
837 hex "Mask of conditions to assume for libfdt"
838 depends on SPL_OF_LIBFDT || (FIT && SPL)
841 Use this to change the assumptions made by libfdt in SPL about the
842 device tree it is working with. A value of 0 means that no assumptions
843 are made, and libfdt is able to deal with malicious data. A value of
844 0xff means all assumptions are made and any invalid data may cause
845 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
848 bool "Enable the FDT library for TPL"
849 depends on TPL_LIBGENERIC_SUPPORT
850 default y if TPL_OF_CONTROL
852 This enables the FDT library (libfdt). It provides functions for
853 accessing binary device tree images in memory, such as adding and
854 removing nodes and properties, scanning through the tree and finding
855 particular compatible nodes. The library operates on a flattened
856 version of the device tree.
858 config TPL_OF_LIBFDT_ASSUME_MASK
859 hex "Mask of conditions to assume for libfdt"
860 depends on TPL_OF_LIBFDT || (FIT && TPL)
863 Use this to change the assumptions made by libfdt in TPL about the
864 device tree it is working with. A value of 0 means that no assumptions
865 are made, and libfdt is able to deal with malicious data. A value of
866 0xff means all assumptions are made and any invalid data may cause
867 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
870 bool "Enable the FDT library for VPL"
872 default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
874 This enables the FDT library (libfdt). It provides functions for
875 accessing binary device tree images in memory, such as adding and
876 removing nodes and properties, scanning through the tree and finding
877 particular compatible nodes. The library operates on a flattened
878 version of the device tree.
880 config VPL_OF_LIBFDT_ASSUME_MASK
881 hex "Mask of conditions to assume for libfdt"
882 depends on VPL_OF_LIBFDT || (FIT && VPL)
885 Use this to change the assumptions made by libfdt in SPL about the
886 device tree it is working with. A value of 0 means that no assumptions
887 are made, and libfdt is able to deal with malicious data. A value of
888 0xff means all assumptions are made and any invalid data may cause
889 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
891 config FDT_FIXUP_PARTITIONS
892 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
894 depends on CMD_MTDPARTS
896 Allow overwriting defined partitions in the device tree blob
897 using partition info defined in the 'mtdparts' environment
901 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
903 config BLOBLIST_TABLES
904 bool "Put tables in a bloblist"
905 depends on X86 && BLOBLIST
907 Normally tables are placed at address 0xf0000 and can be up to 64KB
908 long. With this option, tables are instead placed in the bloblist
909 with a pointer from 0xf0000. The size can then be larger and the
910 tables can be placed high in memory.
912 config GENERATE_SMBIOS_TABLE
913 bool "Generate an SMBIOS (System Management BIOS) table"
915 depends on X86 || EFI_LOADER
917 The System Management BIOS (SMBIOS) specification addresses how
918 motherboard and system vendors present management information about
919 their products in a standard format by extending the BIOS interface
920 on Intel architecture systems.
922 Check http://www.dmtf.org/standards/smbios for details.
924 See also SMBIOS_SYSINFO which allows SMBIOS values to be provided in
928 bool "enable continued fraction calculation routines"
930 config SPL_LIB_RATIONAL
931 bool "enable continued fraction calculation routines for SPL"
939 ASN.1 (Abstract Syntax Notation One) is a standard interface
940 description language for defining data structures that can be
941 serialized and deserialized in a cross-platform way. It is
942 broadly used in telecommunications and computer networking,
943 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
944 This option enables the support of the asn1 compiler.
949 ASN.1 (Abstract Syntax Notation One) is a standard interface
950 description language for defining data structures that can be
951 serialized and deserialized in a cross-platform way. It is
952 broadly used in telecommunications and computer networking,
953 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
954 This option enables the support of the asn1 decoder.
956 config SPL_ASN1_DECODER
959 ASN.1 (Abstract Syntax Notation One) is a standard interface
960 description language for defining data structures that can be
961 serialized and deserialized in a cross-platform way. It is
962 broadly used in telecommunications and computer networking,
963 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
964 This option enables the support of the asn1 decoder in the SPL.
969 In computing, object identifiers or OIDs are an identifier mechanism
970 standardized by the International Telecommunication Union (ITU) and
971 ISO/IEC for naming any object, concept, or "thing" with a globally
972 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
973 Enable fast lookup object identifier registry.
975 config SPL_OID_REGISTRY
978 In computing, object identifiers or OIDs are an identifier mechanism
979 standardized by the International Telecommunication Union (ITU) and
980 ISO/IEC for naming any object, concept, or "thing" with a globally
981 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
982 Enable fast lookup object identifier registry in the SPL.
987 A simple parser for SMBIOS data.
989 source lib/efi/Kconfig
990 source lib/efi_loader/Kconfig
991 source lib/optee/Kconfig
994 bool "enable fdtdec test"
1003 Support basic elf loading/validating functions.
1004 This supports for 32 bit and 64 bit versions.
1007 bool "Enable the logical memory blocks library (lmb)"
1008 default y if ARC || ARM || M68K || MICROBLAZE || MIPS || \
1009 NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
1011 Support the library logical memory blocks.
1013 config LMB_USE_MAX_REGIONS
1014 bool "Use a common number of memory and reserved regions in lmb lib"
1018 Define the number of supported memory regions in the library logical
1020 This feature allow to reduce the lmb library size by using compiler
1021 optimization when LMB_MEMORY_REGIONS == LMB_RESERVED_REGIONS.
1023 config LMB_MAX_REGIONS
1024 int "Number of memory and reserved regions in lmb lib"
1025 depends on LMB && LMB_USE_MAX_REGIONS
1028 Define the number of supported regions, memory and reserved, in the
1029 library logical memory blocks.
1031 config LMB_MEMORY_REGIONS
1032 int "Number of memory regions in lmb lib"
1033 depends on LMB && !LMB_USE_MAX_REGIONS
1036 Define the number of supported memory regions in the library logical
1038 The minimal value is CONFIG_NR_DRAM_BANKS.
1040 config LMB_RESERVED_REGIONS
1041 int "Number of reserved regions in lmb lib"
1042 depends on LMB && !LMB_USE_MAX_REGIONS
1045 Define the number of supported reserved regions in the library logical
1048 config PHANDLE_CHECK_SEQ
1049 bool "Enable phandle check while getting sequence number"
1051 When there are multiple device tree nodes with same name,
1052 enable this config option to distinguish them using
1053 phandles in fdtdec_get_alias_seq() function.
1057 menu "FWU Multi Bank Updates"
1059 source lib/fwu_updates/Kconfig