diff options
Diffstat (limited to 'src/kernel/syscall.C')
| -rw-r--r-- | src/kernel/syscall.C | 15 |
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); + } + + }; |

