Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq
[oweals/u-boot.git] / lib / Kconfig
index a3352a4fa15c42036a1fc571c8030941e01b4932..868de3bf3b813aff6cf75d95c760986be05d23d1 100644 (file)
@@ -7,6 +7,16 @@ config BCH
          This is used by SoC platforms which do not have built-in ELM
          hardware engine required for BCH ECC correction.
 
+config BINMAN_FDT
+       bool "Allow access to binman information in the device tree"
+       depends on BINMAN && OF_CONTROL
+       default y
+       help
+         This enables U-Boot to access information about binman entries,
+         stored in the device tree in a binman node. Typical uses are to
+         locate entries in the firmware image. See binman.h for the available
+         functionality.
+
 config CC_OPTIMIZE_LIBS_FOR_SPEED
        bool "Optimize libraries for speed"
        help
@@ -40,12 +50,12 @@ config PRINTF
 config SPL_PRINTF
        bool
        select SPL_SPRINTF
-       select SPL_STRTO if !USE_TINY_PRINTF
+       select SPL_STRTO if !SPL_USE_TINY_PRINTF
 
 config TPL_PRINTF
        bool
        select TPL_SPRINTF
-       select TPL_STRTO if !USE_TINY_PRINTF
+       select TPL_STRTO if !TPL_USE_TINY_PRINTF
 
 config SPRINTF
        bool
@@ -95,8 +105,22 @@ config SYS_HZ
          get_timer() must operate in milliseconds and this option must be
          set to 1000.
 
-config USE_TINY_PRINTF
-       bool "Enable tiny printf() version"
+config SPL_USE_TINY_PRINTF
+       bool "Enable tiny printf() version in SPL"
+       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 in TPL"
+       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,
@@ -126,7 +150,8 @@ config REGEX
 
 choice
        prompt "Pseudo-random library support type"
-       depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID
+       depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \
+                  RNG_SANDBOX || UT_LIB && AES
        default LIB_RAND
        help
          Select the library to provide pseudo-random number generator
@@ -174,6 +199,69 @@ config TRACE
          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"
@@ -188,6 +276,7 @@ config AES
          present.
 
 source lib/rsa/Kconfig
+source lib/crypto/Kconfig
 
 config TPM
        bool "Trusted Platform Module (TPM) Support"
@@ -279,6 +368,9 @@ config MD5
 config CRC32C
        bool
 
+config XXHASH
+       bool
+
 endmenu
 
 menu "Compression Support"
@@ -311,18 +403,29 @@ config LZO
          This enables support for LZO compression algorithm.r
 
 config GZIP
-       bool "Enable gzip decompression support for SPL build"
+       bool "Enable gzip decompression support"
        select ZLIB
        default y
        help
          This enables support for GZIP compression algorithm.
 
+config BZIP2
+       bool "Enable bzip2 decompression support"
+       help
+         This enables support for BZIP2 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
@@ -331,6 +434,11 @@ config SPL_LZ4
          fast compression and decompression speed. It belongs to the LZ77
          family of byte-oriented compression schemes.
 
+config SPL_LZMA
+       bool "Enable LZMA decompression support for SPL build"
+       help
+         This enables support for LZMA compression altorithm for SPL boot.
+
 config SPL_LZO
        bool "Enable LZO decompression support in SPL"
        help
@@ -347,6 +455,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
@@ -372,6 +486,17 @@ config OF_LIBFDT
          particular compatible nodes. The library operates on a flattened
          version of the device tree.
 
+config OF_LIBFDT_ASSUME_MASK
+       hex "Mask of conditions to assume for libfdt"
+       depends on OF_LIBFDT || FIT
+       default 0
+       help
+         Use this to change the assumptions made by libfdt about the
+         device tree it is working with. A value of 0 means that no assumptions
+         are made, and libfdt is able to deal with malicious data. A value of
+         0xff means all assumptions are made and any invalid data may cause
+         unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
+
 config OF_LIBFDT_OVERLAY
        bool "Enable the FDT library overlay support"
        depends on OF_LIBFDT
@@ -389,6 +514,17 @@ config SPL_OF_LIBFDT
          particular compatible nodes. The library operates on a flattened
          version of the device tree.
 
+config SPL_OF_LIBFDT_ASSUME_MASK
+       hex "Mask of conditions to assume for libfdt"
+       depends on SPL_OF_LIBFDT || FIT
+       default 0xff
+       help
+         Use this to change the assumptions made by libfdt in SPL about the
+         device tree it is working with. A value of 0 means that no assumptions
+         are made, and libfdt is able to deal with malicious data. A value of
+         0xff means all assumptions are made and any invalid data may cause
+         unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
+
 config TPL_OF_LIBFDT
        bool "Enable the FDT library for TPL"
        default y if TPL_OF_CONTROL
@@ -399,6 +535,17 @@ config TPL_OF_LIBFDT
          particular compatible nodes. The library operates on a flattened
          version of the device tree.
 
+config TPL_OF_LIBFDT_ASSUME_MASK
+       hex "Mask of conditions to assume for libfdt"
+       depends on TPL_OF_LIBFDT || FIT
+       default 0xff
+       help
+         Use this to change the assumptions made by libfdt in TPL about the
+         device tree it is working with. A value of 0 means that no assumptions
+         are made, and libfdt is able to deal with malicious data. A value of
+         0xff means all assumptions are made and any invalid data may cause
+         unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
+
 config FDT_FIXUP_PARTITIONS
        bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
        depends on OF_LIBFDT
@@ -441,6 +588,19 @@ config SMBIOS_PRODUCT_NAME
 
 endmenu
 
+config ASN1_COMPILER
+       bool
+
+config ASN1_DECODER
+       bool
+       help
+         Enable asn1 decoder library.
+
+config OID_REGISTRY
+       bool
+       help
+         Enable fast lookup object identifier registry.
+
 source lib/efi/Kconfig
 source lib/efi_loader/Kconfig
 source lib/optee/Kconfig
@@ -449,4 +609,13 @@ config TEST_FDTDEC
        bool "enable fdtdec test"
        depends on OF_LIBFDT
 
+config LIB_DATE
+       bool
+
+config LIB_ELF
+       bool
+       help
+         Supoort basic elf loading/validating functions.
+         This supports fir 32 bit and 64 bit versions.
+
 endmenu