genode/repos/base/include
Norman Feske 7d9f68493a base: support for multi-staged child startup
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.
2017-02-28 12:59:23 +01:00
..
base base: support for multi-staged child startup 2017-02-28 12:59:23 +01:00
cap_session Warn about the use of deprecated headers 2017-01-31 12:01:18 +01:00
cpu base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
cpu_session Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
cpu_thread Remove hand-crafted Rpc_functions typedefs 2016-05-23 15:52:39 +02:00
dataspace base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
deprecated Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
io_mem_session base: remove Child::heap 2017-02-28 12:59:23 +01:00
io_port_session base: remove Child::heap 2017-02-28 12:59:23 +01:00
irq_session base: remove Child::heap 2017-02-28 12:59:23 +01:00
log_session Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
parent base: remove Child::heap 2017-02-28 12:59:23 +01:00
pd_session Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
ram_session Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
region_map Assign threads to PD at its creation time 2016-05-09 13:10:52 +02:00
rm_session Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
rom_session base: remove Child::heap 2017-02-28 12:59:23 +01:00
root base: remove Child::heap 2017-02-28 12:59:23 +01:00
session Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
spec hw: bootstrap into kernel 2017-02-23 14:54:42 +01:00
thread Separation of thread operations from CPU session 2016-05-23 15:52:39 +02:00
trace_session base: remove Child::heap 2017-02-28 12:59:23 +01:00
util base: Add Number_of_bytes::print method 2017-02-28 12:59:20 +01:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

This directory contains include files of interfaces that are exported
by components to be used by other components. Each subdirectory corresponds
to the component exporting the interface.