Subversion Repositories HelenOS-historic

Rev

Rev 1005 | Rev 1026 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1005 Rev 1025
Line 35... Line 35...
35
#include <synch/spinlock.h>
35
#include <synch/spinlock.h>
36
#include <arch.h>
36
#include <arch.h>
37
#include <panic.h>
37
#include <panic.h>
38
#include <adt/list.h>
38
#include <adt/list.h>
39
#include <ipc/ipc.h>
39
#include <ipc/ipc.h>
40
#include <ipc/ns.h>
-
 
41
#include <memstr.h>
40
#include <memstr.h>
42
 
41
 
43
#include <elf.h>
42
#include <elf.h>
44
 
43
 
45
SPINLOCK_INITIALIZE(tasks_lock);
44
SPINLOCK_INITIALIZE(tasks_lock);
Line 108... Line 107...
108
    thread_t *t;
107
    thread_t *t;
109
    task_t *task;
108
    task_t *task;
110
 
109
 
111
    as = as_create(0);
110
    as = as_create(0);
112
 
111
 
113
    rc = elf_load((elf_header_t *) config.init_addr, as);
112
    rc = elf_load((elf_header_t *) program_addr, as);
114
    if (rc != EE_OK) {
113
    if (rc != EE_OK) {
115
        as_free(as);
114
        as_free(as);
116
        return NULL;
115
        return NULL;
117
    }
116
    }
118
   
117
   
119
    task = task_create(as);
118
    task = task_create(as);
120
    t = thread_create(uinit, (void *)((elf_header_t *) config.init_addr)->e_entry,
119
    t = thread_create(uinit, (void *)((elf_header_t *)program_addr)->e_entry,
121
              task, THREAD_USER_STACK);
120
              task, THREAD_USER_STACK);
122
   
121
   
123
    /*
122
    /*
124
     * Create the data as_area.
123
     * Create the data as_area.
125
     */
124
     */