mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 13:47:56 +00:00
7d9f68493a
This patch enhances the 'Child' and 'Child_policy' with the ability to separate the different steps of bootstrapping children. If the 'Child_policy::initiate_env_sessions()' returns false, the child's environment sessions remain unrouted at construction time. This way, child objects for many children can be initialized to a state that allows the children to represent services for other children. Therefore, session routing can be applied before any child executes. At this stage, the environment RAM sessions of all children can be created. Note that this step still has the limitation that RAM sessions are generally expected to be provided by either the parent or a local service. Once all children are equipped with RAM, they can in principle receive session-quota donations. Hence, all other environment sessions can now be arbitrarily routed and initiated. Once the environment of a child is complete, the child's process and initial thread is created. |
||
---|---|---|
.. | ||
etc | ||
include | ||
lib | ||
mk | ||
run | ||
src | ||
README |
This is generic part of the Genode implementation. It consists of two parts: :_Core_: is the ultimate root of the Genode application tree and provides abstractions for the lowest-level hardware resources such as RAM, ROM, CPU, and generic device access. All generic parts of Core can be found here - for system-specific implementations refer to the appropriate 'base-<system>' directory. :_Base libraries and protocols_: that are used by each Genode component to interact with other components. This is the glue that holds everything together.