diff options
Diffstat (limited to 'firmware/kernel/kernel-internal.h')
-rw-r--r-- | firmware/kernel/kernel-internal.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/firmware/kernel/kernel-internal.h b/firmware/kernel/kernel-internal.h index 51c589ac8f..8f7e3e28cb 100644 --- a/firmware/kernel/kernel-internal.h +++ b/firmware/kernel/kernel-internal.h | |||
@@ -22,8 +22,8 @@ | |||
22 | #ifndef KERNEL_INTERNAL_H | 22 | #ifndef KERNEL_INTERNAL_H |
23 | #define KERNEL_INTERNAL_H | 23 | #define KERNEL_INTERNAL_H |
24 | 24 | ||
25 | #include "config.h" | 25 | #include "thread-internal.h" |
26 | #include "debug.h" | 26 | #include "kernel.h" |
27 | 27 | ||
28 | /* Make this nonzero to enable more elaborate checks on objects */ | 28 | /* Make this nonzero to enable more elaborate checks on objects */ |
29 | #if defined(DEBUG) || defined(SIMULATOR) | 29 | #if defined(DEBUG) || defined(SIMULATOR) |
@@ -45,5 +45,23 @@ | |||
45 | #define KERNEL_ASSERT(exp, msg...) ({}) | 45 | #define KERNEL_ASSERT(exp, msg...) ({}) |
46 | #endif | 46 | #endif |
47 | 47 | ||
48 | static inline void kernel_init(void) | ||
49 | { | ||
50 | /* Init the threading API */ | ||
51 | extern void init_threads(void); | ||
52 | init_threads(); | ||
53 | |||
54 | /* Other processors will not reach this point in a multicore build. | ||
55 | * In a single-core build with multiple cores they fall-through and | ||
56 | * sleep in cop_main without returning. */ | ||
57 | if (CURRENT_CORE == CPU) | ||
58 | { | ||
59 | init_queues(); | ||
60 | init_tick(); | ||
61 | #ifdef KDEV_INIT | ||
62 | kernel_device_init(); | ||
63 | #endif | ||
64 | } | ||
65 | } | ||
48 | 66 | ||
49 | #endif /* KERNEL_INTERNAL_H */ | 67 | #endif /* KERNEL_INTERNAL_H */ |