WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
fmea.h
浏览该文件的文档.
1
9#ifndef FMEA_H
10#define FMEA_H
11
12#include "td_type.h"
13
14#define CIPHER_INVALID_PARAM_FAULT_CODE 955051801
15#define SYMC_INVALID_PARAM_FAULT_CODE 955051802
16#define SYMC_TIMEOUT_PARAM_FAULT_CODE 955051803
17#define PKE_INVALID_PARAM_FAULT_CODE 955051804
18
19/* symc fmea parameter error. symc fmea 参数参数错误信息 */
20typedef struct {
21 td_char *func_name_1; /* Top-of-Stack Function. 故障发生时栈顶函数 */
22 td_char *func_name_2; /* The second function in the stack when the fault occurs. 故障发生时栈里第二个函数 */
23 td_s32 alg; /* Algorithm configured. 故障发生时配置的算法 */
24 td_s32 mode; /* Indicates the mode configured. 故障发生时配置的模式 */
25 td_s32 bit_width; /* Algorithm bit width configured. 故障发生时配置的算法位宽 */
26 td_s32 error_code; /* Error code. 故障发生时的错误码 */
28
29/* symc fmea timeout error. symc fmea 超时错误信息 */
30typedef struct {
31 td_char *func_name_1; /* Top-of-Stack Function. 故障发生时栈顶函数 */
32 td_char *func_name_2; /* The second function in the stack when the fault occurs. 故障发生时栈里第二个函数 */
33 td_s32 alg; /* Algorithm configured. 故障发生时配置的算法 */
34 td_s32 mode; /* Indicates the mode configured. 故障发生时配置的模式 */
35 td_s32 bit_width; /* Algorithm bit width configured. 故障发生时配置的算法位宽 */
36 td_u32 data_len; /* Length of decrypted data. 故障发生时配置的解密数据长度 */
37 td_u32 timeout; /* Timeout interval configured. 故障发生时配置的超时时间 */
38 td_s32 error_code; /* Error code. 故障发生时的错误码 */
40
41/* pke fmea parameter error. pke fmea 参数参数错误信息 */
42typedef struct {
43 const td_char *func_name_1; /* Top-of-Stack Function. 故障发生时栈顶函数 */
44 const td_char *func_name_2; /* The second function in the stack when the fault occurs. 故障发生时栈里第二个函数 */
45 td_u32 keylen; /* Key length when the fault occurs. 故障发生时秘钥长度 */
46 td_u32 msglen; /* Data length when the fault occurs. 故障发生时数据长度 */
47 td_s32 error_code; /* Error code. 故障发生时的错误码 */
49
50/* Indicates the failure mode function of reporting invalid symc parameters. 上报symc参数无效故障模式函数 */
52
53/* Function for reporting the symc timeout fault mode. 上报symc超时故障模式函数 */
55
56/*
57 * The function is used to optimize the parameter passing of the fmea_cipher_symc_timeout function.
58 * 用于优化fmea_cipher_symc_timeout函数的参数传递。
59 */
61 td_char *func_name_1, td_char *func_name_2, td_s32 error_code, td_s32 timeout);
62
63/*
64 * The function is used to optimize the parameter passing of the fmea_cipher_symc_timeout function.
65 * 用于优化fmea_cipher_symc_timeout函数的参数传递。
66 */
68 td_s32 alg, td_s32 mode, td_s32 bit_width, td_s32 data_len);
69
70/* Function for reporting invalid pke parameters. 上报pke参数无效故障模式函数 */
72
73/*
74 * The cipher fmea module can be tailored based on the CONFIG_SOCT_CIPHER_FMEA_SUPPORT configuration item.
75 * 可通过CONFIG_SOCT_CIPHER_FMEA_SUPPORT配置项对cipher fmea模块进行裁剪。
76 */
77#ifdef CONFIG_SOCT_CIPHER_FMEA_SUPPORT
78#define fmea_cipher_symc_invalid_param(fmea_func1, fmea_func2, fmea_alg, fmea_mode, fmea_bitwidth, fmea_errcode) do { \
79 fmea_cipher_symc_invalid_param _symc_param; \
80 _symc_param.func_name_1 = fmea_func1; \
81 _symc_param.func_name_2 = fmea_func2; \
82 _symc_param.alg = fmea_alg; \
83 _symc_param.mode = fmea_mode; \
84 _symc_param.bit_width = fmea_bitwidth; \
85 _symc_param.error_code = fmea_errcode; \
86 (td_void)fmea_cipher_symc_invalid_parameter(&_symc_param); \
87 } while (0)
88
89#define fmea_cipher_symc_time_out(fmea_func1, fmea_func2, fmea_alg, fmea_mode, fmea_bitwidth, fmea_datalen, \
90 fmea_timeout, fmea_errcode) \
91 do { \
92 fmea_cipher_symc_timeout_param _symc_param ; \
93 \
94 (td_void)fmea_cipher_symc_timeout_set_func(&_symc_param, fmea_func1, fmea_func2, fmea_errcode, fmea_timeout); \
95 (td_void)fmea_cipher_symc_timeout_set_alg(&_symc_param, fmea_alg, fmea_mode, fmea_bitwidth, fmea_datalen); \
96 (td_void)fmea_cipher_symc_timeout(&_symc_param); \
97 } while (0)
98
99#define fmea_cipher_pke_invalid_param(fmea_func_1, fmea_func2, fmea_keylen, fmea_msglen, fmea_error_code) \
100 do { \
101 fmea_cipher_pke_invalid_param _pke_param; \
102 \
103 _pke_param.func_name_1 = fmea_func_1; \
104 _pke_param.func_name_2 = fmea_func2; \
105 _pke_param.keylen = fmea_keylen; \
106 _pke_param.msglen = fmea_msglen; \
107 _pke_param.error_code = fmea_error_code; \
108 (td_void)fmea_cipher_pke_invalid_parameter(&_pke_param); \
109 } while (0)
110
111#else
112#define fmea_cipher_symc_invalid_param(fmea_func_1, fmea_func_2, fmea_alg, fmea_mode, fmea_bit_width, fmea_error_code)
113#define fmea_cipher_symc_time_out(fmea_func_1, fmea_func2, fmea_alg, fmea_mode, fmea_bit_width, fmea_data_len, \
114 fmea_timeout, fmea_error_code)
115#define fmea_cipher_pke_invalid_param(fmea_func_1, fmea_func2, fmea_keylen, fmea_msglen, fmea_error_code)
116#endif /* end for CONFIG_SOCT_CIPHER_FMEA_SUPPORT */
117
118#endif /* FMEA_H */
119
td_s32 fmea_cipher_symc_timeout(fmea_cipher_symc_timeout_param *symc_timeout_info)
#define fmea_cipher_pke_invalid_param(fmea_func_1, fmea_func2, fmea_keylen, fmea_msglen, fmea_error_code)
Definition fmea.h:115
td_s32 fmea_cipher_pke_invalid_parameter(fmea_cipher_pke_invalid_param *pke_info)
td_s32 fmea_cipher_symc_timeout_set_alg(fmea_cipher_symc_timeout_param *symc_timeout_info, td_s32 alg, td_s32 mode, td_s32 bit_width, td_s32 data_len)
#define fmea_cipher_symc_invalid_param(fmea_func_1, fmea_func_2, fmea_alg, fmea_mode, fmea_bit_width, fmea_error_code)
Definition fmea.h:112
td_s32 fmea_cipher_symc_invalid_parameter(fmea_cipher_symc_invalid_param *symc_info)
td_s32 fmea_cipher_symc_timeout_set_func(fmea_cipher_symc_timeout_param *symc_timeout_info, td_char *func_name_1, td_char *func_name_2, td_s32 error_code, td_s32 timeout)
Definition fmea.h:42
const td_char * func_name_1
Definition fmea.h:43
td_u32 msglen
Definition fmea.h:46
const td_char * func_name_2
Definition fmea.h:44
td_s32 error_code
Definition fmea.h:47
td_u32 keylen
Definition fmea.h:45
Definition fmea.h:20
td_char * func_name_2
Definition fmea.h:22
td_s32 alg
Definition fmea.h:23
td_s32 bit_width
Definition fmea.h:25
td_char * func_name_1
Definition fmea.h:21
td_s32 mode
Definition fmea.h:24
td_s32 error_code
Definition fmea.h:26
Definition fmea.h:30
td_s32 error_code
Definition fmea.h:38
td_s32 mode
Definition fmea.h:34
td_char * func_name_2
Definition fmea.h:32
td_u32 timeout
Definition fmea.h:37
td_s32 bit_width
Definition fmea.h:35
td_u32 data_len
Definition fmea.h:36
td_s32 alg
Definition fmea.h:33
td_char * func_name_1
Definition fmea.h:31
unsigned int td_u32
Definition td_type.h:38
int td_s32
Definition td_type.h:44
char td_char
Definition td_type.h:41