summaryrefslogtreecommitdiffstats
path: root/src/kernel/syscall.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/syscall.C')
-rw-r--r--src/kernel/syscall.C15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C
index 23239a8a3..6535e7c19 100644
--- a/src/kernel/syscall.C
+++ b/src/kernel/syscall.C
@@ -95,6 +95,7 @@ namespace Systemcalls
void MmVirtToPhys(task_t *t);
void MmExtend(task_t *t);
void MmLinearMap(task_t *t);
+ void CritAssert(task_t *t);
syscall syscalls[] =
@@ -136,6 +137,8 @@ namespace Systemcalls
&MmVirtToPhys, // MM_VIRT_TO_PHYS
&MmExtend, // MM_EXTEND
&MmLinearMap, // MM_LINEAR_MAP
+ &CritAssert, // MISC_CRITASSERT
+
};
};
@@ -822,5 +825,17 @@ namespace Systemcalls
TASK_SETRTN(t, VmmManager::mmLinearMap(paddr,size));
}
+ /**
+ * Call Crit assert to perform the terminate Immediate
+ * @param[in] t: the task calling the critical assert
+ */
+ void CritAssert(task_t* t)
+ {
+ uint64_t i_failAddr = (uint64_t)(TASK_GETARG0(t));
+
+ CpuManager::critAssert(i_failAddr);
+ }
+
+
};
OpenPOWER on IntegriCloud