platform: msm_shared: Configure XPU Violations as fatal errors.
Detect the XPU violations in bootloader and treat them as fatal errors.
CRs-Fixed: 677067
Change-Id: Iac763c7724d991158262107f032d754afea0f49f
diff --git a/platform/msm_shared/scm.c b/platform/msm_shared/scm.c
index 66db6f1..b2ebfa3 100644
--- a/platform/msm_shared/scm.c
+++ b/platform/msm_shared/scm.c
@@ -708,3 +708,23 @@
return canary;
}
+
+int scm_xpu_err_fatal_init()
+{
+ uint32_t ret = 0;
+ uint32_t response = 0;
+ tz_xpu_prot_cmd cmd;
+
+ cmd.config = ERR_FATAL_ENABLE;
+ cmd.spare = 0;
+
+ ret = scm_call(SVC_MEMORY_PROTECTION, XPU_ERR_FATAL, &cmd, sizeof(cmd), &response,
+ sizeof(response));
+
+ if (ret)
+ dprintf(CRITICAL, "Failed to set XPU violations as fatal errors: %u\n", response);
+ else
+ dprintf(INFO, "Configured XPU violations to be fatal errors\n");
+
+ return ret;
+}