mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-18 10:46:25 +00:00
8b69bc96f9
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 |
||
---|---|---|
.. | ||
board | ||
etc | ||
include | ||
lib/mk | ||
recipes | ||
run | ||
src |