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.
19 bool "Access to physical memory region (> 4G)"
21 Some basic support is provided for operations on memory not
22 normally accessible to 32-bit U-Boot - e.g. some architectures
23 support access to more than 4G of memory on 32-bit
24 machines using physical address extension or similar.
25 Enable this to access this basic support, which only supports clearing
29 bool "Enable Software based BCH ECC"
31 Enables software based BCH ECC algorithm present in lib/bch.c
32 This is used by SoC platforms which do not have built-in ELM
33 hardware engine required for BCH ECC correction.
36 bool "Allow access to binman information in the device tree"
37 depends on BINMAN && DM && OF_CONTROL
38 default y if OF_SEPARATE || OF_EMBED
40 This enables U-Boot to access information about binman entries,
41 stored in the device tree in a binman node. Typical uses are to
42 locate entries in the firmware image. See binman.h for the available
45 config CC_OPTIMIZE_LIBS_FOR_SPEED
46 bool "Optimize libraries for speed"
48 Enabling this option will pass "-O2" to gcc when compiling
49 under "lib" directory.
56 config DYNAMIC_CRC_TABLE
57 bool "Enable Dynamic tables for CRC"
59 Enable this option to calculate entries for CRC tables at runtime.
60 This can be helpful when reducing the size of the build image
62 config HAVE_ARCH_IOMAP
65 Enable this option if architecture provides io{read,write}{8,16,32}
66 I/O accessor functions.
68 config HAVE_PRIVATE_LIBGCC
81 select SPL_STRTO if !SPL_USE_TINY_PRINTF
86 select TPL_STRTO if !TPL_USE_TINY_PRINTF
91 select VPL_STRTO if !VPL_USE_TINY_PRINTF
125 config IMAGE_SPARSE_FILLBUF_SIZE
126 hex "Android sparse image CHUNK_TYPE_FILL buffer size"
128 depends on IMAGE_SPARSE
130 Set the size of the fill buffer used when processing CHUNK_TYPE_FILL
133 config USE_PRIVATE_LIBGCC
134 bool "Use private libgcc"
135 depends on HAVE_PRIVATE_LIBGCC
136 default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
138 This option allows you to use the built-in libgcc implementation
139 of U-Boot instead of the one provided by the compiler.
146 The frequency of the timer returned by get_timer().
147 get_timer() must operate in milliseconds and this option must be
150 config SPL_USE_TINY_PRINTF
151 bool "Enable tiny printf() version in SPL"
155 This option enables a tiny, stripped down printf version.
156 This should only be used in space limited environments,
157 like SPL versions with hard memory limits. This version
158 reduces the code size by about 2.5KiB on armv7.
160 The supported format specifiers are %c, %s, %u/%d and %x.
162 config TPL_USE_TINY_PRINTF
163 bool "Enable tiny printf() version in TPL"
165 default y if SPL_USE_TINY_PRINTF
167 This option enables a tiny, stripped down printf version.
168 This should only be used in space limited environments,
169 like SPL versions with hard memory limits. This version
170 reduces the code size by about 2.5KiB on armv7.
172 The supported format specifiers are %c, %s, %u/%d and %x.
174 config VPL_USE_TINY_PRINTF
175 bool "Enable tiny printf() version for VPL"
178 This option enables a tiny, stripped down printf version.
179 This should only be used in space limited environments,
180 like SPL versions with hard memory limits. This version
181 reduces the code size by about 2.5KiB on armv7.
183 The supported format specifiers are %c, %s, %u/%d and %x.
186 bool "Do not reset the system on fatal error"
188 Define this option to stop the system in case of a fatal error,
189 so that you have to reset it manually. This is probably NOT a good
190 idea for an embedded system where you want the system to reboot
191 automatically as fast as possible, but it may be useful during
192 development since you can try to debug the conditions that lead to
196 bool "Enable regular expression support"
199 If this variable is defined, U-Boot is linked against the
200 SLRE (Super Light Regular Expression) library, which adds
201 regex support to some commands, for example "env grep" and
205 prompt "Pseudo-random library support type"
206 depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \
207 RNG_SANDBOX || UT_LIB && AES || FAT_WRITE
210 Select the library to provide pseudo-random number generator
211 functions. LIB_HW_RAND supports certain hardware engines that
212 provide this functionality. If in doubt, select LIB_RAND.
215 bool "Pseudo-random library support"
218 bool "HW Engine for random library support"
225 Enable this if your arch or board can support generating ACPI
226 (Advanced Configuration and Power Interface) tables. In this case
227 U-Boot can generate these tables and pass them to the Operating
230 config GENERATE_ACPI_TABLE
231 bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
232 depends on SUPPORT_ACPI
235 The Advanced Configuration and Power Interface (ACPI) specification
236 provides an open standard for device configuration and management
237 by the operating system. It defines platform-independent interfaces
238 for configuration and power management monitoring.
240 config SPL_TINY_MEMSET
241 bool "Use a very small memset() in SPL"
244 The faster memset() is the arch-specific one (if available) enabled
245 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
246 better performance by writing a word at a time. But in very
247 size-constrained environments even this may be too big. Enable this
248 option to reduce code size slightly at the cost of some speed.
250 config TPL_TINY_MEMSET
251 bool "Use a very small memset() in TPL"
254 The faster memset() is the arch-specific one (if available) enabled
255 by CONFIG_USE_ARCH_MEMSET. If that is not enabled, we can still get
256 better performance by writing a word at a time. But in very
257 size-constrained environments even this may be too big. Enable this
258 option to reduce code size slightly at the cost of some speed.
264 bool "Bit reverse library from Linux"
267 bool "Support for tracing of function calls and timing"
271 Enables function tracing within U-Boot. This allows recording of call
272 traces including timing information. The command can write data to
273 memory for exporting for analysis (e.g. using bootchart).
274 See doc/README.trace for full details.
276 config TRACE_BUFFER_SIZE
277 hex "Size of trace buffer in U-Boot"
281 Sets the size of the trace buffer in U-Boot. This is allocated from
282 memory during relocation. If this buffer is too small, the trace
283 history will be truncated, with later records omitted.
285 If early trace is enabled (i.e. before relocation), this buffer must
286 be large enough to include all the data from the early trace buffer as
287 well, since this is copied over to the main buffer during relocation.
289 A trace record is emitted for each function call and each record is
290 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
291 the size is too small then 'trace stats' will show a message saying
292 how many records were dropped due to buffer overflow.
294 config TRACE_CALL_DEPTH_LIMIT
295 int "Trace call depth limit"
299 Sets the maximum call depth up to which function calls are recorded.
302 bool "Enable tracing before relocation"
305 Sometimes it is helpful to trace execution of U-Boot before
306 relocation. This is possible by using a arch-specific, fixed buffer
307 position in memory. Enable this option to start tracing as early as
308 possible after U-Boot starts.
310 config TRACE_EARLY_SIZE
311 hex "Size of early trace buffer in U-Boot"
312 depends on TRACE_EARLY
315 Sets the size of the early trace buffer in bytes. This is used to hold
316 tracing information before relocation.
318 config TRACE_EARLY_CALL_DEPTH_LIMIT
319 int "Early trace call depth limit"
320 depends on TRACE_EARLY
323 Sets the maximum call depth up to which function calls are recorded
324 during early tracing.
326 config TRACE_EARLY_ADDR
327 hex "Address of early trace buffer in U-Boot"
328 depends on TRACE_EARLY
331 Sets the address of the early trace buffer in U-Boot. This memory
332 must be accessible before relocation.
334 A trace record is emitted for each function call and each record is
335 12 bytes (see struct trace_call). A suggested minimum size is 1MB. If
336 the size is too small then the message which says the amount of early
337 data being coped will the the same as the
340 bool "Enable circular buffer support"
342 source lib/dhry/Kconfig
344 menu "Security support"
347 bool "Support the AES algorithm"
349 This provides a means to encrypt and decrypt data using the AES
350 (Advanced Encryption Standard). This algorithm uses a symetric key
351 and is widely used as a streaming cipher. Different key lengths are
352 supported by the algorithm but only a 128-bit key is supported at
355 source lib/ecdsa/Kconfig
356 source lib/rsa/Kconfig
357 source lib/crypto/Kconfig
358 source lib/crypt/Kconfig
361 bool "Trusted Platform Module (TPM) Support"
364 This enables support for TPMs which can be used to provide security
365 features for your board. The TPM can be connected via LPC or I2C
366 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
367 command to interactive the TPM. Driver model support is provided
368 for the low-level TPM interface, but only one TPM is supported at
369 a time by the TPM library.
372 bool "Trusted Platform Module (TPM) Support in SPL"
375 This enables support for TPMs which can be used to provide security
376 features for your board. The TPM can be connected via LPC or I2C
377 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
378 command to interactive the TPM. Driver model support is provided
379 for the low-level TPM interface, but only one TPM is supported at
380 a time by the TPM library.
383 bool "Trusted Platform Module (TPM) Support in TPL"
386 This enables support for TPMs which can be used to provide security
387 features for your board. The TPM can be connected via LPC or I2C
388 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
389 command to interactive the TPM. Driver model support is provided
390 for the low-level TPM interface, but only one TPM is supported at
391 a time by the TPM library.
394 bool "Trusted Platform Module (TPM) Support in VPL"
397 This enables support for TPMs which can be used to provide security
398 features for your board. The TPM can be connected via LPC or I2C
399 and a sandbox TPM is provided for testing purposes. Use the 'tpm'
400 command to interactive the TPM. Driver model support is provided
401 for the low-level TPM interface, but only one TPM is supported at
402 a time by the TPM library.
406 menu "Android Verified Boot"
409 bool "Android Verified Boot 2.0 support"
410 depends on ANDROID_BOOT_IMAGE
412 This enables support of Android Verified Boot 2.0 which can be used
413 to assure the end user of the integrity of the software running on a
414 device. Introduces such features as boot chain of trust, rollback
419 menu "Hashing Support"
422 bool "Enable BLAKE2 support"
424 This option enables support of hashing using BLAKE2B algorithm.
425 The hash is calculated in software.
426 The BLAKE2 algorithm produces a hash value (digest) between 1 and
430 bool "Enable SHA1 support"
432 This option enables support of hashing using SHA1 algorithm.
433 The hash is calculated in software.
434 The SHA1 algorithm produces a 160-bit (20-byte) hash value
438 bool "Enable SHA256 support"
440 This option enables support of hashing using SHA256 algorithm.
441 The hash is calculated in software.
442 The SHA256 algorithm produces a 256-bit (32-byte) hash value
446 bool "Enable SHA512 support"
448 This option enables support of hashing using SHA512 algorithm.
449 The hash is calculated in software.
450 The SHA512 algorithm produces a 512-bit (64-byte) hash value
454 bool "Enable SHA384 support"
457 This option enables support of hashing using SHA384 algorithm.
458 The hash is calculated in software. This is also selects SHA512,
459 because these implementations share the bulk of the code..
460 The SHA384 algorithm produces a 384-bit (48-byte) hash value
464 bool "Enable hardware acceleration for SHA hash functions"
466 This option enables hardware acceleration for the SHA1 and SHA256
467 hashing algorithms. This affects the 'hash' command and also the
468 hash_lookup_algo() function.
473 bool "Enable SHA1 support in SPL"
476 This option enables support of hashing using SHA1 algorithm.
477 The hash is calculated in software.
478 The SHA1 algorithm produces a 160-bit (20-byte) hash value
482 bool "Enable SHA256 support in SPL"
485 This option enables support of hashing using SHA256 algorithm.
486 The hash is calculated in software.
487 The SHA256 algorithm produces a 256-bit (32-byte) hash value
491 bool "Enable SHA512 support in SPL"
494 This option enables support of hashing using SHA512 algorithm.
495 The hash is calculated in software.
496 The SHA512 algorithm produces a 512-bit (64-byte) hash value
500 bool "Enable SHA384 support in SPL"
504 This option enables support of hashing using SHA384 algorithm.
505 The hash is calculated in software. This is also selects SHA512,
506 because these implementations share the bulk of the code..
507 The SHA384 algorithm produces a 384-bit (48-byte) hash value
510 config SPL_SHA_HW_ACCEL
511 bool "Enable hardware acceleration for SHA hash functions"
512 default y if SHA_HW_ACCEL
514 This option enables hardware acceleration for the SHA1 and SHA256
515 hashing algorithms. This affects the 'hash' command and also the
516 hash_lookup_algo() function.
518 config SPL_SHA_PROG_HW_ACCEL
519 bool "Enable Progressive hashing support using hardware in SPL"
520 depends on SHA_PROG_HW_ACCEL
523 This option enables hardware-acceleration for SHA progressive
525 Data can be streamed in a block at a time and the hashing is
526 performed in hardware.
532 config SHA512_HW_ACCEL
533 bool "Enable hardware acceleration for SHA512"
536 This option enables hardware acceleration for the SHA384 and SHA512
537 hashing algorithms. This affects the 'hash' command and also the
538 hash_lookup_algo() function.
540 config SHA_PROG_HW_ACCEL
541 bool "Enable Progressive hashing support using hardware"
543 This option enables hardware-acceleration for SHA progressive
545 Data can be streamed in a block at a time and the hashing is
546 performed in hardware.
551 bool "Support MD5 algorithm"
553 This option enables MD5 support. MD5 is an algorithm designed
554 in 1991 that produces a 16-byte digest (or checksum) from its input
555 data. It has a number of vulnerabilities which preclude its use in
556 security applications, but it can be useful for providing a quick
557 checksum of a block of data.
560 bool "Support MD5 algorithm in SPL"
563 This option enables MD5 support in SPL. MD5 is an algorithm designed
564 in 1991 that produces a 16-byte digest (or checksum) from its input
565 data. It has a number of vulnerabilities which preclude its use in
566 security applications, but it can be useful for providing a quick
567 checksum of a block of data.
572 Enables CRC32 support in U-Boot. This is normally required.
582 menu "Compression Support"
585 bool "Enable LZ4 decompression support"
587 If this option is set, support for LZ4 compressed images
588 is included. The LZ4 algorithm can run in-place as long as the
589 compressed image is loaded to the end of the output buffer, and
590 trades lower compression ratios for much faster decompression.
592 NOTE: This implements the release version of the LZ4 frame
593 format as generated by default by the 'lz4' command line tool.
594 This is not the same as the outdated, less efficient legacy
595 frame format currently (2015) implemented in the Linux kernel
596 (generated by 'lz4 -l'). The two formats are incompatible.
599 bool "Enable LZMA decompression support"
601 This enables support for LZMA (Lempel-Ziv-Markov chain algorithm),
602 a dictionary compression algorithm that provides a high compression
603 ratio and fairly fast decompression speed. See also
604 CONFIG_CMD_LZMADEC which provides a decode command.
607 bool "Enable LZO decompression support"
609 This enables support for the LZO compression algorithm.
612 bool "Enable gzip decompression support"
616 This enables support for GZIP compression algorithm.
618 config ZLIB_UNCOMPRESS
619 bool "Enables zlib's uncompress() functionality"
621 This enables an extra zlib functionality: the uncompress() function,
622 which decompresses data from a buffer into another, knowing their
623 sizes. Unlike gunzip(), there is no header parsing.
625 config GZIP_COMPRESSED
630 bool "Enable bzip2 decompression support"
632 This enables support for BZIP2 compression algorithm.
638 This enables ZLIB compression lib.
641 bool "Enable Zstandard decompression support"
644 This enables Zstandard decompression library.
647 bool "Enable LZ4 decompression support in SPL"
650 This enables support for the LZ4 decompression algorithm in SPL. LZ4
651 is a lossless data compression algorithm that is focused on
652 fast compression and decompression speed. It belongs to the LZ77
653 family of byte-oriented compression schemes.
656 bool "Enable LZMA decompression support for SPL build"
659 This enables support for LZMA compression algorithm for SPL boot.
662 bool "Enable LZMA decompression support for VPL build"
665 This enables support for LZMA compression algorithm for VPL boot.
668 bool "Enable LZO decompression support in SPL"
671 This enables support for LZO compression algorithm in the SPL.
674 bool "Enable gzip decompression support for SPL build"
677 This enables support for the GZIP compression algorithm for SPL boot.
682 This enables compression lib for SPL boot.
685 bool "Enable Zstandard decompression support in SPL"
689 This enables Zstandard decompression library in the SPL.
694 bool "Enable function for getting errno-related string message"
696 The function errno_str(int errno), returns a pointer to the errno
697 corresponding text message:
698 - if errno is null or positive number - a pointer to "Success" message
699 - if errno is negative - a pointer to errno related message
702 bool "Enable hexdump"
704 This enables functions for printing dumps of binary data.
707 bool "Enable hexdump in SPL"
708 depends on SPL && HEXDUMP
710 This enables functions for printing dumps of binary data in
716 This enables functions for parsing command-line options.
719 bool "Enable the FDT library"
720 default y if OF_CONTROL
722 This enables the FDT library (libfdt). It provides functions for
723 accessing binary device tree images in memory, such as adding and
724 removing nodes and properties, scanning through the tree and finding
725 particular compatible nodes. The library operates on a flattened
726 version of the device tree.
728 config OF_LIBFDT_ASSUME_MASK
729 hex "Mask of conditions to assume for libfdt"
730 depends on OF_LIBFDT || FIT
733 Use this to change the assumptions made by libfdt about the
734 device tree it is working with. A value of 0 means that no assumptions
735 are made, and libfdt is able to deal with malicious data. A value of
736 0xff means all assumptions are made and any invalid data may cause
737 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
739 config OF_LIBFDT_OVERLAY
740 bool "Enable the FDT library overlay support"
742 default y if ARCH_OMAP2PLUS || ARCH_KEYSTONE
744 This enables the FDT library (libfdt) overlay support.
747 bool "Enable the FDT library for SPL"
748 depends on SPL_LIBGENERIC_SUPPORT
749 default y if SPL_OF_CONTROL
751 This enables the FDT library (libfdt). It provides functions for
752 accessing binary device tree images in memory, such as adding and
753 removing nodes and properties, scanning through the tree and finding
754 particular compatible nodes. The library operates on a flattened
755 version of the device tree.
757 config SPL_OF_LIBFDT_ASSUME_MASK
758 hex "Mask of conditions to assume for libfdt"
759 depends on SPL_OF_LIBFDT || (FIT && SPL)
762 Use this to change the assumptions made by libfdt in SPL about the
763 device tree it is working with. A value of 0 means that no assumptions
764 are made, and libfdt is able to deal with malicious data. A value of
765 0xff means all assumptions are made and any invalid data may cause
766 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
769 bool "Enable the FDT library for TPL"
770 depends on TPL_LIBGENERIC_SUPPORT
771 default y if TPL_OF_CONTROL
773 This enables the FDT library (libfdt). It provides functions for
774 accessing binary device tree images in memory, such as adding and
775 removing nodes and properties, scanning through the tree and finding
776 particular compatible nodes. The library operates on a flattened
777 version of the device tree.
779 config TPL_OF_LIBFDT_ASSUME_MASK
780 hex "Mask of conditions to assume for libfdt"
781 depends on TPL_OF_LIBFDT || (FIT && TPL)
784 Use this to change the assumptions made by libfdt in TPL about the
785 device tree it is working with. A value of 0 means that no assumptions
786 are made, and libfdt is able to deal with malicious data. A value of
787 0xff means all assumptions are made and any invalid data may cause
788 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
791 bool "Enable the FDT library for VPL"
793 default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
795 This enables the FDT library (libfdt). It provides functions for
796 accessing binary device tree images in memory, such as adding and
797 removing nodes and properties, scanning through the tree and finding
798 particular compatible nodes. The library operates on a flattened
799 version of the device tree.
801 config VPL_OF_LIBFDT_ASSUME_MASK
802 hex "Mask of conditions to assume for libfdt"
803 depends on VPL_OF_LIBFDT || (FIT && VPL)
806 Use this to change the assumptions made by libfdt in SPL about the
807 device tree it is working with. A value of 0 means that no assumptions
808 are made, and libfdt is able to deal with malicious data. A value of
809 0xff means all assumptions are made and any invalid data may cause
810 unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
812 config FDT_FIXUP_PARTITIONS
813 bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
815 depends on CMD_MTDPARTS
817 Allow overwriting defined partitions in the device tree blob
818 using partition info defined in the 'mtdparts' environment
822 depends on (!EFI && !SYS_COREBOOT) || (ARM && EFI_LOADER)
824 config BLOBLIST_TABLES
825 bool "Put tables in a bloblist"
826 depends on X86 && BLOBLIST
828 Normally tables are placed at address 0xf0000 and can be up to 64KB
829 long. With this option, tables are instead placed in the bloblist
830 with a pointer from 0xf0000. The size can then be larger and the
831 tables can be placed high in memory.
833 config GENERATE_SMBIOS_TABLE
834 bool "Generate an SMBIOS (System Management BIOS) table"
836 depends on X86 || EFI_LOADER
838 The System Management BIOS (SMBIOS) specification addresses how
839 motherboard and system vendors present management information about
840 their products in a standard format by extending the BIOS interface
841 on Intel architecture systems.
843 Check http://www.dmtf.org/standards/smbios for details.
845 See also SMBIOS_SYSINFO which allows SMBIOS values to be provided in
849 bool "enable continued fraction calculation routines"
851 config SPL_LIB_RATIONAL
852 bool "enable continued fraction calculation routines for SPL"
860 ASN.1 (Abstract Syntax Notation One) is a standard interface
861 description language for defining data structures that can be
862 serialized and deserialized in a cross-platform way. It is
863 broadly used in telecommunications and computer networking,
864 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
865 This option enables the support of the asn1 compiler.
870 ASN.1 (Abstract Syntax Notation One) is a standard interface
871 description language for defining data structures that can be
872 serialized and deserialized in a cross-platform way. It is
873 broadly used in telecommunications and computer networking,
874 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
875 This option enables the support of the asn1 decoder.
877 config SPL_ASN1_DECODER
880 ASN.1 (Abstract Syntax Notation One) is a standard interface
881 description language for defining data structures that can be
882 serialized and deserialized in a cross-platform way. It is
883 broadly used in telecommunications and computer networking,
884 and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
885 This option enables the support of the asn1 decoder in the SPL.
890 In computing, object identifiers or OIDs are an identifier mechanism
891 standardized by the International Telecommunication Union (ITU) and
892 ISO/IEC for naming any object, concept, or "thing" with a globally
893 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
894 Enable fast lookup object identifier registry.
896 config SPL_OID_REGISTRY
899 In computing, object identifiers or OIDs are an identifier mechanism
900 standardized by the International Telecommunication Union (ITU) and
901 ISO/IEC for naming any object, concept, or "thing" with a globally
902 unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
903 Enable fast lookup object identifier registry in the SPL.
908 A simple parser for SMBIOS data.
910 source lib/efi/Kconfig
911 source lib/efi_loader/Kconfig
912 source lib/optee/Kconfig
915 bool "enable fdtdec test"
924 Support basic elf loading/validating functions.
925 This supports for 32 bit and 64 bit versions.
928 bool "Enable the logical memory blocks library (lmb)"
929 default y if ARC || ARM || M68K || MICROBLAZE || MIPS || \
930 NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA
932 Support the library logical memory blocks.
934 config LMB_USE_MAX_REGIONS
935 bool "Use a common number of memory and reserved regions in lmb lib"
939 Define the number of supported memory regions in the library logical
941 This feature allow to reduce the lmb library size by using compiler
942 optimization when LMB_MEMORY_REGIONS == LMB_RESERVED_REGIONS.
944 config LMB_MAX_REGIONS
945 int "Number of memory and reserved regions in lmb lib"
946 depends on LMB && LMB_USE_MAX_REGIONS
949 Define the number of supported regions, memory and reserved, in the
950 library logical memory blocks.
952 config LMB_MEMORY_REGIONS
953 int "Number of memory regions in lmb lib"
954 depends on LMB && !LMB_USE_MAX_REGIONS
957 Define the number of supported memory regions in the library logical
959 The minimal value is CONFIG_NR_DRAM_BANKS.
961 config LMB_RESERVED_REGIONS
962 int "Number of reserved regions in lmb lib"
963 depends on LMB && !LMB_USE_MAX_REGIONS
966 Define the number of supported reserved regions in the library logical