From ccefd921e76ba4ca7f3d6b54691315c0718b039c Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Wed, 31 May 2017 21:11:29 +0200 Subject: kern/shell: separate initialization into two steps The shell must be able to register commands early. As a result, it's now initialized in two steps, one of which starts the shell thread. --- kern/shell.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'kern/shell.c') diff --git a/kern/shell.c b/kern/shell.c index c4675bf4..ba756a5f 100644 --- a/kern/shell.c +++ b/kern/shell.c @@ -1158,8 +1158,6 @@ shell_run(void *arg) void __init shell_setup(void) { - struct thread_attr attr; - struct thread *thread; unsigned long i; int error; @@ -1169,6 +1167,14 @@ shell_setup(void) error = shell_cmd_register(&shell_default_cmds[i]); error_check(error, "shell_cmd_register"); } +} + +void __init +shell_start(void) +{ + struct thread_attr attr; + struct thread *thread; + int error; thread_attr_init(&attr, THREAD_KERNEL_PREFIX "shell"); thread_attr_set_detached(&attr); -- cgit v1.2.3