uboot/lib/Kconfig
<<
>>
Prefs
   1menu "Library routines"
   2
   3config ADDR_MAP
   4        bool "Enable support for non-identity virtual-physical mappings"
   5        help
   6          Enables helper code for implementing non-identity virtual-physical
   7          memory mappings for 32bit CPUs.
   8
   9          This library only works in the post-relocation phase.
  10
  11config SYS_NUM_ADDR_MAP
  12        int "Size of the address-map table"
  13        depends on ADDR_MAP
  14        default 16
  15        help
  16          Sets the number of entries in the virtual-physical mapping table.
  17
  18config BCH
  19        bool "Enable Software based BCH ECC"
  20        help
  21          Enables software based BCH ECC algorithm present in lib/bch.c
  22          This is used by SoC platforms which do not have built-in ELM
  23          hardware engine required for BCH ECC correction.
  24
  25config BINMAN_FDT
  26        bool "Allow access to binman information in the device tree"
  27        depends on BINMAN && DM && OF_CONTROL
  28        default y if OF_SEPARATE || OF_EMBED
  29        help
  30          This enables U-Boot to access information about binman entries,
  31          stored in the device tree in a binman node. Typical uses are to
  32          locate entries in the firmware image. See binman.h for the available
  33          functionality.
  34
  35config CC_OPTIMIZE_LIBS_FOR_SPEED
  36        bool "Optimize libraries for speed"
  37        help
  38          Enabling this option will pass "-O2" to gcc when compiling
  39          under "lib" directory.
  40
  41          If unsure, say N.
  42
  43config CHARSET
  44        bool
  45        default y if UT_UNICODE || EFI_LOADER || UFS
  46        help
  47          Enables support for various conversions between different
  48          character sets, such as between unicode representations and
  49          different 'code pages'.
  50
  51config DYNAMIC_CRC_TABLE
  52        bool "Enable Dynamic tables for CRC"
  53        help
  54          Enable this option to calculate entries for CRC tables at runtime.
  55          This can be helpful when reducing the size of the build image
  56
  57config HAVE_ARCH_IOMAP
  58        bool
  59        help
  60          Enable this option if architecture provides io{read,write}{8,16,32}
  61          I/O accessor functions.
  62
  63config HAVE_PRIVATE_LIBGCC
  64        bool
  65
  66config LIB_UUID
  67        bool
  68
  69config PRINTF
  70        bool
  71        default y
  72
  73config SPL_PRINTF
  74        bool
  75        select SPL_SPRINTF
  76        select SPL_STRTO if !SPL_USE_TINY_PRINTF
  77
  78config TPL_PRINTF
  79        bool
  80        select TPL_SPRINTF
  81        select TPL_STRTO if !TPL_USE_TINY_PRINTF
  82
  83config SPRINTF
  84        bool
  85        default y
  86
  87config SPL_SPRINTF
  88        bool
  89
  90config TPL_SPRINTF
  91        bool
  92
  93config SSCANF
  94        bool
  95
  96config STRTO
  97        bool
  98        default y
  99
 100config SPL_STRTO
 101        bool
 102
 103config TPL_STRTO
 104        bool
 105
 106config IMAGE_SPARSE
 107        bool
 108
 109config IMAGE_SPARSE_FILLBUF_SIZE
 110        hex "Android sparse image CHUNK_TYPE_FILL buffer size"
 111        default 0x80000
 112        depends on IMAGE_SPARSE
 113        help
 114          Set the size of the fill buffer used when processing CHUNK_TYPE_FILL
 115          chunks.
 116
 117config USE_PRIVATE_LIBGCC
 118        bool "Use private libgcc"
 119        depends on HAVE_PRIVATE_LIBGCC
 120        default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
 121        help
 122          This option allows you to use the built-in libgcc implementation
 123          of U-Boot instead of the one provided by the compiler.
 124          If unsure, say N.
 125
 126config SYS_HZ
 127        int
 128        default 1000
 129        help
 130          The frequency of the timer returned by get_timer().
 131          get_timer() must operate in milliseconds and this option must be
 132          set to 1000.
 133
 134config SPL_USE_TINY_PRINTF
 135        bool "Enable tiny printf() version in SPL"
 136        depends on SPL
 137        default y
 138        help
 139          This option enables a tiny, stripped down printf version.
 140          This should only be used in space limited environments,
 141          like SPL versions with hard memory limits. This version
 142          reduces the code size by about 2.5KiB on armv7.
 143
 144          The supported format specifiers are %c, %s, %u/%d and %x.
 145
 146config TPL_USE_TINY_PRINTF
 147        bool "Enable tiny printf() version in TPL"
 148        depends on TPL
 149        default y if SPL_USE_TINY_PRINTF
 150        help
 151          This option enables a tiny, stripped down printf version.
 152          This should only be used in space limited environments,
 153          like SPL versions with hard memory limits. This version
 154          reduces the code size by about 2.5KiB on armv7.
 155
 156          The supported format specifiers are %c, %s, %u/%d and %x.
 157
 158config PANIC_HANG
 159        bool "Do not reset the system on fatal error"
 160        help
 161          Define this option to stop the system in case of a fatal error,
 162          so that you have to reset it manually. This is probably NOT a good
 163          idea for an embedded system where you want the system to reboot
 164          automatically as fast as possible, but it may be useful during
 165          development since you can try to debug the conditions that lead to
 166          the situation.
 167
 168config REGEX
 169        bool "Enable regular expression support"
 170        default y if NET
 171        help
 172          If this variable is defined, U-Boot is linked against the
 173          SLRE (Super Light Regular Expression) library, which adds
 174          regex support to some commands, for example "env grep" and
 175          "setexpr".
 176
 177choice
 178        prompt "Pseudo-random library support type"
 179        depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \
 180                   RNG_SANDBOX || UT_LIB && AES || FAT_WRITE
 181        default LIB_RAND
 182        help
 183          Select the library to provide pseudo-random number generator
 184          functions.  LIB_HW_RAND supports certain hardware engines that
 185          provide this functionality.  If in doubt, select LIB_RAND.
 186
 187config LIB_RAND
 188        bool "Pseudo-random library support"
 189
 190config LIB_HW_RAND
 191        bool "HW Engine for random library support"
 192
 193endchoice
 194
 195config SPL_TINY_MEMSET
 196        bool "Use a very small memset() in SPL"
 197        help
 198          The faster memset() is the arch-specific one (if available) enabled
 199          by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
 200          better performance by writing a word at a time. But in very
 201          size-constrained environments even this may be too big. Enable this
 202          option to reduce code size slightly at the cost of some speed.
 203
 204config TPL_TINY_MEMSET
 205        bool "Use a very small memset() in TPL"
 206        help
 207          The faster memset() is the arch-specific one (if available) enabled
 208          by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
 209          better performance by writing a word at a time. But in very
 210          size-constrained environments even this may be too big. Enable this
 211          option to reduce code size slightly at the cost of some speed.
 212
 213config RBTREE
 214        bool
 215
 216config BITREVERSE
 217        bool "Bit reverse library from Linux"
 218
 219config TRACE
 220        bool "Support for tracing of function calls and timing"
 221        imply CMD_TRACE
 222        select TIMER_EARLY
 223        help
 224          Enables function tracing within U-Boot. This allows recording of call
 225          traces including timing information. The command can write data to
 226          memory for exporting for analysis (e.g. using bootchart).
 227          See doc/README.trace for full details.
 228
 229config TRACE_BUFFER_SIZE
 230        hex "Size of trace buffer in U-Boot"
 231        depends on TRACE
 232        default 0x01000000
 233        help
 234          Sets the size of the trace buffer in U-Boot. This is allocated from
 235          memory during relocation. If this buffer is too small, the trace
 236          history will be truncated, with later records omitted.
 237
 238          If early trace is enabled (i.e. before relocation), this buffer must
 239          be large enough to include all the data from the early trace buffer as
 240          well, since this is copied over to the main buffer during relocation.
 241
 242          A trace record is emitted for each function call and each record is
 243          12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
 244          the size is too small then 'trace stats' will show a message saying
 245          how many records were dropped due to buffer overflow.
 246
 247config TRACE_CALL_DEPTH_LIMIT
 248        int "Trace call depth limit"
 249        depends on TRACE
 250        default 15
 251        help
 252          Sets the maximum call depth up to which function calls are recorded.
 253
 254config TRACE_EARLY
 255        bool "Enable tracing before relocation"
 256        depends on TRACE
 257        help
 258          Sometimes it is helpful to trace execution of U-Boot before
 259          relocation. This is possible by using a arch-specific, fixed buffer
 260          position in memory. Enable this option to start tracing as early as
 261          possible after U-Boot starts.
 262
 263config TRACE_EARLY_SIZE
 264        hex "Size of early trace buffer in U-Boot"
 265        depends on TRACE_EARLY
 266        default 0x00100000
 267        help
 268          Sets the size of the early trace buffer in bytes. This is used to hold
 269          tracing information before relocation.
 270
 271config TRACE_EARLY_CALL_DEPTH_LIMIT
 272        int "Early trace call depth limit"
 273        depends on TRACE_EARLY
 274        default 200
 275        help
 276          Sets the maximum call depth up to which function calls are recorded
 277          during early tracing.
 278
 279config TRACE_EARLY_ADDR
 280        hex "Address of early trace buffer in U-Boot"
 281        depends on TRACE_EARLY
 282        default 0x00100000
 283        help
 284          Sets the address of the early trace buffer in U-Boot. This memory
 285          must be accessible before relocation.
 286
 287          A trace record is emitted for each function call and each record is
 288          12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
 289          the size is too small then the message which says the amount of early
 290          data being coped will the the same as the
 291
 292source lib/dhry/Kconfig
 293
 294menu "Security support"
 295
 296config AES
 297        bool "Support the AES algorithm"
 298        help
 299          This provides a means to encrypt and decrypt data using the AES
 300          (Advanced Encryption Standard). This algorithm uses a symetric key
 301          and is widely used as a streaming cipher. Different key lengths are
 302          supported by the algorithm but only a 128-bit key is supported at
 303          present.
 304
 305source lib/ecdsa/Kconfig
 306source lib/rsa/Kconfig
 307source lib/crypto/Kconfig
 308source lib/crypt/Kconfig
 309
 310config TPM
 311        bool "Trusted Platform Module (TPM) Support"
 312        depends on DM
 313        help
 314          This enables support for TPMs which can be used to provide security
 315          features for your board. The TPM can be connected via LPC or I2C
 316          and a sandbox TPM is provided for testing purposes. Use the 'tpm'
 317          command to interactive the TPM. Driver model support is provided
 318          for the low-level TPM interface, but only one TPM is supported at
 319          a time by the TPM library.
 320
 321config SPL_TPM
 322        bool "Trusted Platform Module (TPM) Support in SPL"
 323        depends on SPL_DM
 324        help
 325          This enables support for TPMs which can be used to provide security
 326          features for your board. The TPM can be connected via LPC or I2C
 327          and a sandbox TPM is provided for testing purposes. Use the 'tpm'
 328          command to interactive the TPM. Driver model support is provided
 329          for the low-level TPM interface, but only one TPM is supported at
 330          a time by the TPM library.
 331
 332config TPL_TPM
 333        bool "Trusted Platform Module (TPM) Support in TPL"
 334        depends on TPL_DM
 335        help
 336          This enables support for TPMs which can be used to provide security
 337          features for your board. The TPM can be connected via LPC or I2C
 338          and a sandbox TPM is provided for testing purposes. Use the 'tpm'
 339          command to interactive the TPM. Driver model support is provided
 340          for the low-level TPM interface, but only one TPM is supported at
 341          a time by the TPM library.
 342
 343endmenu
 344
 345menu "Android Verified Boot"
 346
 347config LIBAVB
 348        bool "Android Verified Boot 2.0 support"
 349        depends on ANDROID_BOOT_IMAGE
 350        help
 351          This enables support of Android Verified Boot 2.0 which can be used
 352          to assure the end user of the integrity of the software running on a
 353          device. Introduces such features as boot chain of trust, rollback
 354          protection etc.
 355
 356endmenu
 357
 358menu "Hashing Support"
 359
 360config SHA1
 361        bool "Enable SHA1 support"
 362        help
 363          This option enables support of hashing using SHA1 algorithm.
 364          The hash is calculated in software.
 365          The SHA1 algorithm produces a 160-bit (20-byte) hash value
 366          (digest).
 367
 368config SHA256
 369        bool "Enable SHA256 support"
 370        help
 371          This option enables support of hashing using SHA256 algorithm.
 372          The hash is calculated in software.
 373          The SHA256 algorithm produces a 256-bit (32-byte) hash value
 374          (digest).
 375
 376config SHA512
 377        bool "Enable SHA512 support"
 378        help
 379          This option enables support of hashing using SHA512 algorithm.
 380          The hash is calculated in software.
 381          The SHA512 algorithm produces a 512-bit (64-byte) hash value
 382          (digest).
 383
 384config SHA384
 385        bool "Enable SHA384 support"
 386        select SHA512
 387        help
 388          This option enables support of hashing using SHA384 algorithm.
 389          The hash is calculated in software. This is also selects SHA512,
 390          because these implementations share the bulk of the code..
 391          The SHA384 algorithm produces a 384-bit (48-byte) hash value
 392          (digest).
 393
 394config SHA_HW_ACCEL
 395        bool "Enable hardware acceleration for SHA hash functions"
 396        help
 397          This option enables hardware acceleration for the SHA1 and SHA256
 398          hashing algorithms. This affects the 'hash' command and also the
 399          hash_lookup_algo() function.
 400
 401if SPL
 402
 403config SPL_SHA1
 404        bool "Enable SHA1 support in SPL"
 405        default y if SHA1
 406        help
 407          This option enables support of hashing using SHA1 algorithm.
 408          The hash is calculated in software.
 409          The SHA1 algorithm produces a 160-bit (20-byte) hash value
 410          (digest).
 411
 412config SPL_SHA256
 413        bool "Enable SHA256 support in SPL"
 414        default y if SHA256
 415        help
 416          This option enables support of hashing using SHA256 algorithm.
 417          The hash is calculated in software.
 418          The SHA256 algorithm produces a 256-bit (32-byte) hash value
 419          (digest).
 420
 421config SPL_SHA512
 422        bool "Enable SHA512 support in SPL"
 423        default y if SHA512
 424        help
 425          This option enables support of hashing using SHA512 algorithm.
 426          The hash is calculated in software.
 427          The SHA512 algorithm produces a 512-bit (64-byte) hash value
 428          (digest).
 429
 430config SPL_SHA384
 431        bool "Enable SHA384 support in SPL"
 432        default y if SHA384
 433        select SPL_SHA512
 434        help
 435          This option enables support of hashing using SHA384 algorithm.
 436          The hash is calculated in software. This is also selects SHA512,
 437          because these implementations share the bulk of the code..
 438          The SHA384 algorithm produces a 384-bit (48-byte) hash value
 439          (digest).
 440
 441config SPL_SHA_HW_ACCEL
 442        bool "Enable hardware acceleration for SHA hash functions"
 443        default y if SHA_HW_ACCEL
 444        help
 445          This option enables hardware acceleration for the SHA1 and SHA256
 446          hashing algorithms. This affects the 'hash' command and also the
 447          hash_lookup_algo() function.
 448
 449config SPL_SHA_PROG_HW_ACCEL
 450        bool "Enable Progressive hashing support using hardware in SPL"
 451        depends on SHA_PROG_HW_ACCEL
 452        default y
 453        help
 454          This option enables hardware-acceleration for SHA progressive
 455          hashing.
 456          Data can be streamed in a block at a time and the hashing is
 457          performed in hardware.
 458
 459endif
 460
 461if SHA_HW_ACCEL
 462
 463config SHA512_HW_ACCEL
 464        bool "Enable hardware acceleration for SHA512"
 465        depends on SHA512
 466        help
 467          This option enables hardware acceleration for the SHA384 and SHA512
 468          hashing algorithms. This affects the 'hash' command and also the
 469          hash_lookup_algo() function.
 470
 471config SHA_PROG_HW_ACCEL
 472        bool "Enable Progressive hashing support using hardware"
 473        help
 474          This option enables hardware-acceleration for SHA progressive
 475          hashing.
 476          Data can be streamed in a block at a time and the hashing is
 477          performed in hardware.
 478
 479endif
 480
 481config MD5
 482        bool "Support MD5 algorithm"
 483        help
 484          This option enables MD5 support. MD5 is an algorithm designed
 485          in 1991 that produces a 16-byte digest (or checksum) from its input
 486          data. It has a number of vulnerabilities which preclude its use in
 487          security applications, but it can be useful for providing a quick
 488          checksum of a block of data.
 489
 490config SPL_MD5
 491        bool "Support MD5 algorithm in SPL"
 492        help
 493          This option enables MD5 support in SPL. MD5 is an algorithm designed
 494          in 1991 that produces a 16-byte digest (or checksum) from its input
 495          data. It has a number of vulnerabilities which preclude its use in
 496          security applications, but it can be useful for providing a quick
 497          checksum of a block of data.
 498
 499config CRC32
 500        def_bool y
 501        help
 502          Enables CRC32 support in U-Boot. This is normally required.
 503
 504config CRC32C
 505        bool
 506
 507config XXHASH
 508        bool
 509
 510endmenu
 511
 512menu "Compression Support"
 513
 514config LZ4
 515        bool "Enable LZ4 decompression support"
 516        help
 517          If this option is set, support for LZ4 compressed images
 518          is included. The LZ4 algorithm can run in-place as long as the
 519          compressed image is loaded to the end of the output buffer, and
 520          trades lower compression ratios for much faster decompression.
 521
 522          NOTE: This implements the release version of the LZ4 frame
 523          format as generated by default by the 'lz4' command line tool.
 524          This is not the same as the outdated, less efficient legacy
 525          frame format currently (2015) implemented in the Linux kernel
 526          (generated by 'lz4 -l'). The two formats are incompatible.
 527
 528config LZMA
 529        bool "Enable LZMA decompression support"
 530        help
 531          This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
 532          a dictionary compression algorithm that provides a high compression
 533          ratio and fairly fast decompression speed. See also
 534          CONFIG_CMD_LZMADEC which provides a decode command.
 535
 536config LZO
 537        bool "Enable LZO decompression support"
 538        help
 539          This enables support for the LZO compression algorithm.
 540
 541config GZIP
 542        bool "Enable gzip decompression support"
 543        select ZLIB
 544        default y
 545        help
 546          This enables support for GZIP compression algorithm.
 547
 548config ZLIB_UNCOMPRESS
 549        bool "Enables zlib's uncompress() functionality"
 550        help
 551          This enables an extra zlib functionality: the uncompress() function,
 552          which decompresses data from a buffer into another, knowing their
 553          sizes. Unlike gunzip(), there is no header parsing.
 554
 555config GZIP_COMPRESSED
 556        bool
 557        select ZLIB
 558
 559config BZIP2
 560        bool "Enable bzip2 decompression support"
 561        help
 562          This enables support for BZIP2 compression algorithm.
 563
 564config ZLIB
 565        bool
 566        default y
 567        help
 568          This enables ZLIB compression lib.
 569
 570config ZSTD
 571        bool "Enable Zstandard decompression support"
 572        select XXHASH
 573        help
 574          This enables Zstandard decompression library.
 575
 576config SPL_LZ4
 577        bool "Enable LZ4 decompression support in SPL"
 578        help
 579          This enables support for the LZ4 decompression algorithm in SPL. LZ4
 580          is a lossless data compression algorithm that is focused on
 581          fast compression and decompression speed. It belongs to the LZ77
 582          family of byte-oriented compression schemes.
 583
 584config SPL_LZMA
 585        bool "Enable LZMA decompression support for SPL build"
 586        help
 587          This enables support for LZMA compression algorithm for SPL boot.
 588
 589config SPL_LZO
 590        bool "Enable LZO decompression support in SPL"
 591        help
 592          This enables support for LZO compression algorithm in the SPL.
 593
 594config SPL_GZIP
 595        bool "Enable gzip decompression support for SPL build"
 596        select SPL_ZLIB
 597        help
 598          This enables support for the GZIP compression algorithm for SPL boot.
 599
 600config SPL_ZLIB
 601        bool
 602        help
 603          This enables compression lib for SPL boot.
 604
 605config SPL_ZSTD
 606        bool "Enable Zstandard decompression support in SPL"
 607        select XXHASH
 608        help
 609          This enables Zstandard decompression library in the SPL.
 610
 611endmenu
 612
 613config ERRNO_STR
 614        bool "Enable function for getting errno-related string message"
 615        help
 616          The function errno_str(int errno), returns a pointer to the errno
 617          corresponding text message:
 618          - if errno is null or positive number - a pointer to "Success" message
 619          - if errno is negative - a pointer to errno related message
 620
 621config HEXDUMP
 622        bool "Enable hexdump"
 623        help
 624          This enables functions for printing dumps of binary data.
 625
 626config SPL_HEXDUMP
 627        bool "Enable hexdump in SPL"
 628        depends on SPL && HEXDUMP
 629        help
 630          This enables functions for printing dumps of binary data in
 631          SPL.
 632
 633config GETOPT
 634        bool "Enable getopt"
 635        help
 636          This enables functions for parsing command-line options.
 637
 638config OF_LIBFDT
 639        bool "Enable the FDT library"
 640        default y if OF_CONTROL
 641        help
 642          This enables the FDT library (libfdt). It provides functions for
 643          accessing binary device tree images in memory, such as adding and
 644          removing nodes and properties, scanning through the tree and finding
 645          particular compatible nodes. The library operates on a flattened
 646          version of the device tree.
 647
 648config OF_LIBFDT_ASSUME_MASK
 649        hex "Mask of conditions to assume for libfdt"
 650        depends on OF_LIBFDT || FIT
 651        default 0
 652        help
 653          Use this to change the assumptions made by libfdt about the
 654          device tree it is working with. A value of 0 means that no assumptions
 655          are made, and libfdt is able to deal with malicious data. A value of
 656          0xff means all assumptions are made and any invalid data may cause
 657          unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
 658
 659config OF_LIBFDT_OVERLAY
 660        bool "Enable the FDT library overlay support"
 661        depends on OF_LIBFDT
 662        default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
 663        help
 664          This enables the FDT library (libfdt) overlay support.
 665
 666config SPL_OF_LIBFDT
 667        bool "Enable the FDT library for SPL"
 668        default y if SPL_OF_CONTROL
 669        help
 670          This enables the FDT library (libfdt). It provides functions for
 671          accessing binary device tree images in memory, such as adding and
 672          removing nodes and properties, scanning through the tree and finding
 673          particular compatible nodes. The library operates on a flattened
 674          version of the device tree.
 675
 676config SPL_OF_LIBFDT_ASSUME_MASK
 677        hex "Mask of conditions to assume for libfdt"
 678        depends on SPL_OF_LIBFDT || FIT
 679        default 0xff
 680        help
 681          Use this to change the assumptions made by libfdt in SPL about the
 682          device tree it is working with. A value of 0 means that no assumptions
 683          are made, and libfdt is able to deal with malicious data. A value of
 684          0xff means all assumptions are made and any invalid data may cause
 685          unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
 686
 687config TPL_OF_LIBFDT
 688        bool "Enable the FDT library for TPL"
 689        default y if TPL_OF_CONTROL
 690        help
 691          This enables the FDT library (libfdt). It provides functions for
 692          accessing binary device tree images in memory, such as adding and
 693          removing nodes and properties, scanning through the tree and finding
 694          particular compatible nodes. The library operates on a flattened
 695          version of the device tree.
 696
 697config TPL_OF_LIBFDT_ASSUME_MASK
 698        hex "Mask of conditions to assume for libfdt"
 699        depends on TPL_OF_LIBFDT || FIT
 700        default 0xff
 701        help
 702          Use this to change the assumptions made by libfdt in TPL about the
 703          device tree it is working with. A value of 0 means that no assumptions
 704          are made, and libfdt is able to deal with malicious data. A value of
 705          0xff means all assumptions are made and any invalid data may cause
 706          unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
 707
 708config FDT_FIXUP_PARTITIONS
 709        bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
 710        depends on OF_LIBFDT
 711        depends on CMD_MTDPARTS
 712        help
 713          Allow overwriting defined partitions in the device tree blob
 714          using partition info defined in the 'mtdparts' environment
 715          variable.
 716
 717menu "System tables"
 718        depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
 719
 720config BLOBLIST_TABLES
 721        bool "Put tables in a bloblist"
 722        depends on X86 && BLOBLIST
 723        help
 724          Normally tables are placed at address 0xf0000 and can be up to 64KB
 725          long. With this option, tables are instead placed in the bloblist
 726          with a pointer from 0xf0000. The size can then be larger and the
 727          tables can be placed high in memory.
 728
 729config GENERATE_SMBIOS_TABLE
 730        bool "Generate an SMBIOS (System Management BIOS) table"
 731        default y
 732        depends on X86 || EFI_LOADER
 733        help
 734          The System Management BIOS (SMBIOS) specification addresses how
 735          motherboard and system vendors present management information about
 736          their products in a standard format by extending the BIOS interface
 737          on Intel architecture systems.
 738
 739          Check http://www.dmtf.org/standards/smbios for details.
 740
 741          See also SMBIOS_SYSINFO which allows SMBIOS values to be provided in
 742          the devicetree.
 743
 744config LIB_RATIONAL
 745        bool "enable continued fraction calculation routines"
 746
 747config SPL_LIB_RATIONAL
 748        bool "enable continued fraction calculation routines for SPL"
 749        depends on SPL
 750
 751endmenu
 752
 753config ASN1_COMPILER
 754        bool
 755
 756config ASN1_DECODER
 757        bool
 758        help
 759          Enable asn1 decoder library.
 760
 761config OID_REGISTRY
 762        bool
 763        help
 764          Enable fast lookup object identifier registry.
 765
 766config SMBIOS_PARSER
 767        bool "SMBIOS parser"
 768        help
 769          A simple parser for SMBIOS data.
 770
 771source lib/efi/Kconfig
 772source lib/efi_loader/Kconfig
 773source lib/optee/Kconfig
 774
 775config TEST_FDTDEC
 776        bool "enable fdtdec test"
 777        depends on OF_LIBFDT
 778
 779config LIB_DATE
 780        bool
 781
 782config LIB_ELF
 783        bool
 784        help
 785          Support basic elf loading/validating functions.
 786          This supports for 32 bit and 64 bit versions.
 787
 788config LMB
 789        bool "Enable the logical memory blocks library (lmb)"
 790        default y if ARC || ARM || M68K || MICROBLAZE || MIPS || NDS32 || \
 791                     NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
 792        help
 793          Support the library logical memory blocks.
 794
 795config LMB_USE_MAX_REGIONS
 796        bool "Use a common number of memory and reserved regions in lmb lib"
 797        depends on LMB
 798        default y
 799        help
 800          Define the number of supported memory regions in the library logical
 801          memory blocks.
 802          This feature allow to reduce the lmb library size by using compiler
 803          optimization when LMB_MEMORY_REGIONS == LMB_RESERVED_REGIONS.
 804
 805config LMB_MAX_REGIONS
 806        int "Number of memory and reserved regions in lmb lib"
 807        depends on LMB && LMB_USE_MAX_REGIONS
 808        default 8
 809        help
 810          Define the number of supported regions, memory and reserved, in the
 811          library logical memory blocks.
 812
 813config LMB_MEMORY_REGIONS
 814        int "Number of memory regions in lmb lib"
 815        depends on LMB && !LMB_USE_MAX_REGIONS
 816        default 8
 817        help
 818          Define the number of supported memory regions in the library logical
 819          memory blocks.
 820          The minimal value is CONFIG_NR_DRAM_BANKS.
 821
 822config LMB_RESERVED_REGIONS
 823        int "Number of reserved regions in lmb lib"
 824        depends on LMB && !LMB_USE_MAX_REGIONS
 825        default 8
 826        help
 827          Define the number of supported reserved regions in the library logical
 828          memory blocks.
 829
 830endmenu
 831
 832config PHANDLE_CHECK_SEQ
 833        bool "Enable phandle check while getting sequence number"
 834        help
 835          When there are multiple device tree nodes with same name,
 836          enable this config option to distinguish them using
 837          phandles in fdtdec_get_alias_seq() function.
 838