1 /* 2 * Copyright (c) 2023-2024 Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #include "dpe_plat.h" 9 #include "tfm_plat_defs.h" 10 #include "device_definition.h" 11 #include "rse_kmu_slot_ids.h" 12 #include "tfm_crypto_defs.h" 13 #include "tfm_plat_defs.h" 14 15 #include "sds.h" 16 17 #define SDS_DPE_CTX_HANDLE_STRUCT_ID (0x0000000A) 18 19 TFM_LINK_SET_RO_IN_PARTITION_SECTION("TFM_SP_DPE", "APP-ROT") dpe_plat_get_rot_cdi_key_id(void)20psa_key_id_t dpe_plat_get_rot_cdi_key_id(void) 21 { 22 return TFM_BUILTIN_KEY_ID_ROT_CDI; 23 } 24 25 TFM_LINK_SET_RO_IN_PARTITION_SECTION("TFM_SP_DPE", "APP-ROT") dpe_plat_get_root_attest_key_id(void)26psa_key_id_t dpe_plat_get_root_attest_key_id(void) 27 { 28 return TFM_BUILTIN_KEY_ID_IAK; 29 } 30 31 TFM_LINK_SET_RO_IN_PARTITION_SECTION("TFM_SP_DPE", "APP-ROT") dpe_plat_share_context_with_ap(int ctx_handle)32int dpe_plat_share_context_with_ap(int ctx_handle) 33 { 34 enum tfm_plat_err_t ret; 35 struct sds_structure_desc struct_desc = { 36 .id = SDS_DPE_CTX_HANDLE_STRUCT_ID, 37 .size = sizeof(ctx_handle), 38 .payload = &ctx_handle, 39 .finalize = true 40 }; 41 42 ret = request_sds_struct_add(&struct_desc); 43 if (ret != TFM_PLAT_ERR_SUCCESS) { 44 return -1; 45 } 46 47 return 0; 48 } 49