1 /*
2  * Copyright (c) 2013 Travis Geiselbrecht
3  *
4  * Use of this source code is governed by a MIT-style
5  * license that can be found in the LICENSE file or at
6  * https://opensource.org/licenses/MIT
7  */
8 #include <kernel/init.h>
9 
10 #include <kernel/debug.h>
11 #include <kernel/mp.h>
12 #include <kernel/port.h>
13 #include <kernel/thread.h>
14 #include <kernel/timer.h>
15 #include <lk/compiler.h>
16 #include <lk/debug.h>
17 
kernel_init(void)18 void kernel_init(void) {
19     // if enabled, configure the kernel's event log
20     kernel_evlog_init();
21 
22     // initialize the threading system
23     dprintf(SPEW, "initializing mp\n");
24     mp_init();
25 
26     // initialize the threading system
27     dprintf(SPEW, "initializing threads\n");
28     thread_init();
29 
30     // initialize kernel timers
31     dprintf(SPEW, "initializing timers\n");
32     timer_init();
33 
34     // initialize ports
35     dprintf(SPEW, "initializing ports\n");
36     port_init();
37 }
38 
39