Rev 1027 | Rev 1040 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1027 | Rev 1037 | ||
|---|---|---|---|
| Line 130... | Line 130... | ||
| 130 | thread_ready(t); |
130 | thread_ready(t); |
| 131 | else |
131 | else |
| 132 | panic("thread_create/kconsole\n"); |
132 | panic("thread_create/kconsole\n"); |
| 133 | 133 | ||
| 134 | interrupts_enable(); |
134 | interrupts_enable(); |
| 135 | 135 | ||
| - | 136 | count_t i; |
|
| 136 | if (config.init_size > 0) { |
137 | for (i = 0; i < init.cnt; i++) { |
| 137 | /* |
138 | /* |
| 138 | * Create the first user task. |
139 | * Run user tasks. |
| 139 | */ |
140 | */ |
| 140 | 141 | ||
| 141 | if (config.init_addr % FRAME_SIZE) |
142 | if (init.tasks[i].addr % FRAME_SIZE) |
| 142 | panic("config.init_addr is not frame aligned"); |
143 | panic("init[%d].addr is not frame aligned", i); |
| 143 | 144 | ||
| 144 | utask = task_run_program((void *)config.init_addr); |
145 | utask = task_run_program((void *) init.tasks[i].addr); |
| 145 | if (utask) |
146 | if (utask) |
| 146 | ipc_phone_0 = &utask->answerbox; |
147 | ipc_phone_0 = &utask->answerbox; |
| 147 | else |
148 | else |
| 148 | printf("Userspace not started.\n"); |
149 | printf("Userspace not started.\n"); |
| 149 | } |
150 | } |