genode/repos/base
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
..
etc Let default tools.conf cover each architecture 2016-07-15 11:38:26 +02:00
include base: apply routing policy to environment sessions 2016-12-23 16:52:08 +01:00
lib Disambiguate kernel-specific file names 2016-12-23 16:51:32 +01:00
mk Genode application binary interface (ABI) 2016-12-23 16:50:28 +01:00
run Build dynamically linked executables by default 2016-12-14 11:22:27 +01:00
src base: apply routing policy to environment sessions 2016-12-23 16:52:08 +01:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

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.