]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/kern/kernel_task.cpp
aaaa53478ce31a58efd9153afd83a94d6232c5c6
[l4.git] / kernel / fiasco / src / kern / kernel_task.cpp
1 INTERFACE:
2
3 #include "space.h"
4
5 class Kernel_thread;
6
7 class Kernel_task : public Space
8 {
9   friend class Kernel_thread;
10 };
11
12 IMPLEMENTATION[!(arm || ppc32)]:
13
14 #include "config.h"
15 #include "globals.h"
16 #include "kmem.h"
17
18 PRIVATE inline NEEDS["globals.h"]
19 Kernel_task::Kernel_task()
20 : Space(Space::Default_factory(), Ram_quota::root, Kmem::kdir)
21 {}
22
23
24 IMPLEMENTATION:
25
26 PUBLIC static Space*
27 Kernel_task::kernel_task()
28 {
29   static Kernel_task task;
30   return &task;
31 }
32
33 PUBLIC static inline
34 void
35 Kernel_task::init()
36 {
37   // Make sure the kernel task is initialized.
38   kernel_task();
39 }