From 2e13c372f1419f08dab7797b244681f889dd9bcf Mon Sep 17 00:00:00 2001 From: Michal Hanus Date: Mon, 14 Apr 2025 22:04:32 +0200 Subject: nrfdemo --- .../api_ns/interface/include/tfm_ns_interface.h | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 nrfdemo/build/tfm/api_ns/interface/include/tfm_ns_interface.h (limited to 'nrfdemo/build/tfm/api_ns/interface/include/tfm_ns_interface.h') diff --git a/nrfdemo/build/tfm/api_ns/interface/include/tfm_ns_interface.h b/nrfdemo/build/tfm/api_ns/interface/include/tfm_ns_interface.h new file mode 100644 index 0000000..32a04c5 --- /dev/null +++ b/nrfdemo/build/tfm/api_ns/interface/include/tfm_ns_interface.h @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2017-2021, Arm Limited. All rights reserved. + * Copyright (c) 2023 Cypress Semiconductor Corporation (an Infineon company) + * or an affiliate of Cypress Semiconductor Corporation. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + * + */ +#ifndef __TFM_NS_INTERFACE_H__ +#define __TFM_NS_INTERFACE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "tfm_veneers.h" + +typedef int32_t (*veneer_fn) (uint32_t arg0, uint32_t arg1, + uint32_t arg2, uint32_t arg3); + +/** + * \brief NS interface, veneer function dispatcher + * + * \details This function implements the dispatching mechanism for the + * desired veneer function, to be called with the parameters + * described from arg0 to arg3. + * + * \note NSPE can use default implementation of this function or implement + * this function according to NS specific implementation and actual + * usage scenario. + * + * \param[in] fn Function pointer to the veneer function desired + * \param[in] arg0 Argument 0 of fn + * \param[in] arg1 Argument 1 of fn + * \param[in] arg2 Argument 2 of fn + * \param[in] arg3 Argument 3 of fn + * + * \return Returns the same return value of the requested veneer function + * + * \note This API must ensure the return value is from the veneer function. + * Other unrecoverable errors must be considered as fatal error and should + * not return. + */ +int32_t tfm_ns_interface_dispatch(veneer_fn fn, + uint32_t arg0, uint32_t arg1, + uint32_t arg2, uint32_t arg3); + +/** + * \brief NS interface initialization function + * + * \details This function initializes TF-M NS interface. + * + * \note NSPE can use default implementation of this function or implement + * this function according to NS specific implementation and actual + * usage scenario. + * + * \return \ref OS_WRAPPER_SUCCESS on success or \ref OS_WRAPPER_ERROR on error + */ +uint32_t tfm_ns_interface_init(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __TFM_NS_INTERFACE_H__ */ -- cgit v1.2.3