]> git.dujemihanovic.xyz Git - u-boot.git/commit
mbedtls: add mbedtls into the build system
authorRaymond Mao <raymond.mao@linaro.org>
Thu, 3 Oct 2024 21:50:15 +0000 (14:50 -0700)
committerTom Rini <trini@konsulko.com>
Mon, 14 Oct 2024 23:58:12 +0000 (17:58 -0600)
commit13de8483388c8ca2feed74de229540b0b3822025
treeb48ea45136c66d6df8dae72cbfdd4dd0a6fd3784
parent25ce987bb9d6900bc5e3b120850ee19373f181dc
mbedtls: add mbedtls into the build system

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>
14 files changed:
Makefile
include/limits.h [new file with mode: 0644]
include/linux/kernel.h
include/stdlib.h
lib/Kconfig
lib/Makefile
lib/mbedtls/Kconfig [new file with mode: 0644]
lib/mbedtls/Makefile [new file with mode: 0644]
lib/mbedtls/mbedtls_def_config.h [new file with mode: 0644]
lib/mbedtls/port/assert.h [new file with mode: 0644]
lib/mbedtls/port/md5_alt.h [new file with mode: 0644]
lib/mbedtls/port/sha1_alt.h [new file with mode: 0644]
lib/mbedtls/port/sha256_alt.h [new file with mode: 0644]
lib/mbedtls/port/sha512_alt.h [new file with mode: 0644]