blob: 8e2c6bdf291955d5892488f51c8f86a9fe7356e2 [file] [log] [blame]
Rui Miguel Silva78a2d012021-12-03 19:05:18 +00001/*
Rui Miguel Silvab8cda412021-12-07 11:50:00 +00002 * Copyright (c) 2019-2023, Arm Limited. All rights reserved.
Rui Miguel Silva78a2d012021-12-03 19:05:18 +00003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#ifndef __PSA_MANIFEST_SID_H__
9#define __PSA_MANIFEST_SID_H__
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15/******** TFM_SP_PS ********/
16#define TFM_PROTECTED_STORAGE_SERVICE_SID (0x00000060U)
17#define TFM_PROTECTED_STORAGE_SERVICE_VERSION (1U)
18#define TFM_PROTECTED_STORAGE_SERVICE_HANDLE (0x40000101U)
19
20/* Invalid UID */
21#define TFM_PS_INVALID_UID 0
22
Rui Miguel Silvacd8df6b2021-12-09 14:11:06 +000023/* PS / ITS message types that distinguish PS services. */
24#define TFM_PS_ITS_SET 1001
25#define TFM_PS_ITS_GET 1002
26#define TFM_PS_ITS_GET_INFO 1003
27#define TFM_PS_ITS_REMOVE 1004
28#define TFM_PS_ITS_GET_SUPPORT 1005
Rui Miguel Silva78a2d012021-12-03 19:05:18 +000029
30/******** TFM_SP_ITS ********/
31#define TFM_INTERNAL_TRUSTED_STORAGE_SERVICE_SID (0x00000070U)
32#define TFM_INTERNAL_TRUSTED_STORAGE_SERVICE_VERSION (1U)
33#define TFM_INTERNAL_TRUSTED_STORAGE_SERVICE_HANDLE (0x40000102U)
34
35/******** TFM_SP_CRYPTO ********/
36#define TFM_CRYPTO_SID (0x00000080U)
37#define TFM_CRYPTO_VERSION (1U)
38#define TFM_CRYPTO_HANDLE (0x40000100U)
39
Rui Miguel Silva40c398f2021-12-09 14:17:39 +000040/**
41 * \brief Define a progressive numerical value for each SID which can be used
42 * when dispatching the requests to the service
43 */
44enum {
45 TFM_CRYPTO_GET_KEY_ATTRIBUTES_SID = (0u),
46 TFM_CRYPTO_RESET_KEY_ATTRIBUTES_SID,
47 TFM_CRYPTO_OPEN_KEY_SID,
48 TFM_CRYPTO_CLOSE_KEY_SID,
49 TFM_CRYPTO_IMPORT_KEY_SID,
50 TFM_CRYPTO_DESTROY_KEY_SID,
51 TFM_CRYPTO_EXPORT_KEY_SID,
52 TFM_CRYPTO_EXPORT_PUBLIC_KEY_SID,
53 TFM_CRYPTO_PURGE_KEY_SID,
54 TFM_CRYPTO_COPY_KEY_SID,
55 TFM_CRYPTO_HASH_COMPUTE_SID,
56 TFM_CRYPTO_HASH_COMPARE_SID,
57 TFM_CRYPTO_HASH_SETUP_SID,
58 TFM_CRYPTO_HASH_UPDATE_SID,
59 TFM_CRYPTO_HASH_FINISH_SID,
60 TFM_CRYPTO_HASH_VERIFY_SID,
61 TFM_CRYPTO_HASH_ABORT_SID,
62 TFM_CRYPTO_HASH_CLONE_SID,
63 TFM_CRYPTO_MAC_COMPUTE_SID,
64 TFM_CRYPTO_MAC_VERIFY_SID,
65 TFM_CRYPTO_MAC_SIGN_SETUP_SID,
66 TFM_CRYPTO_MAC_VERIFY_SETUP_SID,
67 TFM_CRYPTO_MAC_UPDATE_SID,
68 TFM_CRYPTO_MAC_SIGN_FINISH_SID,
69 TFM_CRYPTO_MAC_VERIFY_FINISH_SID,
70 TFM_CRYPTO_MAC_ABORT_SID,
71 TFM_CRYPTO_CIPHER_ENCRYPT_SID,
72 TFM_CRYPTO_CIPHER_DECRYPT_SID,
73 TFM_CRYPTO_CIPHER_ENCRYPT_SETUP_SID,
74 TFM_CRYPTO_CIPHER_DECRYPT_SETUP_SID,
75 TFM_CRYPTO_CIPHER_GENERATE_IV_SID,
76 TFM_CRYPTO_CIPHER_SET_IV_SID,
77 TFM_CRYPTO_CIPHER_UPDATE_SID,
78 TFM_CRYPTO_CIPHER_FINISH_SID,
79 TFM_CRYPTO_CIPHER_ABORT_SID,
80 TFM_CRYPTO_AEAD_ENCRYPT_SID,
81 TFM_CRYPTO_AEAD_DECRYPT_SID,
82 TFM_CRYPTO_AEAD_ENCRYPT_SETUP_SID,
83 TFM_CRYPTO_AEAD_DECRYPT_SETUP_SID,
84 TFM_CRYPTO_AEAD_GENERATE_NONCE_SID,
85 TFM_CRYPTO_AEAD_SET_NONCE_SID,
86 TFM_CRYPTO_AEAD_SET_LENGTHS_SID,
87 TFM_CRYPTO_AEAD_UPDATE_AD_SID,
88 TFM_CRYPTO_AEAD_UPDATE_SID,
89 TFM_CRYPTO_AEAD_FINISH_SID,
90 TFM_CRYPTO_AEAD_VERIFY_SID,
91 TFM_CRYPTO_AEAD_ABORT_SID,
92 TFM_CRYPTO_SIGN_MESSAGE_SID,
93 TFM_CRYPTO_VERIFY_MESSAGE_SID,
94 TFM_CRYPTO_SIGN_HASH_SID,
95 TFM_CRYPTO_VERIFY_HASH_SID,
96 TFM_CRYPTO_ASYMMETRIC_ENCRYPT_SID,
97 TFM_CRYPTO_ASYMMETRIC_DECRYPT_SID,
98 TFM_CRYPTO_KEY_DERIVATION_SETUP_SID,
99 TFM_CRYPTO_KEY_DERIVATION_GET_CAPACITY_SID,
100 TFM_CRYPTO_KEY_DERIVATION_SET_CAPACITY_SID,
101 TFM_CRYPTO_KEY_DERIVATION_INPUT_BYTES_SID,
102 TFM_CRYPTO_KEY_DERIVATION_INPUT_KEY_SID,
103 TFM_CRYPTO_KEY_DERIVATION_KEY_AGREEMENT_SID,
104 TFM_CRYPTO_KEY_DERIVATION_OUTPUT_BYTES_SID,
105 TFM_CRYPTO_KEY_DERIVATION_OUTPUT_KEY_SID,
106 TFM_CRYPTO_KEY_DERIVATION_ABORT_SID,
107 TFM_CRYPTO_RAW_KEY_AGREEMENT_SID,
108 TFM_CRYPTO_GENERATE_RANDOM_SID,
109 TFM_CRYPTO_GENERATE_KEY_SID,
110 TFM_CRYPTO_SID_MAX,
111};
112
Rui Miguel Silva78a2d012021-12-03 19:05:18 +0000113/******** TFM_SP_PLATFORM ********/
114#define TFM_SP_PLATFORM_SYSTEM_RESET_SID (0x00000040U)
115#define TFM_SP_PLATFORM_SYSTEM_RESET_VERSION (1U)
116#define TFM_SP_PLATFORM_IOCTL_SID (0x00000041U)
117#define TFM_SP_PLATFORM_IOCTL_VERSION (1U)
118#define TFM_SP_PLATFORM_NV_COUNTER_SID (0x00000042U)
119#define TFM_SP_PLATFORM_NV_COUNTER_VERSION (1U)
120
121/******** TFM_SP_INITIAL_ATTESTATION ********/
122#define TFM_ATTESTATION_SERVICE_SID (0x00000020U)
123#define TFM_ATTESTATION_SERVICE_VERSION (1U)
124#define TFM_ATTESTATION_SERVICE_HANDLE (0x40000103U)
125
Rui Miguel Silvab8cda412021-12-07 11:50:00 +0000126/* Initial Attestation message types that distinguish Attest services. */
127#define TFM_ATTEST_GET_TOKEN 1001
128#define TFM_ATTEST_GET_TOKEN_SIZE 1002
129
Rui Miguel Silva78a2d012021-12-03 19:05:18 +0000130/******** TFM_SP_FWU ********/
131#define TFM_FWU_WRITE_SID (0x000000A0U)
132#define TFM_FWU_WRITE_VERSION (1U)
133#define TFM_FWU_INSTALL_SID (0x000000A1U)
134#define TFM_FWU_INSTALL_VERSION (1U)
135#define TFM_FWU_ABORT_SID (0x000000A2U)
136#define TFM_FWU_ABORT_VERSION (1U)
137#define TFM_FWU_QUERY_SID (0x000000A3U)
138#define TFM_FWU_QUERY_VERSION (1U)
139#define TFM_FWU_REQUEST_REBOOT_SID (0x000000A4U)
140#define TFM_FWU_REQUEST_REBOOT_VERSION (1U)
141#define TFM_FWU_ACCEPT_SID (0x000000A5U)
142#define TFM_FWU_ACCEPT_VERSION (1U)
143
144#ifdef __cplusplus
145}
146#endif
147
148#endif /* __PSA_MANIFEST_SID_H__ */