X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=lib%2FKconfig;h=135f0b372b074270beab7450a542edeeef94124f;hb=e731af4893f7741c66254161ad9b6f5280369895;hp=f447c53bdeffc440b23d2ba12f758b096ee575db;hpb=6e6cf015e7cdd7ca83a933320a81201972bd5e5e;p=oweals%2Fu-boot.git diff --git a/lib/Kconfig b/lib/Kconfig index f447c53bde..135f0b372b 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -15,9 +15,69 @@ 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_ARCH_IOMAP + bool + help + Enable this option if architecture provides io{read,write}{8,16,32} + I/O accessor functions. + 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 !SPL_USE_TINY_PRINTF + +config TPL_PRINTF + bool + select TPL_SPRINTF + select TPL_STRTO if !TPL_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 IMAGE_SPARSE + bool + +config IMAGE_SPARSE_FILLBUF_SIZE + hex "Android sparse image CHUNK_TYPE_FILL buffer size" + default 0x80000 + depends on IMAGE_SPARSE + help + Set the size of the fill buffer used when processing CHUNK_TYPE_FILL + chunks. + config USE_PRIVATE_LIBGCC bool "Use private libgcc" depends on HAVE_PRIVATE_LIBGCC @@ -35,8 +95,22 @@ config SYS_HZ get_timer() must operate in milliseconds and this option must be set to 1000. -config USE_TINY_PRINTF +config SPL_USE_TINY_PRINTF + bool "Enable tiny printf() version" + depends on SPL + default y + 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 TPL_USE_TINY_PRINTF bool "Enable tiny printf() version" + depends on TPL + default y if SPL_USE_TINY_PRINTF help This option enables a tiny, stripped down printf version. This should only be used in space limited environments, @@ -45,6 +119,16 @@ config USE_TINY_PRINTF The supported format specifiers are %c, %s, %u/%d and %x. +config PANIC_HANG + bool "Do not reset the system on fatal error" + help + 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" default y if NET @@ -54,10 +138,22 @@ config REGEX regex support to some commands, for example "env grep" and "setexpr". -config LIB_RAND - bool "Pseudo-random library support " +choice + prompt "Pseudo-random library support type" + depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID + default LIB_RAND help - This library provides pseudo-random number generator functions. + 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" + +config LIB_HW_RAND + bool "HW Engine for random libray support" + +endchoice config SPL_TINY_MEMSET bool "Use a very small memset() in SPL" @@ -65,7 +161,7 @@ config SPL_TINY_MEMSET 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 + size-constrained environments even this may be too big. Enable this option to reduce code size slightly at the cost of some speed. config TPL_TINY_MEMSET @@ -74,7 +170,7 @@ config TPL_TINY_MEMSET 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 + size-constrained environments even this may be too big. Enable this option to reduce code size slightly at the cost of some speed. config RBTREE @@ -83,6 +179,78 @@ config RBTREE config BITREVERSE bool "Bit reverse library from Linux" +config TRACE + bool "Support for tracing of function calls and timing" + imply CMD_TRACE + help + Enables function tracing within U-Boot. This allows recording of call + traces including timing information. The command can write data to + memory for exporting for analysis (e.g. using bootchart). + See doc/README.trace for full details. + +config TRACE_BUFFER_SIZE + hex "Size of trace buffer in U-Boot" + depends on TRACE + default 0x01000000 + help + Sets the size of the trace buffer in U-Boot. This is allocated from + memory during relocation. If this buffer is too small, the trace + history will be truncated, with later records omitted. + + If early trace is enabled (i.e. before relocation), this buffer must + be large enough to include all the data from the early trace buffer as + well, since this is copied over to the main buffer during relocation. + + A trace record is emitted for each function call and each record is + 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If + the size is too small then 'trace stats' will show a message saying + how many records were dropped due to buffer overflow. + +config TRACE_CALL_DEPTH_LIMIT + int "Trace call depth limit" + depends on TRACE + default 15 + help + Sets the maximum call depth up to which function calls are recorded. + +config TRACE_EARLY + bool "Enable tracing before relocation" + depends on TRACE + help + Sometimes it is helpful to trace execution of U-Boot before + relocation. This is possible by using a arch-specific, fixed buffer + position in memory. Enable this option to start tracing as early as + possible after U-Boot starts. + +config TRACE_EARLY_SIZE + hex "Size of early trace buffer in U-Boot" + depends on TRACE_EARLY + default 0x00100000 + help + Sets the size of the early trace buffer in bytes. This is used to hold + tracing information before relocation. + +config TRACE_EARLY_CALL_DEPTH_LIMIT + int "Early trace call depth limit" + depends on TRACE_EARLY + default 200 + help + Sets the maximum call depth up to which function calls are recorded + during early tracing. + +config TRACE_EARLY_ADDR + hex "Address of early trace buffer in U-Boot" + depends on TRACE_EARLY + default 0x00100000 + help + Sets the address of the early trace buffer in U-Boot. This memory + must be accessible before relocation. + + A trace record is emitted for each function call and each record is + 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If + the size is too small then the message which says the amount of early + data being coped will the the same as the + source lib/dhry/Kconfig menu "Security support" @@ -109,6 +277,42 @@ config TPM for the low-level TPM interface, but only one TPM is supported at a time by the TPM library. +config SPL_TPM + bool "Trusted Platform Module (TPM) Support in SPL" + depends on SPL_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. + +config TPL_TPM + bool "Trusted Platform Module (TPM) Support in TPL" + depends on TPL_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 "Android Verified Boot" + +config LIBAVB + bool "Android Verified Boot 2.0 support" + depends on ANDROID_BOOT_IMAGE + default n + help + This enables support of Android Verified Boot 2.0 which can be used + to assure the end user of the integrity of the software running on a + device. Introduces such features as boot chain of trust, rollback + protection etc. + endmenu menu "Hashing Support" @@ -152,6 +356,9 @@ config MD5 config CRC32C bool +config XXHASH + bool + endmenu menu "Compression Support" @@ -183,6 +390,33 @@ config LZO help This enables support for LZO compression algorithm.r +config GZIP + bool "Enable gzip decompression support" + select ZLIB + default y + help + This enables support for GZIP compression algorithm. + +config ZLIB + bool + default y + help + This enables ZLIB compression lib. + +config ZSTD + bool "Enable Zstandard decompression support" + select XXHASH + help + This enables Zstandard decompression library. + +config SPL_LZ4 + bool "Enable LZ4 decompression support in SPL" + help + This enables support for tge LZ4 decompression algorithm in SPL. LZ4 + is a lossless data compression algorithm that is focused on + fast compression and decompression speed. It belongs to the LZ77 + family of byte-oriented compression schemes. + config SPL_LZO bool "Enable LZO decompression support in SPL" help @@ -199,6 +433,12 @@ config SPL_ZLIB help This enables compression lib for SPL boot. +config SPL_ZSTD + bool "Enable Zstandard decompression support in SPL" + select XXHASH + help + This enables Zstandard decompression library in the SPL. + endmenu config ERRNO_STR @@ -209,6 +449,11 @@ 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 HEXDUMP + bool "Enable hexdump" + help + This enables functions for printing dumps of binary data. + config OF_LIBFDT bool "Enable the FDT library" default y if OF_CONTROL @@ -221,6 +466,8 @@ config OF_LIBFDT 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. @@ -234,10 +481,20 @@ config SPL_OF_LIBFDT particular compatible nodes. The library operates on a flattened version of the device tree. +config TPL_OF_LIBFDT + bool "Enable the FDT library for TPL" + default y if TPL_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 + depends on CMD_MTDPARTS help Allow overwriting defined partitions in the device tree blob using partition info defined in the 'mtdparts' environment @@ -278,5 +535,10 @@ endmenu source lib/efi/Kconfig source lib/efi_loader/Kconfig +source lib/optee/Kconfig + +config TEST_FDTDEC + bool "enable fdtdec test" + depends on OF_LIBFDT endmenu