1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2019-2020, Arm Limited. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #ifndef FCONF_TBBR_GETTER_H 8*91f16700Schasinglulu #define FCONF_TBBR_GETTER_H 9*91f16700Schasinglulu 10*91f16700Schasinglulu #include <assert.h> 11*91f16700Schasinglulu 12*91f16700Schasinglulu #include <lib/fconf/fconf.h> 13*91f16700Schasinglulu 14*91f16700Schasinglulu /* TBBR related getter */ 15*91f16700Schasinglulu #define tbbr__cot_getter(id) __extension__ ({ \ 16*91f16700Schasinglulu assert((id) < cot_desc_size); \ 17*91f16700Schasinglulu cot_desc_ptr[id]; \ 18*91f16700Schasinglulu }) 19*91f16700Schasinglulu 20*91f16700Schasinglulu #define tbbr__dyn_config_getter(id) tbbr_dyn_config.id 21*91f16700Schasinglulu 22*91f16700Schasinglulu struct tbbr_dyn_config_t { 23*91f16700Schasinglulu uint32_t disable_auth; 24*91f16700Schasinglulu void *mbedtls_heap_addr; 25*91f16700Schasinglulu size_t mbedtls_heap_size; 26*91f16700Schasinglulu }; 27*91f16700Schasinglulu 28*91f16700Schasinglulu extern struct tbbr_dyn_config_t tbbr_dyn_config; 29*91f16700Schasinglulu 30*91f16700Schasinglulu int fconf_populate_tbbr_dyn_config(uintptr_t config); 31*91f16700Schasinglulu 32*91f16700Schasinglulu #endif /* FCONF_TBBR_GETTER_H */ 33