X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=lib%2FKconfig;h=1590f7afa40250cf3df678fccd57aecaa5e1e940;hb=fbe502e9aba098b5ad500d1cdb6b376f56f9ddbb;hp=c98d3997b7dec85e51a2461601fe85fb20a2c22a;hpb=f7848d90dde918423e6dfa462ec82bcdbba9defe;p=u-boot diff --git a/lib/Kconfig b/lib/Kconfig index c98d3997b7..1590f7afa4 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -1,5 +1,12 @@ menu "Library routines" +config BCH + bool "Enable Software based BCH ECC" + help + Enables software based BCH ECC algorithm present in lib/bch.c + This is used by SoC platforms which do not have built-in ELM + hardware engine required for BCH ECC correction. + config CC_OPTIMIZE_LIBS_FOR_SPEED bool "Optimize libraries for speed" help @@ -8,15 +15,59 @@ config CC_OPTIMIZE_LIBS_FOR_SPEED If unsure, say N. +config DYNAMIC_CRC_TABLE + bool "Enable Dynamic tables for CRC" + help + Enable this option to calculate entries for CRC tables at runtime. + This can be helpful when reducing the size of the build image + config HAVE_PRIVATE_LIBGCC bool +config LIB_UUID + bool + +config PRINTF + bool + default y + +config SPL_PRINTF + bool + select SPL_SPRINTF + select SPL_STRTO if !USE_TINY_PRINTF + +config TPL_PRINTF + bool + select TPL_SPRINTF + select TPL_STRTO if !USE_TINY_PRINTF + +config SPRINTF + bool + default y + +config SPL_SPRINTF + bool + +config TPL_SPRINTF + bool + +config STRTO + bool + default y + +config SPL_STRTO + bool + +config TPL_STRTO + bool + config USE_PRIVATE_LIBGCC bool "Use private libgcc" depends on HAVE_PRIVATE_LIBGCC + default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS) help This option allows you to use the built-in libgcc implementation - of U-boot instead of the one privided by the compiler. + of U-Boot instead of the one provided by the compiler. If unsure, say N. config SYS_HZ @@ -27,14 +78,25 @@ config SYS_HZ get_timer() must operate in milliseconds and this option must be set to 1000. -config SYS_VSNPRINTF - bool "Enable safe version of sprintf()" +config USE_TINY_PRINTF + bool "Enable tiny printf() version" + help + This option enables a tiny, stripped down printf version. + This should only be used in space limited environments, + like SPL versions with hard memory limits. This version + reduces the code size by about 2.5KiB on armv7. + + The supported format specifiers are %c, %s, %u/%d and %x. + +config PANIC_HANG + bool "Do not reset the system on fatal error" help - Since sprintf() can overflow its buffer, it is common to use - snprintf() instead, which knows the buffer size and can avoid - overflow. However, this does increase code size slightly (for - Thumb-2, about 420 bytes). Enable this option for safety when - using sprintf() with data you do not control. + Define this option to stop the system in case of a fatal error, + so that you have to reset it manually. This is probably NOT a good + idea for an embedded system where you want the system to reboot + automatically as fast as possible, but it may be useful during + development since you can try to debug the conditions that lead to + the situation. config REGEX bool "Enable regular expression support" @@ -45,13 +107,75 @@ config REGEX regex support to some commands, for example "env grep" and "setexpr". +choice + prompt "Pseudo-random library support type" + depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID + default LIB_RAND + help + Select the library to provide pseudo-random number generator + functions. LIB_HW_RAND supports certain hardware engines that + provide this functionality. If in doubt, select LIB_RAND. + config LIB_RAND - bool "Pseudo-random library support " + bool "Pseudo-random library support" + +config LIB_HW_RAND + bool "HW Engine for random libray support" + +endchoice + +config SPL_TINY_MEMSET + bool "Use a very small memset() in SPL" help - This library provides pseudo-random number generator functions. + The faster memset() is the arch-specific one (if available) enabled + by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get + better performance by writing a word at a time. But in very + size-constrained envrionments even this may be too big. Enable this + option to reduce code size slightly at the cost of some speed. + +config TPL_TINY_MEMSET + bool "Use a very small memset() in TPL" + help + The faster memset() is the arch-specific one (if available) enabled + by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get + better performance by writing a word at a time. But in very + size-constrained envrionments even this may be too big. Enable this + option to reduce code size slightly at the cost of some speed. + +config RBTREE + bool + +config BITREVERSE + bool "Bit reverse library from Linux" + +source lib/dhry/Kconfig + +menu "Security support" + +config AES + bool "Support the AES algorithm" + help + This provides a means to encrypt and decrypt data using the AES + (Advanced Encryption Standard). This algorithm uses a symetric key + and is widely used as a streaming cipher. Different key lengths are + supported by the algorithm but only a 128-bit key is supported at + present. source lib/rsa/Kconfig +config TPM + bool "Trusted Platform Module (TPM) Support" + depends on DM + help + This enables support for TPMs which can be used to provide security + features for your board. The TPM can be connected via LPC or I2C + and a sandbox TPM is provided for testing purposes. Use the 'tpm' + command to interactive the TPM. Driver model support is provided + for the low-level TPM interface, but only one TPM is supported at + a time by the TPM library. + +endmenu + menu "Hashing Support" config SHA1 @@ -86,6 +210,60 @@ config SHA_PROG_HW_ACCEL SHA1/SHA256 progressive hashing. Data can be streamed in a block at a time and the hashing is performed in hardware. + +config MD5 + bool + +config CRC32C + bool + +endmenu + +menu "Compression Support" + +config LZ4 + bool "Enable LZ4 decompression support" + help + If this option is set, support for LZ4 compressed images + is included. The LZ4 algorithm can run in-place as long as the + compressed image is loaded to the end of the output buffer, and + trades lower compression ratios for much faster decompression. + + NOTE: This implements the release version of the LZ4 frame + format as generated by default by the 'lz4' command line tool. + This is not the same as the outdated, less efficient legacy + frame format currently (2015) implemented in the Linux kernel + (generated by 'lz4 -l'). The two formats are incompatible. + +config LZMA + bool "Enable LZMA decompression support" + help + This enables support for LZMA (Lempel-Ziv-Markov chain algorithm), + a dictionary compression algorithm that provides a high compression + ratio and fairly fast decompression speed. See also + CONFIG_CMD_LZMADEC which provides a decode command. + +config LZO + bool "Enable LZO decompression support" + help + This enables support for LZO compression algorithm.r + +config SPL_LZO + bool "Enable LZO decompression support in SPL" + help + This enables support for LZO compression algorithm in the SPL. + +config SPL_GZIP + bool "Enable gzip decompression support for SPL build" + select SPL_ZLIB + help + This enables support for GZIP compression altorithm for SPL boot. + +config SPL_ZLIB + bool + help + This enables compression lib for SPL boot. + endmenu config ERRNO_STR @@ -96,4 +274,77 @@ config ERRNO_STR - if errno is null or positive number - a pointer to "Success" message - if errno is negative - a pointer to errno related message +config OF_LIBFDT + bool "Enable the FDT library" + default y if OF_CONTROL + help + This enables the FDT library (libfdt). It provides functions for + accessing binary device tree images in memory, such as adding and + removing nodes and properties, scanning through the tree and finding + particular compatible nodes. The library operates on a flattened + version of the device tree. + +config OF_LIBFDT_OVERLAY + bool "Enable the FDT library overlay support" + depends on OF_LIBFDT + default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE + help + This enables the FDT library (libfdt) overlay support. + +config SPL_OF_LIBFDT + bool "Enable the FDT library for SPL" + default y if SPL_OF_CONTROL + help + This enables the FDT library (libfdt). It provides functions for + accessing binary device tree images in memory, such as adding and + removing nodes and properties, scanning through the tree and finding + particular compatible nodes. The library operates on a flattened + version of the device tree. + +config FDT_FIXUP_PARTITIONS + bool "overwrite MTD partitions in DTS through defined in 'mtdparts'" + depends on OF_LIBFDT + default n + help + Allow overwriting defined partitions in the device tree blob + using partition info defined in the 'mtdparts' environment + variable. + +menu "System tables" + depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER) + +config GENERATE_SMBIOS_TABLE + bool "Generate an SMBIOS (System Management BIOS) table" + default y + depends on X86 || EFI_LOADER + help + The System Management BIOS (SMBIOS) specification addresses how + motherboard and system vendors present management information about + their products in a standard format by extending the BIOS interface + on Intel architecture systems. + + Check http://www.dmtf.org/standards/smbios for details. + +config SMBIOS_MANUFACTURER + string "SMBIOS Manufacturer" + depends on GENERATE_SMBIOS_TABLE + default SYS_VENDOR + help + The board manufacturer to store in SMBIOS structures. + Change this to override the default one (CONFIG_SYS_VENDOR). + +config SMBIOS_PRODUCT_NAME + string "SMBIOS Product Name" + depends on GENERATE_SMBIOS_TABLE + default SYS_BOARD + help + The product name to store in SMBIOS structures. + Change this to override the default one (CONFIG_SYS_BOARD). + +endmenu + +source lib/efi/Kconfig +source lib/efi_loader/Kconfig +source lib/optee/Kconfig + endmenu