genode/repos/base/include/base
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
..
trace Move Session_label from os to base 2016-07-11 13:09:24 +02:00
affinity.h Revised API documentation 2015-04-09 16:04:46 +02:00
allocator_avl.h base: make Allocator_avl::_avl_tree accessable 2017-02-07 19:20:30 +01:00
allocator_guard.h base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
allocator.h base: free memory of object throwing exception 2016-11-30 13:37:05 +01:00
attached_dataspace.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
attached_io_mem_dataspace.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
attached_ram_dataspace.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
attached_rom_dataspace.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
blocking.h Revised API documentation 2015-04-09 16:04:46 +02:00
cache.h base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
cancelable_lock.h Thread API cleanup 2016-05-23 15:49:55 +02:00
capability.h Allow RPC arguments w/o default constructor 2016-11-30 13:38:03 +01:00
child.h base: support for multi-staged child startup 2017-02-28 12:59:23 +01:00
component.h base: remove Component::name from API 2016-05-23 15:49:56 +02:00
connection.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
console.h Revised API documentation 2015-04-09 16:04:46 +02:00
debug.h Redefine PDBG to use new log output function 2016-10-21 12:45:44 +02:00
entrypoint.h base: entrypoint 'wait_and_dispatch_one_signal' 2017-02-27 15:37:50 +01:00
env.h Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
exception.h base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
heap.h base: rename 'Volatile_object' to 'Reconstructible' 2016-12-01 17:46:50 +01:00
id_space.h base: new 'Id_space' data structure 2016-11-25 15:30:58 +01:00
ipc_msgbuf.h Remove base/native_types.h headers 2016-07-11 12:06:50 +02:00
ipc.h Allow RPC arguments w/o default constructor 2016-11-30 13:38:03 +01:00
local_connection.h base: remove Child::heap 2017-02-28 12:59:23 +01:00
lock_guard.h Revised API documentation 2015-04-09 16:04:46 +02:00
lock.h base: coding style 2015-04-09 16:04:45 +02:00
log.h base: document error-message style conventions 2016-08-29 17:27:10 +02:00
native_capability_tpl.h Cleanup of parent-cap handling 2016-07-11 13:05:27 +02:00
native_capability.h base: throw exception on cap-ref-count overflow 2016-11-30 13:37:04 +01:00
object_pool.h Remove inconsistent use of 'is_' prefix 2016-05-23 15:52:39 +02:00
output.h base: forward args in Output::print 2016-11-25 15:27:27 +01:00
printf.h base: remove original PDBG from base/printf.h 2016-11-08 15:26:27 +01:00
registry.h base: new 'Registry' data structure 2016-11-25 15:30:58 +01:00
rpc_args.h Remove inconsistent use of 'is_' prefix 2016-05-23 15:52:39 +02:00
rpc_client.h Allow RPC arguments w/o default constructor 2016-11-30 13:38:03 +01:00
rpc_server.h Warn about the use of deprecated headers 2017-01-31 12:01:18 +01:00
rpc.h Allow RPC arguments w/o default constructor 2016-11-30 13:38:03 +01:00
semaphore.h base: minimize critical section in Semaphore::up 2015-12-10 13:16:27 +01:00
service.h base: support for multi-staged child startup 2017-02-28 12:59:23 +01:00
session_label.h Make label prefixing more strict 2016-11-30 13:37:07 +01:00
session_state.h base: remove Child::heap 2017-02-28 12:59:23 +01:00
shared_object.h base/shared_object.h: add missing includes 2017-02-07 11:12:23 +01:00
signal.h base: entrypoint 'wait_and_dispatch_one_signal' 2017-02-27 15:37:50 +01:00
slab.h base: remove Child::heap 2017-02-28 12:59:23 +01:00
sleep.h base: remove kernel-specific base/sleep.h 2016-03-07 12:34:44 +01:00
snprintf.h Revised API documentation 2015-04-09 16:04:46 +02:00
stdint.h Define Genode::size_t as unsigned long 2016-10-21 12:39:29 +02:00
synced_allocator.h safeguard the synchronized allocator template 2015-09-30 12:20:39 +02:00
synced_interface.h base: update include guards 2016-03-07 12:34:45 +01:00
thread_state_base.h base: changes for GDB monitor 2016-05-23 15:52:49 +02:00
thread_state.h hw: remove access_thread_regs syscall 2015-09-09 15:14:27 +02:00
thread.h base: add 'Thread::mystack() function 2016-07-11 12:06:05 +02:00
tslab.h base: hide slab implementation details from API 2016-04-25 10:47:56 +02:00
weak_ptr.h base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00