5 #ifndef OPENTITAN_SW_DEVICE_LIB_TESTING_OTBN_TESTUTILS_H_
6 #define OPENTITAN_SW_DEVICE_LIB_TESTING_OTBN_TESTUTILS_H_
9 #include "sw/device/lib/base/status.h"
65 #define OTBN_SYMBOL_PTR(app_name, sym) _otbn_local_app_##app_name##_##sym
76 #define OTBN_SYMBOL_ADDR(app_name, sym) _otbn_remote_app_##app_name##_##sym
85 #define OTBN_DECLARE_SYMBOL_PTR(app_name, symbol_name) \
86 extern const uint8_t OTBN_SYMBOL_PTR(app_name, symbol_name)[]
102 #define OTBN_DECLARE_SYMBOL_ADDR(app_name, symbol_name) \
103 extern const uint8_t OTBN_SYMBOL_ADDR(app_name, symbol_name)[]
117 #define OTBN_DECLARE_APP_SYMBOLS(app_name) \
118 OTBN_DECLARE_SYMBOL_PTR(app_name, _imem_start); \
119 OTBN_DECLARE_SYMBOL_PTR(app_name, _imem_end); \
120 OTBN_DECLARE_SYMBOL_PTR(app_name, _dmem_data_start); \
121 OTBN_DECLARE_SYMBOL_PTR(app_name, _dmem_data_end)
133 #define OTBN_APP_T_INIT(app_name) \
135 .imem_start = OTBN_SYMBOL_PTR(app_name, _imem_start), \
136 .imem_end = OTBN_SYMBOL_PTR(app_name, _imem_end), \
137 .dmem_data_start = OTBN_SYMBOL_PTR(app_name, _dmem_data_start), \
138 .dmem_data_end = OTBN_SYMBOL_PTR(app_name, _dmem_data_end), \
144 #define OTBN_ADDR_T_INIT(app_name, symbol_name) \
145 ((uint32_t)OTBN_SYMBOL_ADDR(app_name, symbol_name))
195 const void *src, otbn_addr_t dest);
209 otbn_addr_t src,
void *dest);