xref: /optee_os/lib/libmbedtls/include/mbedtls_config_kernel.h (revision d2e5e90e5e4f73d7284b312e47726d1f8379c16e)
1a97bc4a0SJens Wiklander /* SPDX-License-Identifier: BSD-2-Clause */
2a97bc4a0SJens Wiklander /* Copyright (c) 2018, Linaro Limited */
3e789ada3SJens Wiklander #ifndef __MBEDTLS_CONFIG_KERNEL_H
4e789ada3SJens Wiklander #define __MBEDTLS_CONFIG_KERNEL_H
5e789ada3SJens Wiklander 
6e789ada3SJens Wiklander #ifdef CFG_CORE_MBEDTLS_MPI
7c6e2ead3SJens Wiklander #ifdef ARM32
8c6e2ead3SJens Wiklander #define MBEDTLS_HAVE_INT32
9c6e2ead3SJens Wiklander #endif
10c6e2ead3SJens Wiklander #ifdef ARM64
11c6e2ead3SJens Wiklander #define MBEDTLS_HAVE_INT64
12c6e2ead3SJens Wiklander #endif
13e789ada3SJens Wiklander #define MBEDTLS_BIGNUM_C
14e789ada3SJens Wiklander #define MBEDTLS_GENPRIME
15e789ada3SJens Wiklander #endif
16e789ada3SJens Wiklander 
1777327d7aSEdison Ai /* Test if Mbedtls is the primary crypto lib */
1877327d7aSEdison Ai #ifdef CFG_CRYPTOLIB_NAME_mbedtls
1977327d7aSEdison Ai 
20dddd6a26SJens Wiklander #if defined(CFG_CRYPTO_MD5)
21dddd6a26SJens Wiklander #define MBEDTLS_MD5_C
22dddd6a26SJens Wiklander #define MBEDTLS_MD_C
23dddd6a26SJens Wiklander #endif
24dddd6a26SJens Wiklander 
25dddd6a26SJens Wiklander #if defined(CFG_CRYPTO_SHA1)
26dddd6a26SJens Wiklander #define MBEDTLS_SHA1_C
27dddd6a26SJens Wiklander #define MBEDTLS_MD_C
28dddd6a26SJens Wiklander #endif
29dddd6a26SJens Wiklander 
30dddd6a26SJens Wiklander #if defined(CFG_CRYPTO_SHA224) || defined(CFG_CRYPTO_SHA256)
31dddd6a26SJens Wiklander #define MBEDTLS_SHA256_C
32dddd6a26SJens Wiklander #define MBEDTLS_MD_C
33dddd6a26SJens Wiklander #endif
34dddd6a26SJens Wiklander 
35dddd6a26SJens Wiklander #if defined(CFG_CRYPTO_SHA384) || defined(CFG_CRYPTO_SHA512)
36dddd6a26SJens Wiklander #define MBEDTLS_SHA512_C
37dddd6a26SJens Wiklander #define MBEDTLS_MD_C
38dddd6a26SJens Wiklander #endif
39dddd6a26SJens Wiklander 
40*d2e5e90eSEdison Ai #if defined(CFG_CRYPTO_AES)
41*d2e5e90eSEdison Ai #define MBEDTLS_AES_C
42*d2e5e90eSEdison Ai #define MBEDTLS_AES_ROM_TABLES
43*d2e5e90eSEdison Ai #endif
44*d2e5e90eSEdison Ai 
45*d2e5e90eSEdison Ai #if defined(CFG_CRYPTO_DES)
46*d2e5e90eSEdison Ai #define MBEDTLS_DES_C
47*d2e5e90eSEdison Ai #endif
48*d2e5e90eSEdison Ai 
49*d2e5e90eSEdison Ai #if defined(CFG_CRYPTO_CBC)
50*d2e5e90eSEdison Ai #define MBEDTLS_CIPHER_MODE_CBC
51*d2e5e90eSEdison Ai #endif
52*d2e5e90eSEdison Ai 
53*d2e5e90eSEdison Ai #if defined(CFG_CRYPTO_CTR)
54*d2e5e90eSEdison Ai #define MBEDTLS_CIPHER_MODE_CTR
55*d2e5e90eSEdison Ai #endif
56*d2e5e90eSEdison Ai 
5777327d7aSEdison Ai #endif /*CFG_CRYPTOLIB_NAME_mbedtls*/
5877327d7aSEdison Ai 
59e789ada3SJens Wiklander #include <mbedtls/check_config.h>
60e789ada3SJens Wiklander 
61e789ada3SJens Wiklander #endif /* __MBEDTLS_CONFIG_KERNEL_H */
62