unified: Add legacy DEFINE_TASK support

Allows unified kernel to support legacy microkernel applications
that use private tasks.

Also renames the unified kernel macro for defining a thread
to be consistent with the naming used for defining other kernel
objects.

Change-Id: I667d87056138c45c291dd848344e4051bf9fd1ff
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
This commit is contained in:
Allan Stephens 2016-10-05 13:35:38 -05:00
commit ea6cfd1d83
3 changed files with 13 additions and 10 deletions

View file

@ -177,7 +177,7 @@ struct _static_thread_data {
{ \
.init_groups = (groups), \
.init_prio = (prio), \
.init_entry = entry, \
.init_entry = (void (*)(void *, void *, void *))entry, \
.init_p1 = (void *)p1, \
.init_p2 = (void *)p2, \
.init_p3 = (void *)p3, \
@ -194,22 +194,15 @@ struct _static_thread_data {
* this 32-bit alignment in specified here.
* _static_thread_data structure sise needs to be kept 32-bit aligned as well
*/
#define K_THREAD_OBJ_DEFINE(name, stack_size, \
#define K_THREAD_DEFINE(name, stack_size, \
entry, p1, p2, p3, \
abort, prio, groups) \
extern void entry(void *, void *, void *); \
char __noinit __stack _k_thread_obj_##name[stack_size]; \
struct _static_thread_data _k_thread_data_##name __aligned(4) \
__in_section(_k_task_list, private, task) = \
K_THREAD_INITIALIZER(_k_thread_obj_##name, stack_size, \
entry, p1, p2, p3, abort, prio, groups)
#define K_THREAD_DEFINE(name, stack_size, entry, p1, p2, p3, \
abort, prio, groups) \
K_THREAD_OBJ_DEFINE(name, stack_size, entry, p1, p2, p3, \
abort, prio, groups); \
k_tid_t const name = (k_tid_t)_k_thread_obj_##name
/* extern int k_thread_prio_get(k_tid_t thread); in sched.h */
extern void k_thread_priority_set(k_tid_t thread, int prio);