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 402b716cccSEdison Ai #if defined(CFG_CRYPTO_HMAC) 412b716cccSEdison Ai #define MBEDTLS_MD_C 422b716cccSEdison Ai #endif 432b716cccSEdison Ai 44d2e5e90eSEdison Ai #if defined(CFG_CRYPTO_AES) 45d2e5e90eSEdison Ai #define MBEDTLS_AES_C 46d2e5e90eSEdison Ai #define MBEDTLS_AES_ROM_TABLES 47d2e5e90eSEdison Ai #endif 48d2e5e90eSEdison Ai 49d2e5e90eSEdison Ai #if defined(CFG_CRYPTO_DES) 50d2e5e90eSEdison Ai #define MBEDTLS_DES_C 51d2e5e90eSEdison Ai #endif 52d2e5e90eSEdison Ai 53d2e5e90eSEdison Ai #if defined(CFG_CRYPTO_CBC) 54d2e5e90eSEdison Ai #define MBEDTLS_CIPHER_MODE_CBC 55d2e5e90eSEdison Ai #endif 56d2e5e90eSEdison Ai 57d2e5e90eSEdison Ai #if defined(CFG_CRYPTO_CTR) 58d2e5e90eSEdison Ai #define MBEDTLS_CIPHER_MODE_CTR 59d2e5e90eSEdison Ai #endif 60d2e5e90eSEdison Ai 61ebc81cdcSEdison Ai #if defined(CFG_CRYPTO_CMAC) 62ebc81cdcSEdison Ai #define MBEDTLS_CMAC_C 63ebc81cdcSEdison Ai #define MBEDTLS_CIPHER_C 64ebc81cdcSEdison Ai #endif 65ebc81cdcSEdison Ai 66*000fae55SEdison Ai #if defined(CFG_CRYPTO_RSA) || defined(CFG_CRYPTO_DSA) || \ 67*000fae55SEdison Ai defined(CFG_CRYPTO_DH) || defined(CFG_CRYPTO_ECC) 68*000fae55SEdison Ai #define MBEDTLS_BIGNUM_C 69*000fae55SEdison Ai #endif 70*000fae55SEdison Ai 7177327d7aSEdison Ai #endif /*CFG_CRYPTOLIB_NAME_mbedtls*/ 7277327d7aSEdison Ai 73e789ada3SJens Wiklander #include <mbedtls/check_config.h> 74e789ada3SJens Wiklander 75e789ada3SJens Wiklander #endif /* __MBEDTLS_CONFIG_KERNEL_H */ 76