mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-29 18:18:54 +00:00
cfdbccc5c2
This is a redesign of the root and parent interfaces to eliminate blocking RPC calls. - New session representation at the parent (base/session_state.h) - base-internal root proxy mechanism as migration path - Redesign of base/service.h - Removes ancient 'Connection::KEEP_OPEN' feature - Interface change of 'Child', 'Child_policy', 'Slave', 'Slave_policy' - New 'Slave::Connection' - Changed child-construction procedure to be compatible with the non-blocking parent interface and to be easier to use - The child's initial LOG session, its binary ROM session, and the linker ROM session have become part of the child's envirenment. - Session upgrading must now be performed via 'env.upgrade' instead of performing a sole RPC call the parent. To make RAM upgrades easier, the 'Connection' provides a new 'upgrade_ram' method. Issue #2120 |
||
---|---|---|
.. | ||
spec | ||
base-common.inc | ||
base.inc | ||
component_entry_point.mk | ||
cxx.mk | ||
ldso-startup.mk | ||
ldso.inc | ||
platform.mk | ||
README | ||
startup.inc | ||
syscall.mk |
This directory contains library description files. Each '<libname>.mk' file holds the instruction for building the library '<libname>'. These makefiles are never used directly but they are called from the build system when required. When called, the build system passes the following variables: :'BASE_DIR': This is the base directory of the source tree. Source codes are specified by setting the 'SRC_CC' and 'SRC_C' variables. The source code locations must be specified via 'vpath'. A library can include other libraries by setting the 'LIBS' variable. Each '<libname>.mk' file must include the 'lib.mk' role file: ! include $(BASE_DIR)/mk/lib.mk Libraries implementing one and the same library interface may have specific implementations for different platforms. Such platform-specific '<libname>.mk' files should be placed into corresponding subdirectories. For example, the 'linux'-specific implementation of the 'server' library resides in the 'linux/' subdirectory. The build system automatically searches the right '<libname>.mk' file by evaluating the 'SPECS' configuration variable. If 'SPECS' is set to 'host linux', the build system will look into the directories './', './host', and './linux'.