lib/tiny-printf.c: Add tiny printf function for space limited environments
[oweals/u-boot.git] / lib / Kconfig
1 menu "Library routines"
2
3 config CC_OPTIMIZE_LIBS_FOR_SPEED
4         bool "Optimize libraries for speed"
5         help
6           Enabling this option will pass "-O2" to gcc when compiling
7           under "lib" directory.
8
9           If unsure, say N.
10
11 config HAVE_PRIVATE_LIBGCC
12         bool
13
14 config USE_PRIVATE_LIBGCC
15         bool "Use private libgcc"
16         depends on HAVE_PRIVATE_LIBGCC
17         help
18           This option allows you to use the built-in libgcc implementation
19           of U-boot instead of the one privided by the compiler.
20           If unsure, say N.
21
22 config SYS_HZ
23         int
24         default 1000
25         help
26           The frequency of the timer returned by get_timer().
27           get_timer() must operate in milliseconds and this option must be
28           set to 1000.
29
30 config SYS_VSNPRINTF
31         bool "Enable safe version of sprintf()"
32         help
33           Since sprintf() can overflow its buffer, it is common to use
34           snprintf() instead, which knows the buffer size and can avoid
35           overflow. However, this does increase code size slightly (for
36           Thumb-2, about 420 bytes). Enable this option for safety when
37           using sprintf() with data you do not control.
38
39 config USE_TINY_PRINTF
40         bool "Enable tiny printf() version"
41         help
42           This option enables a tiny, stripped down printf version.
43           This should only be used in space limited environments,
44           like SPL versions with hard memory limits. This version
45           reduces the code size by about 2.5KiB on armv7.
46
47           The supported format specifiers are %c, %s, %u/%d and %x.
48
49 config REGEX
50         bool "Enable regular expression support"
51         default y if NET
52         help
53           If this variable is defined, U-Boot is linked against the
54           SLRE (Super Light Regular Expression) library, which adds
55           regex support to some commands, for example "env grep" and
56           "setexpr".
57
58 config LIB_RAND
59         bool "Pseudo-random library support "
60         help
61           This library provides pseudo-random number generator functions.
62
63 source lib/dhry/Kconfig
64
65 source lib/rsa/Kconfig
66
67 config TPM
68         bool "Trusted Platform Module (TPM) Support"
69         depends on DM
70         help
71           This enables support for TPMs which can be used to provide security
72           features for your board. The TPM can be connected via LPC or I2C
73           and a sandbox TPM is provided for testing purposes. Use the 'tpm'
74           command to interactive the TPM. Driver model support is provided
75           for the low-level TPM interface, but only one TPM is supported at
76           a time by the TPM library.
77
78 menu "Hashing Support"
79
80 config SHA1
81         bool "Enable SHA1 support"
82         help
83           This option enables support of hashing using SHA1 algorithm.
84           The hash is calculated in software.
85           The SHA1 algorithm produces a 160-bit (20-byte) hash value
86           (digest).
87
88 config SHA256
89         bool "Enable SHA256 support"
90         help
91           This option enables support of hashing using SHA256 algorithm.
92           The hash is calculated in software.
93           The SHA256 algorithm produces a 256-bit (32-byte) hash value
94           (digest).
95
96 config SHA_HW_ACCEL
97         bool "Enable hashing using hardware"
98         help
99           This option enables hardware acceleration
100           for SHA1/SHA256 hashing.
101           This affects the 'hash' command and also the
102           hash_lookup_algo() function.
103
104 config SHA_PROG_HW_ACCEL
105         bool "Enable Progressive hashing support using hardware"
106         depends on SHA_HW_ACCEL
107         help
108           This option enables hardware-acceleration for
109           SHA1/SHA256 progressive hashing.
110           Data can be streamed in a block at a time and the hashing
111           is performed in hardware.
112 endmenu
113
114 menu "Compression Support"
115
116 config LZ4
117         bool "Enable LZ4 decompression support"
118         help
119           If this option is set, support for LZ4 compressed images
120           is included. The LZ4 algorithm can run in-place as long as the
121           compressed image is loaded to the end of the output buffer, and
122           trades lower compression ratios for much faster decompression.
123           
124           NOTE: This implements the release version of the LZ4 frame
125           format as generated by default by the 'lz4' command line tool.
126           This is not the same as the outdated, less efficient legacy
127           frame format currently (2015) implemented in the Linux kernel
128           (generated by 'lz4 -l'). The two formats are incompatible.
129
130 endmenu
131
132 config ERRNO_STR
133         bool "Enable function for getting errno-related string message"
134         help
135           The function errno_str(int errno), returns a pointer to the errno
136           corresponding text message:
137           - if errno is null or positive number - a pointer to "Success" message
138           - if errno is negative - a pointer to errno related message
139
140 source lib/efi/Kconfig
141
142 endmenu