5 #ifndef OPENTITAN_SW_DEVICE_TESTS_PENETRATIONTESTS_JSON_PENTEST_LIB_COMMANDS_H_
6 #define OPENTITAN_SW_DEVICE_TESTS_PENETRATIONTESTS_JSON_PENTEST_LIB_COMMANDS_H_
7 #include "sw/device/lib/testing/alert_handler_testutils.h"
8 #include "sw/device/lib/ujson/ujson_derive.h"
15 #define PENETRATIONTEST_DEVICE_INFO(field, string) \
16 field(device_id, uint32_t, 8) \
17 field(clock_jitter_locked, bool) \
18 field(clock_jitter_en, bool) \
19 field(sram_main_readback_locked, bool) \
20 field(sram_main_readback_en, bool) \
21 field(sram_ret_readback_locked, bool) \
22 field(sram_ret_readback_en, bool)
23 UJSON_SERDE_STRUCT(PenetrationtestDeviceInfo, penetrationtest_device_info_t, PENETRATIONTEST_DEVICE_INFO);
25 #define PENETRATIONTEST_CPUCTRL(field, string) \
26 field(icache_disable, bool) \
27 field(dummy_instr_disable, bool) \
28 field(enable_jittery_clock, bool) \
29 field(enable_sram_readback, bool)
30 UJSON_SERDE_STRUCT(PenetrationtesCpuctrl, penetrationtest_cpuctrl_t, PENETRATIONTEST_CPUCTRL);
32 #define PENETRATIONTEST_ALERTDUMP(field, string) \
33 field(rst_reason, uint32_t) \
34 field(alert_cause, bool, ALERT_HANDLER_PARAM_N_ALERTS) \
35 field(loc_alert_cause, uint8_t) \
36 field(class_accum_cnt, uint16_t, ALERT_HANDLER_PARAM_N_CLASSES) \
37 field(class_esc_cnt, uint32_t, ALERT_HANDLER_PARAM_N_CLASSES) \
38 field(class_esc_state, uint32_t, ALERT_HANDLER_PARAM_N_CLASSES)
39 UJSON_SERDE_STRUCT(PenetrationtesAlertDump, penetrationtest_alert_dump_t, PENETRATIONTEST_ALERTDUMP);