Rev 2283 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2283 | Rev 2292 | ||
---|---|---|---|
Line 236... | Line 236... | ||
236 | slab_enable_cpucache(); |
236 | slab_enable_cpucache(); |
237 | 237 | ||
238 | printf("config.memory_size=%zdM\n", config.memory_size >> 20); |
238 | printf("config.memory_size=%zdM\n", config.memory_size >> 20); |
239 | printf("config.cpu_count=%zd\n", config.cpu_count); |
239 | printf("config.cpu_count=%zd\n", config.cpu_count); |
240 | cpu_init(); |
240 | cpu_init(); |
241 | 241 | ||
242 | calibrate_delay_loop(); |
242 | calibrate_delay_loop(); |
243 | clock_counter_init(); |
243 | clock_counter_init(); |
244 | timeout_init(); |
244 | timeout_init(); |
245 | scheduler_init(); |
245 | scheduler_init(); |
246 | task_init(); |
246 | task_init(); |
247 | thread_init(); |
247 | thread_init(); |
248 | futex_init(); |
248 | futex_init(); |
249 | - | ||
250 | - | ||
251 | klog_init(); |
249 | klog_init(); |
252 | 250 | ||
253 | if (init.cnt > 0) { |
251 | if (init.cnt > 0) { |
254 | for (i = 0; i < init.cnt; i++) |
252 | for (i = 0; i < init.cnt; i++) |
255 | printf("init[%zd].addr=%.*p, init[%zd].size=%zd\n", i, |
253 | printf("init[%zd].addr=%.*p, init[%zd].size=%zd\n", i, |
256 | sizeof(uintptr_t) * 2, init.tasks[i].addr, i, |
254 | sizeof(uintptr_t) * 2, init.tasks[i].addr, i, |
257 | init.tasks[i].size); |
255 | init.tasks[i].size); |
258 | } else |
256 | } else |
259 | printf("No init binaries found\n"); |
257 | printf("No init binaries found\n"); |
- | 258 | ||
260 | ipc_init(); |
259 | ipc_init(); |
261 | 260 | ||
262 | /* |
261 | /* |
263 | * Create kernel task. |
262 | * Create kernel task. |
264 | */ |
263 | */ |
Line 271... | Line 270... | ||
271 | */ |
270 | */ |
272 | t = thread_create(kinit, NULL, k, 0, "kinit", true); |
271 | t = thread_create(kinit, NULL, k, 0, "kinit", true); |
273 | if (!t) |
272 | if (!t) |
274 | panic("can't create kinit thread\n"); |
273 | panic("can't create kinit thread\n"); |
275 | thread_ready(t); |
274 | thread_ready(t); |
276 | - | ||
277 | //tasklets disabled for debugging purposes |
- | |
278 | tasklet_run_tasklet_thread(k); |
- | |
279 | 275 | ||
- | 276 | tasklet_run_tasklet_thread(k); |
|
- | 277 | ||
280 | /* |
278 | /* |
281 | * This call to scheduler() will return to kinit, |
279 | * This call to scheduler() will return to kinit, |
282 | * starting the thread of kernel threads. |
280 | * starting the thread of kernel threads. |
283 | */ |
281 | */ |
284 | scheduler(); |
282 | scheduler(); |