
Port mbedtls with adapted libc header files. Add mbedtls default config header file. Optimize mbedtls default config by disabling unused features to reduce the target size. Add mbedtls kbuild makefile. Add Kconfig skeleton and config submenu entry for selecting crypto libraries between mbedtls and legacy ones. Add the mbedtls include directories into the build system. Port u-boot hash functions as MbedTLS crypto alternatives and set it as default. Subsequent patches will separate those Kconfigs into pairs of _LEGACY and _MBEDTLS for controlling the implementations of legacy crypto libraries and MbedTLS ones respectively. The motivation of moving and adapting *INT* macros from kernel.h to limits.h is to fulfill the MbedTLS building requirement. The conditional compilation statements in MbedTLS expects the *INT* macros as constant expressions, thus expressions like `((int)(~0U >> 1))` will not work. Prerequisite ------------ This patch series requires mbedtls git repo to be added as a subtree to the main U-Boot repo via: $ git subtree add --prefix lib/mbedtls/external/mbedtls \ https://github.com/Mbed-TLS/mbedtls.git \ v3.6.0 --squash Moreover, due to the Windows-style files from mbedtls git repo, we need to convert the CRLF endings to LF and do a commit manually: $ git add --renormalize . $ git commit Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
57 lines
1.2 KiB
Plaintext
57 lines
1.2 KiB
Plaintext
choice
|
|
prompt "Select crypto libraries"
|
|
default LEGACY_CRYPTO
|
|
help
|
|
Select crypto libraries.
|
|
LEGACY_CRYPTO for legacy crypto libraries,
|
|
MBEDTLS_LIB for MbedTLS libraries.
|
|
|
|
config LEGACY_CRYPTO
|
|
bool "legacy crypto libraries"
|
|
select LEGACY_CRYPTO_BASIC
|
|
select LEGACY_CRYPTO_CERT
|
|
|
|
config MBEDTLS_LIB
|
|
bool "MbedTLS libraries"
|
|
select MBEDTLS_LIB_X509
|
|
endchoice
|
|
|
|
if LEGACY_CRYPTO || MBEDTLS_LIB_CRYPTO_ALT
|
|
|
|
config LEGACY_CRYPTO_BASIC
|
|
bool "legacy basic crypto libraries"
|
|
help
|
|
Enable legacy basic crypto libraries.
|
|
|
|
config LEGACY_CRYPTO_CERT
|
|
bool "legacy certificate libraries"
|
|
help
|
|
Enable legacy certificate libraries.
|
|
|
|
endif # LEGACY_CRYPTO
|
|
|
|
if MBEDTLS_LIB
|
|
|
|
config MBEDTLS_LIB_CRYPTO_ALT
|
|
bool "MbedTLS crypto alternatives"
|
|
depends on MBEDTLS_LIB && !MBEDTLS_LIB_CRYPTO
|
|
select LEGACY_CRYPTO_BASIC
|
|
default y if MBEDTLS_LIB && !MBEDTLS_LIB_CRYPTO
|
|
help
|
|
Enable MbedTLS crypto alternatives.
|
|
Mutually incompatible with MBEDTLS_LIB_CRYPTO.
|
|
|
|
config MBEDTLS_LIB_CRYPTO
|
|
bool "MbedTLS crypto libraries"
|
|
help
|
|
Enable MbedTLS crypto libraries.
|
|
Mutually incompatible with MBEDTLS_LIB_CRYPTO_ALT.
|
|
|
|
|
|
config MBEDTLS_LIB_X509
|
|
bool "MbedTLS certificate libraries"
|
|
help
|
|
Enable MbedTLS certificate libraries.
|
|
|
|
endif # MBEDTLS_LIB
|