genode/repos/base-hw
Martin Stein 8b69bc96f9 base-hw: separate variants of Kernel_object(...)
For the constructor of Kernel_object<T> there are two variants. One for the
case that it is called from Core where the kernel object (type T) must be
created via a syscall and one when it is called from within the kernel and the
kernel object can be created directly. Selecting one of these variants was done
using a bool argument to the constructor. However, this implies that the
constructor of Kernel_object<T> and that of T have the same signature in the
variadic arguments, even in the syscall case, although technically it would
then not be necessary.

This becomes a problem as soon as kernel objects created by Core shall receive
additional arguments from the kernel, for instance a reference to the global
CPU pool, and therefore stands in the way when wanting to get rid of global
statics in the kernel. Therefore, this commit introduces two constructors that
are selected through enum arguments:

! Kernel_object(Called_from_kernel, ...);
! Kernel_object(Called_from_core, ...);

Ref #4217
2021-10-13 14:46:52 +02:00
..
board base-hw: support packaging of multi-arch boards 2021-03-12 12:01:36 +01:00
etc base: remove SPEC variables of boards (fix #3971) 2021-01-25 13:58:09 +01:00
include base-hw: fix self-include in kernel/types.h 2021-10-13 14:46:52 +02:00
lib/mk base: extend cache maintainance functionality 2021-06-25 11:43:41 +02:00
recipes depot: update recipe hashes 2021-08-30 15:00:39 +02:00
run base-hw: fix run scripts 2020-02-20 12:11:21 +01:00
src base-hw: separate variants of Kernel_object(...) 2021-10-13 14:46:52 +02:00