summaryrefslogtreecommitdiff
path: root/peripheral/keystore/chaabi/libcc54/include/crys/crys_error.h
blob: 2788428f192b2b4384036154f7d1c612725ff31b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
/*******************************************************************
* (c) Copyright 2011-2012 Discretix Technologies Ltd.              *
* This file is licensed under the terms provided in the file       *
* libcc54/LICENSE in this directory or a parent directory          *
********************************************************************/

#ifndef CRYS_ERROR_H
#define CRYS_ERROR_H

/*
 * All the includes that are needed for code using this module to
 * compile correctly should be #included here.
 */
#include "dx_pal_types.h"


#ifdef __cplusplus
extern "C"
{
#endif

  /*
   *  Object name     :  crys_error.h
   *  State           :  %state%
   *  Creation date   :  Wed Nov 17 16:55:47 2004
   *  Last modified   :  %modify_time%
   */
  /** @file
   *  \brief This module defines the error return code types and the numbering spaces of the error codes
   *         for each module of the layers listed below.
   *
   *  \version crys_error.h#1:incl:1
   *  \author adams
   */


/************************ Defines ******************************/
/**
 * \brief The definitions of the error number space used for the different modules
 */

/* ........... Error base numeric mapping definitions ................... */
/* ----------------------------------------------------------------------- */

 /* The global error base number */
#define CRYS_ERROR_BASE          0x00F00000UL

/* The error range number assigned for each layer */
#define CRYS_ERROR_LAYER_RANGE   0x00010000UL

/* The error range number assigned to each module on its specified layer */
#define CRYS_ERROR_MODULE_RANGE  0x00000100UL

/* Defines the layer index for the error mapping */
#define CRYS_LAYER_ERROR_IDX  0UL
#define LLF_LAYER_ERROR_IDX   1UL
#define LLFCD_LAYER_ERROR_IDX 2UL
#define VOS_LAYER_ERROR_IDX   3UL
#define PLAT_LAYER_ERROR_IDX  4UL
#define GENERIC_ERROR_IDX     5UL

/* Defines the module index for error mapping */
#define AES_ERROR_IDX         0x00UL
#define DES_ERROR_IDX         0x01UL
#define HASH_ERROR_IDX        0x02UL
#define HMAC_ERROR_IDX        0x03UL
#define RSA_ERROR_IDX         0x04UL
#define DH_ERROR_IDX          0x05UL
#define RC4_ERROR_IDX         0x06UL
#define INTERNAL_ERROR_IDX    0x07UL
#define ECPKI_ERROR_IDX       0x08UL
#define CMLA_ERROR_IDX        0x09UL
#define CRYS_SST_ERROR_IDX    0x0AUL
#define PKI_ERROR_IDX         0x0BUL
#define RND_ERROR_IDX         0x0CUL
#define COMMON_ERROR_IDX      0x0DUL
#define CCM_ERROR_IDX         0x0EUL
#define INIT_ERROR_IDX        0x0FUL
#define C2_ERROR_IDX          0x10UL
#define KDF_ERROR_IDX         0x11UL
#define KMNG_ERROR_IDX        0x12UL
#define OTF_ERROR_IDX         0x13UL
#define FLOW_ERROR_IDX        0x14UL
#define AESCCM_ERROR_IDX      0x15UL
#define OTF_MC_ERROR_IDX      0x16UL
#define FIPS_ERROR_IDX        0x17UL
#define BYPASS_ERROR_IDX      0x18UL
#define COMBINED_ERROR_IDX    0x19UL
#define SELF_TEST_ERROR_IDX   0x20UL





/* .......... defining the error spaces for each module on each layer ........... */
/* ------------------------------------------------------------------------------ */

/* AES module on the CRYS layer base address - 0x00F00000 */
#define CRYS_AES_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * AES_ERROR_IDX ) )


/* AES module on the LLF layer base address -  0x00F10000 */
#define LLF_AES_MODULE_ERROR_BASE   (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * AES_ERROR_IDX ) )

/* AES module on the LLFCD layer base address - 0x00F20000 */
#define LLFCD_AES_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * LLFCD_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * AES_ERROR_IDX ) )

/* DES module on the CRYS layer base address - 0x00F00100 */
#define CRYS_DES_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * DES_ERROR_IDX ) )


/* DES module on the LLF layer base address -  0x00F10100 */
#define LLF_DES_MODULE_ERROR_BASE   (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * DES_ERROR_IDX ) )

/* DES module on the LLFCD layer base address - 0x00F20100 */
#define LLFCD_DES_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * LLFCD_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * DES_ERROR_IDX ) )

/* HASH module on the CRYS layer base address - 0x00F00200 */
#define CRYS_HASH_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * HASH_ERROR_IDX ) )


/* HASH module on the LLF layer base address -  0x00F10200 */
#define LLF_HASH_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * HASH_ERROR_IDX ) )

/* HASH module on the LLFCD layer base address - 0x00F20200 */
#define LLFCD_HASH_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                      (CRYS_ERROR_LAYER_RANGE * LLFCD_LAYER_ERROR_IDX) + \
                                      (CRYS_ERROR_MODULE_RANGE * HASH_ERROR_IDX ) )

/* HMAC module on the CRYS layer base address - 0x00F00300 */
#define CRYS_HMAC_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * HMAC_ERROR_IDX ) )

/* PKI RSA module on the CRYS layer base address - 0x00F00400 */
#define CRYS_RSA_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                   (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                   (CRYS_ERROR_MODULE_RANGE * RSA_ERROR_IDX ) )

/* DH module on the CRYS layer base address - 0x00F00500 */
#define CRYS_DH_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                   (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                   (CRYS_ERROR_MODULE_RANGE * DH_ERROR_IDX ) )

/* RC4 module on the CRYS layer base address - 0x00F00600 */
#define CRYS_RC4_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                   (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                   (CRYS_ERROR_MODULE_RANGE * RC4_ERROR_IDX ) )

/* RC4 module on the LLF layer base address -  0x00F10600 */
#define LLF_RC4_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                   (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                   (CRYS_ERROR_MODULE_RANGE * RC4_ERROR_IDX ) )


/* INTERNAL debug error module on the CRYS layer base address - 0x00F00700 */
#define CRYS_INTERNAL_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                        (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                        (CRYS_ERROR_MODULE_RANGE * INTERNAL_ERROR_IDX ) )

/* ECPKI module on the CRYS layer base address - 0x00F00800 */
#define CRYS_ECPKI_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * ECPKI_ERROR_IDX ) )

/* ECPKI module on the LLF layer base address -  0x00F10800 */
#define LLF_ECPKI_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * ECPKI_ERROR_IDX ) )

/* CMLA module on the CRYS layer base address - 0x00F00900 */
#define CRYS_CMLA_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * CMLA_ERROR_IDX ) )

/* CRY_SST module on the CRYS layer base address - 0x00F00A00 */
#define CRYS_SST_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * CRYS_SST_ERROR_IDX ) )

/* PKI RSA module on the LLF layer base address -  0x00F10B00 */
#define LLF_PKI_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                   (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                   (CRYS_ERROR_MODULE_RANGE * PKI_ERROR_IDX ) )

/* RND module on the CRYS layer base address - 0x00F00C00 */
#define CRYS_RND_MODULE_ERROR_BASE   (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * RND_ERROR_IDX ) )

/* RND module on the LLF layer base address -  0x00F10C00 */
#define LLF_RND_MODULE_ERROR_BASE    (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * RND_ERROR_IDX ) )

/* RND module on the LLFCD layer base address - 0x00F20C00 */
#define LLFCD_RND_MODULE_ERROR_BASE   (CRYS_ERROR_BASE + \
                                      (CRYS_ERROR_LAYER_RANGE * LLFCD_LAYER_ERROR_IDX) + \
                                      (CRYS_ERROR_MODULE_RANGE * RND_ERROR_IDX ) )

/* COMMMON module on the CRYS layer base address - 0x00F00D00 */
#define CRYS_COMMON_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * COMMON_ERROR_IDX ) )

/* COMMMON module on the LLF layer base address - 0x00F10D00 */
#define LLF_COMMON_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * COMMON_ERROR_IDX ) )

/* CCM module on the CRYS layer base address - 0x00F00E00 */
#define CRYS_CCM_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * CCM_ERROR_IDX ) )

/* INIT module on the CRYS layer base address - 0x00F00F00 */
#define CRYS_INIT_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * INIT_ERROR_IDX ) )

/* C2 module on the CRYS layer base address - 0x00F01000 */
#define CRYS_C2_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                  (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                  (CRYS_ERROR_MODULE_RANGE * C2_ERROR_IDX ) )

/* C2 module on the LLF layer base address - 0x00F11000 */
#define LLF_C2_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                  (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                  (CRYS_ERROR_MODULE_RANGE * C2_ERROR_IDX ) )

/* KDF module on the CRYS layer base address - 0x00F01100 */
#define CRYS_KDF_MODULE_ERROR_BASE (CRYS_ERROR_BASE + \
                                  (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                  (CRYS_ERROR_MODULE_RANGE * KDF_ERROR_IDX ) )

/* KMNG module on the CRYS layer base address -  0x00F01200 */
#define CRYS_KMNG_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * KMNG_ERROR_IDX ) )

/* OTF module on the CRYS layer base address -  0x00F01300 */
#define CRYS_OTF_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * OTF_ERROR_IDX ) )

/* OTF module on the LLF layer base address -  0x00F11300 */
#define LLF_OTF_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * OTF_ERROR_IDX ) )

/* FLOW module on the CRYS layer base address -  0x00F01400 */
#define CRYS_FLOW_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                     (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                     (CRYS_ERROR_MODULE_RANGE * FLOW_ERROR_IDX ) )

/* AESCCM module on the CRYS layer base address - 0x00F01500 */
#define CRYS_AESCCM_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
	                                   (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
	                                   (CRYS_ERROR_MODULE_RANGE * AESCCM_ERROR_IDX ) )

/* OTF module on the LLF layer base address -  0x00F11500 */
#define LLF_AESCCM_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                      (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                      (CRYS_ERROR_MODULE_RANGE * AESCCM_ERROR_IDX ) )
/* OTF MultiContext module on the CRYS layer base address - 0x00F01600 */
#define CRYS_OTF_MC_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
	                                   (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
	                                   (CRYS_ERROR_MODULE_RANGE * OTF_MC_ERROR_IDX ) )

/* OTF module on the LLF layer base address -  0x00F11600 */
#define LLF_OTF_MC_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                      (CRYS_ERROR_LAYER_RANGE * LLF_LAYER_ERROR_IDX) + \
                                      (CRYS_ERROR_MODULE_RANGE * OTF_MC_ERROR_IDX ) )

/* FIPS module on the CRYS layer base address - 0x00F01700 */
#define CRYS_FIPS_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
	                                   (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
	                                   (CRYS_ERROR_MODULE_RANGE * FIPS_ERROR_IDX ) )

/* BYPASS module on the CRYS layer base address - 0x00F01800 */
#define CRYS_BYPASS_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
	                                   (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
	                                   (CRYS_ERROR_MODULE_RANGE * BYPASS_ERROR_IDX ) )

/* Combined mode module on the CRYS layer base address - 0x00F01900 */
#define CRYS_COMBINED_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                           (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                           (CRYS_ERROR_MODULE_RANGE * COMBINED_ERROR_IDX ) )

/* SELF TEST module on the CRYS layer base address -  */
#define CRYS_SELF_TEST_MODULE_ERROR_BASE  (CRYS_ERROR_BASE + \
                                           (CRYS_ERROR_LAYER_RANGE * CRYS_LAYER_ERROR_IDX) + \
                                           (CRYS_ERROR_MODULE_RANGE * SELF_TEST_ERROR_IDX ) )



/* VOS platform layer base address - 0x00F30000 */
#define VOS_ERROR_BASE ( CRYS_ERROR_BASE + \
                        (CRYS_ERROR_LAYER_RANGE * VOS_LAYER_ERROR_IDX) )

/* User platform layer base address - 0x00F40000 */
#define PLAT_ERROR_BASE ( CRYS_ERROR_BASE + \
                         (CRYS_ERROR_LAYER_RANGE * PLAT_LAYER_ERROR_IDX) )

/* User generic layer base address - 0x00F50000 */
#define GENERIC_ERROR_BASE ( CRYS_ERROR_BASE + (CRYS_ERROR_LAYER_RANGE * GENERIC_ERROR_IDX) )
#define CRYS_FATAL_ERROR			(GENERIC_ERROR_BASE + 0x00UL)
#define CRYS_OUT_OF_RESOURCE_ERROR		(GENERIC_ERROR_BASE + 0x01UL)



/* ............ The OK (success) definition ....................... */
#define CRYS_OK 0


#define DX_CRYS_RETURN_ERROR(retCode, retcodeInfo, funcHandler) \
	((retCode) == 0 ? CRYS_OK : funcHandler(retCode, retcodeInfo))

/************************ Enums ********************************/


/************************ Typedefs  ****************************/

/**
 * \brief The typedef definition of all of the error codes that are returned from the CRYS functions
 */

typedef DxUint32_t CRYSError_t;

/************************ Structs  ******************************/


/************************ Public Variables **********************/


/************************ Public Functions **********************/

#ifdef __cplusplus
}
#endif

#endif