17d37aa17SJuan Castillo /* 2*3b94189aSRoberto Vargas * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. 37d37aa17SJuan Castillo * 482cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause 57d37aa17SJuan Castillo */ 67d37aa17SJuan Castillo 7ab1794f5SAntonio Nino Diaz #include <debug.h> 87d37aa17SJuan Castillo 97d37aa17SJuan Castillo /* mbed TLS headers */ 10649dbf6fSJuan Castillo #include <mbedtls/memory_buffer_alloc.h> 11ab1794f5SAntonio Nino Diaz #include <mbedtls/platform.h> 12c46c18c5SAntonio Nino Diaz #include <mbedtls_config.h> 13*3b94189aSRoberto Vargas #include <mbedtls_common.h> 147d37aa17SJuan Castillo 157d37aa17SJuan Castillo /* 167d37aa17SJuan Castillo * mbed TLS heap 177d37aa17SJuan Castillo */ 18dcbf3932SQixiang Xu #if (TF_MBEDTLS_KEY_ALG_ID == TF_MBEDTLS_ECDSA) \ 19dcbf3932SQixiang Xu || (TF_MBEDTLS_KEY_ALG_ID == TF_MBEDTLS_RSA_AND_ECDSA) 209db9c65aSQixiang Xu #define MBEDTLS_HEAP_SIZE (13*1024) 21b1883510SDavid Cunado #elif (TF_MBEDTLS_KEY_ALG_ID == TF_MBEDTLS_RSA) 2238aacad3SSoby Mathew #define MBEDTLS_HEAP_SIZE (7*1024) 237d37aa17SJuan Castillo #endif 247d37aa17SJuan Castillo static unsigned char heap[MBEDTLS_HEAP_SIZE]; 257d37aa17SJuan Castillo 267d37aa17SJuan Castillo /* 277d37aa17SJuan Castillo * mbed TLS initialization function 287d37aa17SJuan Castillo */ 297d37aa17SJuan Castillo void mbedtls_init(void) 307d37aa17SJuan Castillo { 317d37aa17SJuan Castillo static int ready; 327d37aa17SJuan Castillo 337d37aa17SJuan Castillo if (!ready) { 347d37aa17SJuan Castillo /* Initialize the mbed TLS heap */ 35649dbf6fSJuan Castillo mbedtls_memory_buffer_alloc_init(heap, MBEDTLS_HEAP_SIZE); 36ab1794f5SAntonio Nino Diaz 37c46c18c5SAntonio Nino Diaz #ifdef MBEDTLS_PLATFORM_SNPRINTF_ALT 38ab1794f5SAntonio Nino Diaz /* Use reduced version of snprintf to save space. */ 39ab1794f5SAntonio Nino Diaz mbedtls_platform_set_snprintf(tf_snprintf); 40c46c18c5SAntonio Nino Diaz #endif 41ab1794f5SAntonio Nino Diaz 427d37aa17SJuan Castillo ready = 1; 437d37aa17SJuan Castillo } 447d37aa17SJuan Castillo } 45