diff options
Diffstat (limited to 'kernel/usermode.c')
| -rw-r--r-- | kernel/usermode.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/usermode.c b/kernel/usermode.c index b6d01f3..1c039cb 100644 --- a/kernel/usermode.c +++ b/kernel/usermode.c @@ -34,6 +34,7 @@ void initfunc() c2++; } } + void userfunc() { @@ -43,7 +44,10 @@ void userfunc() // if we are pid 0, replace ourselves with /bin/init TODO: switch to usermode before! if(task_get_current_pid()==0) { - usermode(&initfunc); + uint32_t alloc; + uint32_t entry_global=load_elf(BIN_INIT,&alloc); + task_set_brk(alloc); + usermode(entry_global); } // kernel worker thread on pid1 |
