X-Git-Url: https://rtime.felk.cvut.cz/gitweb/l4.git/blobdiff_plain/8fe9942cde59835eb3c3c6936d866dd3305582ef..003b628647705666de261350195da72a38f2c4d2:/kernel/fiasco/src/kern/globals.cpp diff --git a/kernel/fiasco/src/kern/globals.cpp b/kernel/fiasco/src/kern/globals.cpp index cb9d40d0d..0a6e864f6 100644 --- a/kernel/fiasco/src/kern/globals.cpp +++ b/kernel/fiasco/src/kern/globals.cpp @@ -16,15 +16,8 @@ extern Per_cpu timeslice_timeout; #ifdef NDEBUG # define check(expression) ((void)(expression)) #else /* ! NDEBUG */ -# ifdef ASSERT_KDB_KE -# define check(expression) assert(expression) -# else -# define check(expression) \ - ((void)((expression) ? 0 : \ - (panic(__FILE__":%u: failed check `"#expression"'", \ - __LINE__), 0))) -# endif -#endif /* ! NDEBUG */ +# define check(expression) assert(expression) +#endif /* NDEBUG */ #endif /* check */ class Kobject_iface; @@ -32,27 +25,35 @@ class Kobject_iface; class Initial_kobjects { public: - enum + enum Initial_cap { - Max = 5, - First_cap = 5, - - End_cap = First_cap + Max, + Task = 1, + Factory = 2, + Thread = 3, + Pager = 4, + Log = 5, + Icu = 6, + Scheduler = 7, + Iommu = 8, + + First_alloc_cap = Log, + Num_alloc = 5, + End_alloc_cap = First_alloc_cap + Num_alloc, }; - static Cap_index first() { return Cap_index(First_cap); } - static Cap_index end() { return Cap_index(End_cap); } + static Cap_index first() { return Cap_index(First_alloc_cap); } + static Cap_index end() { return Cap_index(End_alloc_cap); } - void register_obj(Kobject_iface *o, unsigned cap) + void register_obj(Kobject_iface *o, Initial_cap cap) { - assert (cap >= First_cap); - assert (cap < End_cap); + assert (cap >= First_alloc_cap); + assert (cap < End_alloc_cap); - cap -= First_cap; + int c = cap - First_alloc_cap; - assert (!_v[cap]); + assert (!_v[c]); - _v[cap] = o; + _v[c] = o; } Kobject_iface *obj(Cap_index cap) const @@ -64,7 +65,7 @@ public: } private: - Kobject_iface *_v[Max]; + Kobject_iface *_v[Num_alloc]; };