Relocate arch-independent _TaskAbort()

Moves the architecture-independent microkernel's handler for
fatal task errors into the file containing other abort-related
routines, since it doesn't have anything to do with the
microkernel server code it previously resided with.

Change-Id: I284eb05339cdff955f02018edfd0e53619b283b4
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
This commit is contained in:
Allan Stephens 2015-05-07 09:44:35 -04:00 committed by Anas Nashif
commit 2f9718338e
2 changed files with 27 additions and 27 deletions

View file

@ -256,6 +256,33 @@ void abort_task(struct k_proc *X)
} }
} }
#ifndef CONFIG_ARCH_HAS_TASK_ABORT
/*******************************************************************************
*
* _TaskAbort - microkernel handler for fatal task errors
*
* To be invoked when a task aborts implicitly, either by returning from its
* entry point or due to a software or hardware fault.
*
* RETURNS: does not return
*
* \NOMANUAL
*/
FUNC_NORETURN void _TaskAbort(void)
{
_task_ioctl(_k_current_task->Ident, TASK_ABORT);
/*
* Compiler can't tell that _task_ioctl() won't return and issues
* a warning unless we explicitly tell it that control never gets this
* far.
*/
CODE_UNREACHABLE;
}
#endif
/******************************************************************************* /*******************************************************************************
* *
* task_abort_handler_set - install an abort handler * task_abort_handler_set - install an abort handler

View file

@ -226,30 +226,3 @@ void *_Cget(struct nano_lifo *chan)
return element; return element;
} }
#ifndef CONFIG_ARCH_HAS_TASK_ABORT
/*******************************************************************************
*
* _TaskAbort - microkernel handler for fatal task errors
*
* To be invoked when a task aborts implicitly, either by returning from its
* entry point or due to a software or hardware fault.
*
* RETURNS: does not return
*
* \NOMANUAL
*/
FUNC_NORETURN void _TaskAbort(void)
{
_task_ioctl(_k_current_task->Ident, TASK_ABORT);
/*
* Compiler can't tell that _task_ioctl() won't return and issues
* a warning unless we explicitly tell it that control never gets this
* far.
*/
CODE_UNREACHABLE;
}
#endif