genode/repos/base/include
Norman Feske 0d295f75a1 base: apply routing policy to environment sessions
This patch changes the child-construction procedure to allow the routing
of environment sessions to arbitrary servers, not only to the parent.
In particular, it restores the ability to route the LOG session of the
child to a LOG service provided by a child of init. In principle, it
becomes possible to also route the immediate child's PD, CPU, and RAM
environment sessions in arbitrary ways, which simplifies scenarios that
intercept those sessions, e.g., the CPU sampler.

Note that the latter ability should be used with great caution because
init needs to interact with these sessions to create/destruct the child.
Normally, the sessions are provided by the parent. So init is safe at
all times. If they are routed to a child however, init will naturally
become dependent on this particular child. For the LOG session, this is
actually not a problem because even though the parent creates the LOG
session as part of the child's environment, it never interacts with the
session directly.

Fixes #2197
2016-12-23 16:52:08 +01:00
..
base base: apply routing policy to environment sessions 2016-12-23 16:52:08 +01:00
cap_session Integrate CAP session into PD session 2016-03-07 12:34:44 +01:00
cpu base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
cpu_session Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +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 Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
io_mem_session Define Genode::size_t as unsigned long 2016-10-21 12:39:29 +02:00
io_port_session Documentation changes on account of the book 2016-05-26 15:54:16 +02:00
irq_session base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
log_session Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
parent Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
pd_session Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
ram_session Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
region_map Assign threads to PD at its creation time 2016-05-09 13:10:52 +02:00
rm_session Pass Env & as first argument to connection objects 2016-05-23 15:52:37 +02:00
rom_session Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
root Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
session Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
spec hw: use kernel timer for timer driver 2016-05-26 15:54:15 +02:00
thread Separation of thread operations from CPU session 2016-05-23 15:52:39 +02:00
trace_session Define Genode::size_t as unsigned long 2016-10-21 12:39:29 +02:00
util base: rename 'Volatile_object' to 'Reconstructible' 2016-12-01 17:46:50 +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.