Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 1 | /* |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 2 | * Copyright (c) 2018-2020, Arm Limited. All rights reserved. |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 3 | * |
| 4 | * SPDX-License-Identifier: BSD-3-Clause |
| 5 | * |
| 6 | */ |
| 7 | |
| 8 | /*********** WARNING: This is an auto-generated file. Do not edit! ***********/ |
| 9 | |
| 10 | #include "tfm_secure_api.h" |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 11 | #include "secure_fw/spm/spm_partition_defs.h" |
| 12 | |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 13 | #ifdef TFM_PARTITION_SECURE_STORAGE |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 14 | /******** TFM_SP_STORAGE ********/ |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 15 | psa_status_t tfm_sst_set_req(psa_invec *, size_t, psa_outvec *, size_t); |
| 16 | psa_status_t tfm_sst_get_req(psa_invec *, size_t, psa_outvec *, size_t); |
| 17 | psa_status_t tfm_sst_get_info_req(psa_invec *, size_t, psa_outvec *, size_t); |
| 18 | psa_status_t tfm_sst_remove_req(psa_invec *, size_t, psa_outvec *, size_t); |
| 19 | psa_status_t tfm_sst_get_support_req(psa_invec *, size_t, psa_outvec *, size_t); |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 20 | #endif /* TFM_PARTITION_SECURE_STORAGE */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 21 | |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 22 | #ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
TudorCretu | fb182bc | 2019-07-05 17:34:12 +0100 | [diff] [blame] | 23 | /******** TFM_SP_ITS ********/ |
| 24 | psa_status_t tfm_its_set_req(psa_invec *, size_t, psa_outvec *, size_t); |
| 25 | psa_status_t tfm_its_get_req(psa_invec *, size_t, psa_outvec *, size_t); |
| 26 | psa_status_t tfm_its_get_info_req(psa_invec *, size_t, psa_outvec *, size_t); |
| 27 | psa_status_t tfm_its_remove_req(psa_invec *, size_t, psa_outvec *, size_t); |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 28 | #endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */ |
TudorCretu | fb182bc | 2019-07-05 17:34:12 +0100 | [diff] [blame] | 29 | |
Jamie Fox | c78c62c | 2019-05-23 13:42:17 +0100 | [diff] [blame] | 30 | #ifdef TFM_PARTITION_AUDIT_LOG |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 31 | /******** TFM_SP_AUDIT_LOG ********/ |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 32 | psa_status_t audit_core_retrieve_record(psa_invec *, size_t, psa_outvec *, size_t); |
| 33 | psa_status_t audit_core_add_record(psa_invec *, size_t, psa_outvec *, size_t); |
| 34 | psa_status_t audit_core_get_info(psa_invec *, size_t, psa_outvec *, size_t); |
| 35 | psa_status_t audit_core_get_record_info(psa_invec *, size_t, psa_outvec *, size_t); |
| 36 | psa_status_t audit_core_delete_record(psa_invec *, size_t, psa_outvec *, size_t); |
Jamie Fox | c78c62c | 2019-05-23 13:42:17 +0100 | [diff] [blame] | 37 | #endif /* TFM_PARTITION_AUDIT_LOG */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 38 | |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 39 | #ifdef TFM_PARTITION_CRYPTO |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 40 | /******** TFM_SP_CRYPTO ********/ |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 41 | psa_status_t tfm_crypto_get_key_attributes(psa_invec *, size_t, psa_outvec *, size_t); |
Jamie Fox | dadb4e8 | 2019-09-03 17:59:41 +0100 | [diff] [blame] | 42 | psa_status_t tfm_crypto_open_key(psa_invec *, size_t, psa_outvec *, size_t); |
| 43 | psa_status_t tfm_crypto_close_key(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 44 | psa_status_t tfm_crypto_reset_key_attributes(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 45 | psa_status_t tfm_crypto_import_key(psa_invec *, size_t, psa_outvec *, size_t); |
| 46 | psa_status_t tfm_crypto_destroy_key(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 47 | psa_status_t tfm_crypto_export_key(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 48 | psa_status_t tfm_crypto_export_public_key(psa_invec *, size_t, psa_outvec *, size_t); |
| 49 | psa_status_t tfm_crypto_copy_key(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 50 | psa_status_t tfm_crypto_hash_compute(psa_invec *, size_t, psa_outvec *, size_t); |
| 51 | psa_status_t tfm_crypto_hash_compare(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 52 | psa_status_t tfm_crypto_hash_setup(psa_invec *, size_t, psa_outvec *, size_t); |
| 53 | psa_status_t tfm_crypto_hash_update(psa_invec *, size_t, psa_outvec *, size_t); |
| 54 | psa_status_t tfm_crypto_hash_finish(psa_invec *, size_t, psa_outvec *, size_t); |
| 55 | psa_status_t tfm_crypto_hash_verify(psa_invec *, size_t, psa_outvec *, size_t); |
| 56 | psa_status_t tfm_crypto_hash_abort(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 57 | psa_status_t tfm_crypto_hash_clone(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 58 | psa_status_t tfm_crypto_mac_compute(psa_invec *, size_t, psa_outvec *, size_t); |
| 59 | psa_status_t tfm_crypto_mac_verify(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 60 | psa_status_t tfm_crypto_mac_sign_setup(psa_invec *, size_t, psa_outvec *, size_t); |
| 61 | psa_status_t tfm_crypto_mac_verify_setup(psa_invec *, size_t, psa_outvec *, size_t); |
| 62 | psa_status_t tfm_crypto_mac_update(psa_invec *, size_t, psa_outvec *, size_t); |
| 63 | psa_status_t tfm_crypto_mac_sign_finish(psa_invec *, size_t, psa_outvec *, size_t); |
| 64 | psa_status_t tfm_crypto_mac_verify_finish(psa_invec *, size_t, psa_outvec *, size_t); |
| 65 | psa_status_t tfm_crypto_mac_abort(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 66 | psa_status_t tfm_crypto_cipher_encrypt(psa_invec *, size_t, psa_outvec *, size_t); |
| 67 | psa_status_t tfm_crypto_cipher_decrypt(psa_invec *, size_t, psa_outvec *, size_t); |
| 68 | psa_status_t tfm_crypto_cipher_encrypt_setup(psa_invec *, size_t, psa_outvec *, size_t); |
| 69 | psa_status_t tfm_crypto_cipher_decrypt_setup(psa_invec *, size_t, psa_outvec *, size_t); |
| 70 | psa_status_t tfm_crypto_cipher_generate_iv(psa_invec *, size_t, psa_outvec *, size_t); |
| 71 | psa_status_t tfm_crypto_cipher_set_iv(psa_invec *, size_t, psa_outvec *, size_t); |
| 72 | psa_status_t tfm_crypto_cipher_update(psa_invec *, size_t, psa_outvec *, size_t); |
| 73 | psa_status_t tfm_crypto_cipher_finish(psa_invec *, size_t, psa_outvec *, size_t); |
| 74 | psa_status_t tfm_crypto_cipher_abort(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | ab85ccd | 2019-03-25 15:14:29 +0000 | [diff] [blame] | 75 | psa_status_t tfm_crypto_aead_encrypt(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 76 | psa_status_t tfm_crypto_aead_decrypt(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 77 | psa_status_t tfm_crypto_aead_encrypt_setup(psa_invec *, size_t, psa_outvec *, size_t); |
| 78 | psa_status_t tfm_crypto_aead_decrypt_setup(psa_invec *, size_t, psa_outvec *, size_t); |
| 79 | psa_status_t tfm_crypto_aead_generate_nonce(psa_invec *, size_t, psa_outvec *, size_t); |
| 80 | psa_status_t tfm_crypto_aead_set_nonce(psa_invec *, size_t, psa_outvec *, size_t); |
| 81 | psa_status_t tfm_crypto_aead_set_lengths(psa_invec *, size_t, psa_outvec *, size_t); |
| 82 | psa_status_t tfm_crypto_aead_update_ad(psa_invec *, size_t, psa_outvec *, size_t); |
| 83 | psa_status_t tfm_crypto_aead_update(psa_invec *, size_t, psa_outvec *, size_t); |
| 84 | psa_status_t tfm_crypto_aead_finish(psa_invec *, size_t, psa_outvec *, size_t); |
| 85 | psa_status_t tfm_crypto_aead_verify(psa_invec *, size_t, psa_outvec *, size_t); |
| 86 | psa_status_t tfm_crypto_aead_abort(psa_invec *, size_t, psa_outvec *, size_t); |
| 87 | psa_status_t tfm_crypto_sign_hash(psa_invec *, size_t, psa_outvec *, size_t); |
| 88 | psa_status_t tfm_crypto_verify_hash(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 89 | psa_status_t tfm_crypto_asymmetric_encrypt(psa_invec *, size_t, psa_outvec *, size_t); |
| 90 | psa_status_t tfm_crypto_asymmetric_decrypt(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 91 | psa_status_t tfm_crypto_key_derivation_setup(psa_invec *, size_t, psa_outvec *, size_t); |
| 92 | psa_status_t tfm_crypto_key_derivation_get_capacity(psa_invec *, size_t, psa_outvec *, size_t); |
| 93 | psa_status_t tfm_crypto_key_derivation_set_capacity(psa_invec *, size_t, psa_outvec *, size_t); |
| 94 | psa_status_t tfm_crypto_key_derivation_input_bytes(psa_invec *, size_t, psa_outvec *, size_t); |
| 95 | psa_status_t tfm_crypto_key_derivation_input_key(psa_invec *, size_t, psa_outvec *, size_t); |
| 96 | psa_status_t tfm_crypto_key_derivation_key_agreement(psa_invec *, size_t, psa_outvec *, size_t); |
| 97 | psa_status_t tfm_crypto_key_derivation_output_bytes(psa_invec *, size_t, psa_outvec *, size_t); |
| 98 | psa_status_t tfm_crypto_key_derivation_output_key(psa_invec *, size_t, psa_outvec *, size_t); |
| 99 | psa_status_t tfm_crypto_key_derivation_abort(psa_invec *, size_t, psa_outvec *, size_t); |
| 100 | psa_status_t tfm_crypto_raw_key_agreement(psa_invec *, size_t, psa_outvec *, size_t); |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 101 | psa_status_t tfm_crypto_generate_random(psa_invec *, size_t, psa_outvec *, size_t); |
| 102 | psa_status_t tfm_crypto_generate_key(psa_invec *, size_t, psa_outvec *, size_t); |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 103 | #endif /* TFM_PARTITION_CRYPTO */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 104 | |
Mingyang Sun | 9511e5e | 2019-05-29 18:18:44 +0800 | [diff] [blame] | 105 | #ifdef TFM_PARTITION_PLATFORM |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 106 | /******** TFM_SP_PLATFORM ********/ |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 107 | psa_status_t platform_sp_system_reset(psa_invec *, size_t, psa_outvec *, size_t); |
Miklos Balint | c7b1b6c | 2019-04-24 12:38:36 +0200 | [diff] [blame] | 108 | psa_status_t platform_sp_ioctl(psa_invec *, size_t, psa_outvec *, size_t); |
Galanakis, Minos | ef5118b | 2020-01-21 15:27:14 +0000 | [diff] [blame^] | 109 | psa_status_t platform_sp_nv_counter_read(psa_invec *, size_t, psa_outvec *, size_t); |
| 110 | psa_status_t platform_sp_nv_counter_increment(psa_invec *, size_t, psa_outvec *, size_t); |
Mingyang Sun | 9511e5e | 2019-05-29 18:18:44 +0800 | [diff] [blame] | 111 | #endif /* TFM_PARTITION_PLATFORM */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 112 | |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 113 | #ifdef TFM_PARTITION_INITIAL_ATTESTATION |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 114 | /******** TFM_SP_INITIAL_ATTESTATION ********/ |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 115 | psa_status_t initial_attest_get_token(psa_invec *, size_t, psa_outvec *, size_t); |
| 116 | psa_status_t initial_attest_get_token_size(psa_invec *, size_t, psa_outvec *, size_t); |
David Vincze | ff6da53 | 2019-11-21 00:19:50 +0100 | [diff] [blame] | 117 | psa_status_t initial_attest_get_public_key(psa_invec *, size_t, psa_outvec *, size_t); |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 118 | #endif /* TFM_PARTITION_INITIAL_ATTESTATION */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 119 | |
| 120 | #ifdef TFM_PARTITION_TEST_CORE |
| 121 | /******** TFM_SP_CORE_TEST ********/ |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 122 | psa_status_t spm_core_test_sfn(psa_invec *, size_t, psa_outvec *, size_t); |
| 123 | psa_status_t spm_core_test_sfn_init_success(psa_invec *, size_t, psa_outvec *, size_t); |
| 124 | psa_status_t spm_core_test_sfn_direct_recursion(psa_invec *, size_t, psa_outvec *, size_t); |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 125 | #endif /* TFM_PARTITION_TEST_CORE */ |
| 126 | |
| 127 | #ifdef TFM_PARTITION_TEST_CORE |
| 128 | /******** TFM_SP_CORE_TEST_2 ********/ |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 129 | psa_status_t spm_core_test_2_slave_service(psa_invec *, size_t, psa_outvec *, size_t); |
| 130 | psa_status_t spm_core_test_2_sfn_invert(psa_invec *, size_t, psa_outvec *, size_t); |
| 131 | psa_status_t spm_core_test_2_check_caller_client_id(psa_invec *, size_t, psa_outvec *, size_t); |
| 132 | psa_status_t spm_core_test_2_get_every_second_byte(psa_invec *, size_t, psa_outvec *, size_t); |
Mate Toth-Pal | 14c29d0 | 2019-03-05 16:22:13 +0100 | [diff] [blame] | 133 | psa_status_t spm_core_test_2_prepare_test_scenario(psa_invec *, size_t, psa_outvec *, size_t); |
| 134 | psa_status_t spm_core_test_2_execute_test_scenario(psa_invec *, size_t, psa_outvec *, size_t); |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 135 | #endif /* TFM_PARTITION_TEST_CORE */ |
| 136 | |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 137 | #ifdef TFM_PARTITION_TEST_SECURE_SERVICES |
| 138 | /******** TFM_SP_SECURE_TEST_PARTITION ********/ |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 139 | psa_status_t tfm_secure_client_service_sfn_run_tests(psa_invec *, size_t, psa_outvec *, size_t); |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 140 | #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */ |
| 141 | |
Jamie Fox | adf0255 | 2019-05-16 17:44:52 +0100 | [diff] [blame] | 142 | #ifdef TFM_PARTITION_TEST_CORE_IPC |
Edison Ai | 807fedb | 2019-03-07 11:22:03 +0800 | [diff] [blame] | 143 | /******** TFM_SP_IPC_SERVICE_TEST ********/ |
Jamie Fox | adf0255 | 2019-05-16 17:44:52 +0100 | [diff] [blame] | 144 | #endif /* TFM_PARTITION_TEST_CORE_IPC */ |
Edison Ai | 807fedb | 2019-03-07 11:22:03 +0800 | [diff] [blame] | 145 | |
Jamie Fox | adf0255 | 2019-05-16 17:44:52 +0100 | [diff] [blame] | 146 | #ifdef TFM_PARTITION_TEST_CORE_IPC |
Edison Ai | 807fedb | 2019-03-07 11:22:03 +0800 | [diff] [blame] | 147 | /******** TFM_SP_IPC_CLIENT_TEST ********/ |
Jamie Fox | adf0255 | 2019-05-16 17:44:52 +0100 | [diff] [blame] | 148 | #endif /* TFM_PARTITION_TEST_CORE_IPC */ |
Edison Ai | 807fedb | 2019-03-07 11:22:03 +0800 | [diff] [blame] | 149 | |
David Hu | 33f2fd2 | 2019-08-16 15:32:39 +0800 | [diff] [blame] | 150 | #ifdef TFM_ENABLE_IRQ_TEST |
Mate Toth-Pal | 14c29d0 | 2019-03-05 16:22:13 +0100 | [diff] [blame] | 151 | /******** TFM_IRQ_TEST_1 ********/ |
| 152 | psa_status_t spm_irq_test_1_prepare_test_scenario(psa_invec *, size_t, psa_outvec *, size_t); |
| 153 | psa_status_t spm_irq_test_1_execute_test_scenario(psa_invec *, size_t, psa_outvec *, size_t); |
David Hu | 33f2fd2 | 2019-08-16 15:32:39 +0800 | [diff] [blame] | 154 | #endif /* TFM_ENABLE_IRQ_TEST */ |
Mate Toth-Pal | 14c29d0 | 2019-03-05 16:22:13 +0100 | [diff] [blame] | 155 | |
Jamie Fox | 0e823a0 | 2019-10-28 17:28:19 +0000 | [diff] [blame] | 156 | #ifdef TFM_PARTITION_TEST_SST |
| 157 | /******** TFM_SP_SST_TEST ********/ |
| 158 | psa_status_t tfm_sst_test_prepare(psa_invec *, size_t, psa_outvec *, size_t); |
| 159 | #endif /* TFM_PARTITION_TEST_SST */ |
| 160 | |
Jamie Fox | 830ff76 | 2019-12-16 15:20:22 +0000 | [diff] [blame] | 161 | #ifdef TFM_PARTITION_TEST_SECURE_SERVICES |
| 162 | /******** TFM_SP_SECURE_CLIENT_2 ********/ |
| 163 | psa_status_t tfm_secure_client_2_call(psa_invec *, size_t, psa_outvec *, size_t); |
| 164 | #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */ |
| 165 | |
David Hu | 240f58e | 2019-10-10 10:55:07 +0800 | [diff] [blame] | 166 | #ifdef TFM_MULTI_CORE_TEST |
| 167 | /******** TFM_SP_MULTI_CORE_TEST ********/ |
| 168 | #endif /* TFM_MULTI_CORE_TEST */ |
| 169 | |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 170 | |
| 171 | #define TFM_VENEER_FUNCTION(partition_name, sfn_name) \ |
| 172 | __tfm_secure_gateway_attributes__ \ |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 173 | psa_status_t tfm_##sfn_name##_veneer(psa_invec *in_vec, \ |
Mate Toth-Pal | 2a6f8c2 | 2018-12-13 16:37:17 +0100 | [diff] [blame] | 174 | size_t in_len, \ |
Antonio de Angelis | 09586c5 | 2019-03-27 16:35:31 +0000 | [diff] [blame] | 175 | psa_outvec *out_vec, \ |
Mate Toth-Pal | 2a6f8c2 | 2018-12-13 16:37:17 +0100 | [diff] [blame] | 176 | size_t out_len) \ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 177 | { \ |
Edison Ai | b2134e6 | 2019-10-11 18:24:47 +0800 | [diff] [blame] | 178 | TFM_CORE_IOVEC_SFN_REQUEST(partition_name, \ |
TTornblom | c640e07 | 2019-06-14 14:33:51 +0200 | [diff] [blame] | 179 | (void *) sfn_name, \ |
Mate Toth-Pal | b8ce0dd | 2018-07-25 10:18:34 +0200 | [diff] [blame] | 180 | in_vec, in_len, out_vec, out_len); \ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 181 | } |
| 182 | |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 183 | #ifdef TFM_PARTITION_SECURE_STORAGE |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 184 | /******** TFM_SP_STORAGE ********/ |
Marc Moreno Berengue | 684f61e | 2019-01-25 13:29:52 +0000 | [diff] [blame] | 185 | TFM_VENEER_FUNCTION(TFM_SP_STORAGE, tfm_sst_set_req) |
| 186 | TFM_VENEER_FUNCTION(TFM_SP_STORAGE, tfm_sst_get_req) |
| 187 | TFM_VENEER_FUNCTION(TFM_SP_STORAGE, tfm_sst_get_info_req) |
| 188 | TFM_VENEER_FUNCTION(TFM_SP_STORAGE, tfm_sst_remove_req) |
| 189 | TFM_VENEER_FUNCTION(TFM_SP_STORAGE, tfm_sst_get_support_req) |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 190 | #endif /* TFM_PARTITION_SECURE_STORAGE */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 191 | |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 192 | #ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
TudorCretu | fb182bc | 2019-07-05 17:34:12 +0100 | [diff] [blame] | 193 | /******** TFM_SP_ITS ********/ |
| 194 | TFM_VENEER_FUNCTION(TFM_SP_ITS, tfm_its_set_req) |
| 195 | TFM_VENEER_FUNCTION(TFM_SP_ITS, tfm_its_get_req) |
| 196 | TFM_VENEER_FUNCTION(TFM_SP_ITS, tfm_its_get_info_req) |
| 197 | TFM_VENEER_FUNCTION(TFM_SP_ITS, tfm_its_remove_req) |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 198 | #endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */ |
TudorCretu | fb182bc | 2019-07-05 17:34:12 +0100 | [diff] [blame] | 199 | |
Jamie Fox | c78c62c | 2019-05-23 13:42:17 +0100 | [diff] [blame] | 200 | #ifdef TFM_PARTITION_AUDIT_LOG |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 201 | /******** TFM_SP_AUDIT_LOG ********/ |
| 202 | TFM_VENEER_FUNCTION(TFM_SP_AUDIT_LOG, audit_core_retrieve_record) |
| 203 | TFM_VENEER_FUNCTION(TFM_SP_AUDIT_LOG, audit_core_add_record) |
| 204 | TFM_VENEER_FUNCTION(TFM_SP_AUDIT_LOG, audit_core_get_info) |
| 205 | TFM_VENEER_FUNCTION(TFM_SP_AUDIT_LOG, audit_core_get_record_info) |
| 206 | TFM_VENEER_FUNCTION(TFM_SP_AUDIT_LOG, audit_core_delete_record) |
Jamie Fox | c78c62c | 2019-05-23 13:42:17 +0100 | [diff] [blame] | 207 | #endif /* TFM_PARTITION_AUDIT_LOG */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 208 | |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 209 | #ifdef TFM_PARTITION_CRYPTO |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 210 | /******** TFM_SP_CRYPTO ********/ |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 211 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_get_key_attributes) |
Jamie Fox | dadb4e8 | 2019-09-03 17:59:41 +0100 | [diff] [blame] | 212 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_open_key) |
| 213 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_close_key) |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 214 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_reset_key_attributes) |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 215 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_import_key) |
| 216 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_destroy_key) |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 217 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_export_key) |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 218 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_export_public_key) |
| 219 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_copy_key) |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 220 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_hash_compute) |
| 221 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_hash_compare) |
Antonio de Angelis | 377a155 | 2018-11-22 17:02:40 +0000 | [diff] [blame] | 222 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_hash_setup) |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 223 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_hash_update) |
| 224 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_hash_finish) |
| 225 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_hash_verify) |
| 226 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_hash_abort) |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 227 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_hash_clone) |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 228 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_mac_compute) |
| 229 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_mac_verify) |
Edison Ai | 807fedb | 2019-03-07 11:22:03 +0800 | [diff] [blame] | 230 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_mac_sign_setup) |
| 231 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_mac_verify_setup) |
| 232 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_mac_update) |
| 233 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_mac_sign_finish) |
| 234 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_mac_verify_finish) |
| 235 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_mac_abort) |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 236 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_cipher_encrypt) |
| 237 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_cipher_decrypt) |
| 238 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_cipher_encrypt_setup) |
| 239 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_cipher_decrypt_setup) |
| 240 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_cipher_generate_iv) |
| 241 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_cipher_set_iv) |
| 242 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_cipher_update) |
| 243 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_cipher_finish) |
| 244 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_cipher_abort) |
Antonio de Angelis | ab85ccd | 2019-03-25 15:14:29 +0000 | [diff] [blame] | 245 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_encrypt) |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 246 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_decrypt) |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 247 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_encrypt_setup) |
| 248 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_decrypt_setup) |
| 249 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_generate_nonce) |
| 250 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_set_nonce) |
| 251 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_set_lengths) |
| 252 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_update_ad) |
| 253 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_update) |
| 254 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_finish) |
| 255 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_verify) |
| 256 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_aead_abort) |
| 257 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_sign_hash) |
| 258 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_verify_hash) |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 259 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_asymmetric_encrypt) |
| 260 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_asymmetric_decrypt) |
Antonio de Angelis | 04debbd | 2019-10-14 12:12:52 +0100 | [diff] [blame] | 261 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_key_derivation_setup) |
| 262 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_key_derivation_get_capacity) |
| 263 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_key_derivation_set_capacity) |
| 264 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_key_derivation_input_bytes) |
| 265 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_key_derivation_input_key) |
| 266 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_key_derivation_key_agreement) |
| 267 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_key_derivation_output_bytes) |
| 268 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_key_derivation_output_key) |
| 269 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_key_derivation_abort) |
| 270 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_raw_key_agreement) |
Antonio de Angelis | 25e2b2d | 2019-04-25 14:49:50 +0100 | [diff] [blame] | 271 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_generate_random) |
| 272 | TFM_VENEER_FUNCTION(TFM_SP_CRYPTO, tfm_crypto_generate_key) |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 273 | #endif /* TFM_PARTITION_CRYPTO */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 274 | |
Mingyang Sun | 9511e5e | 2019-05-29 18:18:44 +0800 | [diff] [blame] | 275 | #ifdef TFM_PARTITION_PLATFORM |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 276 | /******** TFM_SP_PLATFORM ********/ |
| 277 | TFM_VENEER_FUNCTION(TFM_SP_PLATFORM, platform_sp_system_reset) |
Miklos Balint | c7b1b6c | 2019-04-24 12:38:36 +0200 | [diff] [blame] | 278 | TFM_VENEER_FUNCTION(TFM_SP_PLATFORM, platform_sp_ioctl) |
Galanakis, Minos | ef5118b | 2020-01-21 15:27:14 +0000 | [diff] [blame^] | 279 | TFM_VENEER_FUNCTION(TFM_SP_PLATFORM, platform_sp_nv_counter_read) |
| 280 | TFM_VENEER_FUNCTION(TFM_SP_PLATFORM, platform_sp_nv_counter_increment) |
Mingyang Sun | 9511e5e | 2019-05-29 18:18:44 +0800 | [diff] [blame] | 281 | #endif /* TFM_PARTITION_PLATFORM */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 282 | |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 283 | #ifdef TFM_PARTITION_INITIAL_ATTESTATION |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 284 | /******** TFM_SP_INITIAL_ATTESTATION ********/ |
| 285 | TFM_VENEER_FUNCTION(TFM_SP_INITIAL_ATTESTATION, initial_attest_get_token) |
Tamas Ban | b6b8056 | 2019-01-04 22:49:24 +0000 | [diff] [blame] | 286 | TFM_VENEER_FUNCTION(TFM_SP_INITIAL_ATTESTATION, initial_attest_get_token_size) |
David Vincze | ff6da53 | 2019-11-21 00:19:50 +0100 | [diff] [blame] | 287 | TFM_VENEER_FUNCTION(TFM_SP_INITIAL_ATTESTATION, initial_attest_get_public_key) |
Kevin Peng | c73130f | 2019-10-22 17:27:18 +0800 | [diff] [blame] | 288 | #endif /* TFM_PARTITION_INITIAL_ATTESTATION */ |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 289 | |
| 290 | #ifdef TFM_PARTITION_TEST_CORE |
| 291 | /******** TFM_SP_CORE_TEST ********/ |
| 292 | TFM_VENEER_FUNCTION(TFM_SP_CORE_TEST, spm_core_test_sfn) |
| 293 | TFM_VENEER_FUNCTION(TFM_SP_CORE_TEST, spm_core_test_sfn_init_success) |
| 294 | TFM_VENEER_FUNCTION(TFM_SP_CORE_TEST, spm_core_test_sfn_direct_recursion) |
| 295 | #endif /* TFM_PARTITION_TEST_CORE */ |
| 296 | |
| 297 | #ifdef TFM_PARTITION_TEST_CORE |
| 298 | /******** TFM_SP_CORE_TEST_2 ********/ |
| 299 | TFM_VENEER_FUNCTION(TFM_SP_CORE_TEST_2, spm_core_test_2_slave_service) |
| 300 | TFM_VENEER_FUNCTION(TFM_SP_CORE_TEST_2, spm_core_test_2_sfn_invert) |
| 301 | TFM_VENEER_FUNCTION(TFM_SP_CORE_TEST_2, spm_core_test_2_check_caller_client_id) |
Mate Toth-Pal | 16ec798 | 2018-08-29 09:44:17 +0200 | [diff] [blame] | 302 | TFM_VENEER_FUNCTION(TFM_SP_CORE_TEST_2, spm_core_test_2_get_every_second_byte) |
Mate Toth-Pal | 14c29d0 | 2019-03-05 16:22:13 +0100 | [diff] [blame] | 303 | TFM_VENEER_FUNCTION(TFM_SP_CORE_TEST_2, spm_core_test_2_prepare_test_scenario) |
| 304 | TFM_VENEER_FUNCTION(TFM_SP_CORE_TEST_2, spm_core_test_2_execute_test_scenario) |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 305 | #endif /* TFM_PARTITION_TEST_CORE */ |
| 306 | |
Miklos Balint | bf25a40 | 2018-06-14 17:43:54 +0200 | [diff] [blame] | 307 | #ifdef TFM_PARTITION_TEST_SECURE_SERVICES |
| 308 | /******** TFM_SP_SECURE_TEST_PARTITION ********/ |
| 309 | TFM_VENEER_FUNCTION(TFM_SP_SECURE_TEST_PARTITION, tfm_secure_client_service_sfn_run_tests) |
| 310 | #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */ |
| 311 | |
Jamie Fox | adf0255 | 2019-05-16 17:44:52 +0100 | [diff] [blame] | 312 | #ifdef TFM_PARTITION_TEST_CORE_IPC |
Edison Ai | 807fedb | 2019-03-07 11:22:03 +0800 | [diff] [blame] | 313 | /******** TFM_SP_IPC_SERVICE_TEST ********/ |
Jamie Fox | adf0255 | 2019-05-16 17:44:52 +0100 | [diff] [blame] | 314 | #endif /* TFM_PARTITION_TEST_CORE_IPC */ |
Edison Ai | 807fedb | 2019-03-07 11:22:03 +0800 | [diff] [blame] | 315 | |
Jamie Fox | adf0255 | 2019-05-16 17:44:52 +0100 | [diff] [blame] | 316 | #ifdef TFM_PARTITION_TEST_CORE_IPC |
Edison Ai | 807fedb | 2019-03-07 11:22:03 +0800 | [diff] [blame] | 317 | /******** TFM_SP_IPC_CLIENT_TEST ********/ |
Jamie Fox | adf0255 | 2019-05-16 17:44:52 +0100 | [diff] [blame] | 318 | #endif /* TFM_PARTITION_TEST_CORE_IPC */ |
Edison Ai | 807fedb | 2019-03-07 11:22:03 +0800 | [diff] [blame] | 319 | |
David Hu | 33f2fd2 | 2019-08-16 15:32:39 +0800 | [diff] [blame] | 320 | #ifdef TFM_ENABLE_IRQ_TEST |
Mate Toth-Pal | 14c29d0 | 2019-03-05 16:22:13 +0100 | [diff] [blame] | 321 | /******** TFM_IRQ_TEST_1 ********/ |
| 322 | TFM_VENEER_FUNCTION(TFM_IRQ_TEST_1, spm_irq_test_1_prepare_test_scenario) |
| 323 | TFM_VENEER_FUNCTION(TFM_IRQ_TEST_1, spm_irq_test_1_execute_test_scenario) |
David Hu | 33f2fd2 | 2019-08-16 15:32:39 +0800 | [diff] [blame] | 324 | #endif /* TFM_ENABLE_IRQ_TEST */ |
Mate Toth-Pal | 14c29d0 | 2019-03-05 16:22:13 +0100 | [diff] [blame] | 325 | |
Jamie Fox | 0e823a0 | 2019-10-28 17:28:19 +0000 | [diff] [blame] | 326 | #ifdef TFM_PARTITION_TEST_SST |
| 327 | /******** TFM_SP_SST_TEST ********/ |
| 328 | TFM_VENEER_FUNCTION(TFM_SP_SST_TEST, tfm_sst_test_prepare) |
| 329 | #endif /* TFM_PARTITION_TEST_SST */ |
| 330 | |
Jamie Fox | 830ff76 | 2019-12-16 15:20:22 +0000 | [diff] [blame] | 331 | #ifdef TFM_PARTITION_TEST_SECURE_SERVICES |
| 332 | /******** TFM_SP_SECURE_CLIENT_2 ********/ |
| 333 | TFM_VENEER_FUNCTION(TFM_SP_SECURE_CLIENT_2, tfm_secure_client_2_call) |
| 334 | #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */ |
| 335 | |
David Hu | 240f58e | 2019-10-10 10:55:07 +0800 | [diff] [blame] | 336 | #ifdef TFM_MULTI_CORE_TEST |
| 337 | /******** TFM_SP_MULTI_CORE_TEST ********/ |
| 338 | #endif /* TFM_MULTI_CORE_TEST */ |
| 339 | |