OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 Travis Geiselbrecht | 2 * Copyright (c) 2013 Travis Geiselbrecht |
3 * | 3 * |
4 * Permission is hereby granted, free of charge, to any person obtaining | 4 * Permission is hereby granted, free of charge, to any person obtaining |
5 * a copy of this software and associated documentation files | 5 * a copy of this software and associated documentation files |
6 * (the "Software"), to deal in the Software without restriction, | 6 * (the "Software"), to deal in the Software without restriction, |
7 * including without limitation the rights to use, copy, modify, merge, | 7 * including without limitation the rights to use, copy, modify, merge, |
8 * publish, distribute, sublicense, and/or sell copies of the Software, | 8 * publish, distribute, sublicense, and/or sell copies of the Software, |
9 * and to permit persons to whom the Software is furnished to do so, | 9 * and to permit persons to whom the Software is furnished to do so, |
10 * subject to the following conditions: | 10 * subject to the following conditions: |
11 * | 11 * |
12 * The above copyright notice and this permission notice shall be | 12 * The above copyright notice and this permission notice shall be |
13 * included in all copies or substantial portions of the Software. | 13 * included in all copies or substantial portions of the Software. |
14 * | 14 * |
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | 16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | 17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | 18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | 19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | 20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
21 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | 21 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
22 */ | 22 */ |
23 #include <compiler.h> | 23 #include <compiler.h> |
24 #include <debug.h> | 24 #include <debug.h> |
25 #include <kernel/debug.h> | 25 #include <kernel/debug.h> |
26 #include <kernel/thread.h> | 26 #include <kernel/thread.h> |
27 #include <kernel/timer.h> | 27 #include <kernel/timer.h> |
28 #include <kernel/mp.h> | 28 #include <kernel/mp.h> |
| 29 #include <kernel/port.h> |
29 | 30 |
30 void kernel_init(void) | 31 void kernel_init(void) |
31 { | 32 { |
32 // if enabled, configure the kernel's event log | 33 // if enabled, configure the kernel's event log |
33 kernel_evlog_init(); | 34 kernel_evlog_init(); |
34 | 35 |
35 // initialize the threading system | 36 // initialize the threading system |
36 dprintf(SPEW, "initializing mp\n"); | 37 dprintf(SPEW, "initializing mp\n"); |
37 mp_init(); | 38 mp_init(); |
38 | 39 |
39 // initialize the threading system | 40 // initialize the threading system |
40 dprintf(SPEW, "initializing threads\n"); | 41 dprintf(SPEW, "initializing threads\n"); |
41 thread_init(); | 42 thread_init(); |
42 | 43 |
43 // initialize kernel timers | 44 // initialize kernel timers |
44 dprintf(SPEW, "initializing timers\n"); | 45 dprintf(SPEW, "initializing timers\n"); |
45 timer_init(); | 46 timer_init(); |
| 47 |
| 48 // initialize ports |
| 49 dprintf(SPEW, "initializing ports\n"); |
| 50 port_init(); |
46 } | 51 } |
47 | 52 |
OLD | NEW |