6 #include "sw/device/lib/testing/lc_ctrl_testutils.h"
7 #include "sw/device/lib/testing/test_framework/check.h"
14 #define RV_DM_DATAADDR_0_REG_OFFSET 0x380
17 kTestData = 0xdeadbeef,
20 OTTF_DEFINE_TEST_CONFIG();
22 static volatile bool access_exception_seen;
24 void ottf_load_store_fault_handler(uint32_t *exc_info) {
25 access_exception_seen =
true;
28 status_t execute_test(
bool debug_func) {
33 access_exception_seen =
false;
34 mmio_region_write32(region, RV_DM_DATAADDR_0_REG_OFFSET, kTestData);
35 CHECK(debug_func != access_exception_seen);
37 access_exception_seen =
false;
38 (void)mmio_region_read32(region, RV_DM_DATAADDR_0_REG_OFFSET);
39 CHECK(debug_func != access_exception_seen);
46 CHECK_DIF_OK(dif_lc_ctrl_init(
49 bool debug_func =
false;
50 CHECK_STATUS_OK(lc_ctrl_testutils_debug_func_enabled(&lc, &debug_func));
52 return status_ok(execute_test(debug_func));