diff options
Diffstat (limited to 'kern/task.c')
-rw-r--r-- | kern/task.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/kern/task.c b/kern/task.c index 9764cfe0..ab82ad83 100644 --- a/kern/task.c +++ b/kern/task.c @@ -99,9 +99,22 @@ static struct shell_cmd task_shell_cmds[] = { "display tasks and threads"), }; +static int __init +task_setup_shell(void) +{ + SHELL_REGISTER_CMDS(task_shell_cmds); + return 0; +} + +INIT_OP_DEFINE(task_setup_shell, + INIT_OP_DEP(printf_setup, true), + INIT_OP_DEP(shell_setup, true), + INIT_OP_DEP(task_setup, true), + INIT_OP_DEP(thread_setup, true)); + #endif /* X15_SHELL */ -void __init +static int __init task_setup(void) { kmem_cache_init(&task_cache, "task", sizeof(struct task), 0, NULL, 0); @@ -109,10 +122,14 @@ task_setup(void) spinlock_init(&task_list_lock); task_init(kernel_task, "x15", kernel_map); list_insert_head(&task_list, &kernel_task->node); - - SHELL_REGISTER_CMDS(task_shell_cmds); + return 0; } +INIT_OP_DEFINE(task_setup, + INIT_OP_DEP(kmem_setup, true), + INIT_OP_DEP(spinlock_setup, true), + INIT_OP_DEP(vm_map_setup, true)); + int task_create(struct task **taskp, const char *name) { |