Rev 3424 | Rev 3597 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3424 | Rev 3425 | ||
|---|---|---|---|
| Line 59... | Line 59... | ||
| 59 | #include <proc/task.h> |
59 | #include <proc/task.h> |
| 60 | #include <proc/tasklet.h> |
60 | #include <proc/tasklet.h> |
| 61 | #include <main/kinit.h> |
61 | #include <main/kinit.h> |
| 62 | #include <main/version.h> |
62 | #include <main/version.h> |
| 63 | #include <console/kconsole.h> |
63 | #include <console/kconsole.h> |
| - | 64 | #include <console/console.h> |
|
| 64 | #include <cpu.h> |
65 | #include <cpu.h> |
| 65 | #include <align.h> |
66 | #include <align.h> |
| 66 | #include <interrupt.h> |
67 | #include <interrupt.h> |
| 67 | #include <mm/frame.h> |
68 | #include <mm/frame.h> |
| 68 | #include <mm/page.h> |
69 | #include <mm/page.h> |
| Line 78... | Line 79... | ||
| 78 | #include <ipc/ipc.h> |
79 | #include <ipc/ipc.h> |
| 79 | #include <macros.h> |
80 | #include <macros.h> |
| 80 | #include <adt/btree.h> |
81 | #include <adt/btree.h> |
| 81 | #include <smp/smp.h> |
82 | #include <smp/smp.h> |
| 82 | #include <ddi/ddi.h> |
83 | #include <ddi/ddi.h> |
| 83 | #include <console/console.h> |
- | |
| - | 84 | ||
| 84 | 85 | ||
| 85 | /** Global configuration structure. */ |
86 | /** Global configuration structure. */ |
| 86 | config_t config; |
87 | config_t config; |
| 87 | 88 | ||
| 88 | /** Initial user-space tasks */ |
89 | /** Initial user-space tasks */ |
| Line 233... | Line 234... | ||
| 233 | LOG_EXEC(smp_init()); |
234 | LOG_EXEC(smp_init()); |
| 234 | 235 | ||
| 235 | /* Slab must be initialized after we know the number of processors. */ |
236 | /* Slab must be initialized after we know the number of processors. */ |
| 236 | LOG_EXEC(slab_enable_cpucache()); |
237 | LOG_EXEC(slab_enable_cpucache()); |
| 237 | 238 | ||
| 238 | printf("Detected %" PRIc " CPU(s), %" PRIu64" MB free memory\n", |
239 | printf("Detected %" PRIc " CPU(s), %" PRIu64" MiB free memory\n", |
| 239 | config.cpu_count, SIZE2MB(zone_total_size())); |
240 | config.cpu_count, SIZE2MB(zone_total_size())); |
| 240 | 241 | ||
| 241 | LOG_EXEC(cpu_init()); |
242 | LOG_EXEC(cpu_init()); |
| 242 | 243 | ||
| 243 | LOG_EXEC(calibrate_delay_loop()); |
244 | LOG_EXEC(calibrate_delay_loop()); |
| 244 | LOG_EXEC(clock_counter_init()); |
245 | LOG_EXEC(clock_counter_init()); |
| Line 250... | Line 251... | ||
| 250 | 251 | ||
| 251 | if (init.cnt > 0) { |
252 | if (init.cnt > 0) { |
| 252 | count_t i; |
253 | count_t i; |
| 253 | for (i = 0; i < init.cnt; i++) |
254 | for (i = 0; i < init.cnt; i++) |
| 254 | printf("init[%" PRIc "].addr=%#" PRIp ", init[%" PRIc |
255 | printf("init[%" PRIc "].addr=%#" PRIp ", init[%" PRIc |
| 255 | "].size=%#" PRIs "\n", i, init.tasks[i].addr, |
256 | "].size=%#" PRIs "\n", i, init.tasks[i].addr, i, |
| 256 | i, init.tasks[i].size); |
257 | init.tasks[i].size); |
| 257 | } else |
258 | } else |
| 258 | printf("No init binaries found\n"); |
259 | printf("No init binaries found\n"); |
| 259 | 260 | ||
| 260 | LOG_EXEC(ipc_init()); |
261 | LOG_EXEC(ipc_init()); |
| 261 | LOG_EXEC(klog_init()); |
262 | LOG_EXEC(klog_init()); |