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