CPU state tracking
[akaros.git] / kern / src / process.c
index 19efc07..ee04506 100644 (file)
@@ -389,9 +389,9 @@ error_t proc_alloc(struct proc **pp, struct proc *parent, int flags)
                        clone_files(&parent->open_files, &p->open_files);
        } else {
                /* no parent, we're created from the kernel */
-               assert(insert_file(&p->open_files, dev_stdin,  0) == 0);
-               assert(insert_file(&p->open_files, dev_stdout, 0) == 1);
-               assert(insert_file(&p->open_files, dev_stderr, 0) == 2);
+               assert(insert_file(&p->open_files, dev_stdin,  0, TRUE) == 0);
+               assert(insert_file(&p->open_files, dev_stdout, 1, TRUE) == 1);
+               assert(insert_file(&p->open_files, dev_stderr, 2, TRUE) == 2);
        }
        /* Init the ucq hash lock */
        p->ucq_hashlock = (struct hashlock*)&p->ucq_hl_noref;
@@ -749,6 +749,7 @@ void __proc_startcore(struct proc *p, struct user_context *ctx)
        __set_proc_current(p);
        /* Clear the current_ctx, since it is no longer used */
        current_ctx = 0;        /* TODO: might not need this... */
+       __set_cpu_state(pcpui, CPU_STATE_USER);
        proc_pop_ctx(ctx);
 }